diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/.classpath b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/.classpath new file mode 100644 index 00000000000..098194ca4b7 --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/.project b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/.project new file mode 100644 index 00000000000..d459ddf830f --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/.project @@ -0,0 +1,28 @@ + + + org.eclipse.cdt.dsf.gdb.tests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/.settings/org.eclipse.jdt.core.prefs b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..0cabaef07ca --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,70 @@ +#Tue Jun 24 11:05:41 PDT 2008 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.nullReference=error +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=error +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/META-INF/MANIFEST.MF b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..dddb050dffb --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/META-INF/MANIFEST.MF @@ -0,0 +1,8 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: DSF-GDB test fragment +Bundle-SymbolicName: org.eclipse.cdt.dsf.gdb.tests;singleton:=true +Bundle-Version: 1.0.0.qualifier +Fragment-Host: org.eclipse.cdt.dsf.gdb +Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Require-Bundle: org.junit;bundle-version="4.8.1" diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/about.html b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/about.html new file mode 100644 index 00000000000..04492dd7e1b --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/about.html @@ -0,0 +1,24 @@ + + + + +About +

About This Content

+ +

May 14, 2008

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ + \ No newline at end of file diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/build.properties b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/build.properties new file mode 100644 index 00000000000..35ddd66394f --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/build.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2014 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Alvaro Sanchez-Leon (Ericsson) - initial Version +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + about.html +src.includes = about.html diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/pom.xml b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/pom.xml new file mode 100644 index 00000000000..b53fd28768c --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + + org.eclipse.cdt + cdt-parent + 8.4.0-SNAPSHOT + ../../pom.xml + + + 1.0.0-SNAPSHOT + org.eclipse.cdt.dsf.gdb.tests + eclipse-test-plugin + + + + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + false + ${base.ui.test.vmargs} -ea -Xms256m -Xmx512m -XX:MaxPermSize=256M + + **/AllTests.* + + true + + + org.eclipse.platform.feature.group + 3.7.0 + p2-installable-unit + + + org.eclipse.cdt.feature.group + 8.2.0.${buildQualifier} + p2-installable-unit + + + + + + + diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/gdb/tests/AllTests.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/gdb/tests/AllTests.java new file mode 100644 index 00000000000..40a0737383c --- /dev/null +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/gdb/tests/AllTests.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2014 Ericsson AB and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Alvaro Sanchez-Leon (Ericsson) - Initial Implementation + *******************************************************************************/ +package org.eclipse.cdt.dsf.gdb.tests; + +import org.eclipse.cdt.dsf.mi.service.command.commands.TestMIBreakInsertCommand; +import org.eclipse.cdt.dsf.mi.service.command.commands.TestMICommandConstructCommand; +import org.eclipse.cdt.dsf.mi.service.command.output.MIStringHandlerTests; +import org.eclipse.cdt.dsf.mi.service.command.output.MIThreadTests; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; + +@RunWith(Suite.class) + +// Add additional test case classes below +@SuiteClasses({MIThreadTests.class, + TestMIBreakInsertCommand.class, + TestMICommandConstructCommand.class, + LaunchUtilsTest.class, + MIStringHandlerTests.class, + ProcStatParserTest.class +}) +public class AllTests { + // Often overriding BeforeClass method here +} diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/LaunchUtilsTest.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/gdb/tests/LaunchUtilsTest.java similarity index 93% rename from dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/LaunchUtilsTest.java rename to dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/gdb/tests/LaunchUtilsTest.java index 9330497c8e2..7b83d926f48 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/LaunchUtilsTest.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/gdb/tests/LaunchUtilsTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2013 Ericsson and others. + * Copyright (c) 2010, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,8 +7,9 @@ * * Contributors: * Marc-Andre Laperle - Added test for the gdb version string converter + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ -package org.eclipse.cdt.tests.dsf.gdb.tests; +package org.eclipse.cdt.dsf.gdb.tests; import static org.junit.Assert.assertEquals; diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/ProcStatParserTest.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/gdb/tests/ProcStatParserTest.java similarity index 98% rename from dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/ProcStatParserTest.java rename to dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/gdb/tests/ProcStatParserTest.java index acb6f85b1d4..c6e9c1b67c4 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/ProcStatParserTest.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/gdb/tests/ProcStatParserTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013 Ericsson + * Copyright (c) 2013, 2014 Ericsson * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,8 +7,9 @@ * * Contributors: * Marc Dumais (Ericsson) - Initial API and implementation (Bug 396268) + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ -package org.eclipse.cdt.tests.dsf.gdb.tests; +package org.eclipse.cdt.dsf.gdb.tests; import static org.junit.Assert.assertEquals; diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMIBreakInsertCommand.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMIBreakInsertCommand.java similarity index 85% rename from dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMIBreakInsertCommand.java rename to dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMIBreakInsertCommand.java index bfc57b3e299..4c6f1743243 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMIBreakInsertCommand.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMIBreakInsertCommand.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2012 Ericsson and others. + * Copyright (c) 2008, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Ericsson - Initial Implementation * Marc Khouzam (Ericsson) - Fix NPE (bug 369583) + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.dsf.mi.service.command.commands; @@ -16,9 +17,9 @@ import static org.junit.Assert.assertEquals; import org.eclipse.cdt.dsf.concurrent.DefaultDsfExecutor; import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext; +import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin; import org.eclipse.cdt.dsf.gdb.service.command.GDBControlDMContext; import org.eclipse.cdt.dsf.service.DsfSession; -import org.eclipse.cdt.tests.dsf.gdb.launching.TestsPlugin; import org.junit.Test; /** @@ -43,7 +44,7 @@ public class TestMIBreakInsertCommand { private DsfSession session = null; public TestContext() { - session = DsfSession.startSession(new DefaultDsfExecutor(TestsPlugin.PLUGIN_ID), TestsPlugin.PLUGIN_ID); + session = DsfSession.startSession(new DefaultDsfExecutor(GdbPlugin.PLUGIN_ID), GdbPlugin.PLUGIN_ID); } @Override diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMICommandConstructCommand.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMICommandConstructCommand.java similarity index 87% rename from dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMICommandConstructCommand.java rename to dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMICommandConstructCommand.java index 1d085f44105..32b9a77c9ca 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMICommandConstructCommand.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/commands/TestMICommandConstructCommand.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2012 Ericsson and others. + * Copyright (c) 2008, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Ericsson - Initial Implementation * Marc Khouzam (Ericsson) - Fix NPE (bug 369583) + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.dsf.mi.service.command.commands; @@ -16,11 +17,10 @@ import static org.junit.Assert.assertEquals; import org.eclipse.cdt.dsf.concurrent.DefaultDsfExecutor; import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext; +import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin; import org.eclipse.cdt.dsf.gdb.service.command.GDBControlDMContext; -import org.eclipse.cdt.dsf.mi.service.command.commands.MICommand; import org.eclipse.cdt.dsf.mi.service.command.output.MIInfo; import org.eclipse.cdt.dsf.service.DsfSession; -import org.eclipse.cdt.tests.dsf.gdb.launching.TestsPlugin; import org.junit.Test; /** @@ -56,7 +56,7 @@ public class TestMICommandConstructCommand { private DsfSession session = null; public TestContext() { - session = DsfSession.startSession(new DefaultDsfExecutor(TestsPlugin.PLUGIN_ID), TestsPlugin.PLUGIN_ID); + session = DsfSession.startSession(new DefaultDsfExecutor(GdbPlugin.PLUGIN_ID), GdbPlugin.PLUGIN_ID); } @Override diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIStringHandlerTests.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/output/MIStringHandlerTests.java similarity index 98% rename from dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIStringHandlerTests.java rename to dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/output/MIStringHandlerTests.java index af5671e970c..3e049d1ba37 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIStringHandlerTests.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/output/MIStringHandlerTests.java @@ -1,424 +1,425 @@ -/******************************************************************************* - * Copyright (c) 2012 Mathias Kunter and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mathias Kunter - Initial Implementation (Bug 307311) - *******************************************************************************/ -package org.eclipse.cdt.dsf.mi.service.command.output; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -import java.text.ParseException; - -import junit.framework.JUnit4TestAdapter; - -import org.junit.Test; - -public class MIStringHandlerTests { - @Test - public void testTranscodeString() { - // Test transcoding of an empty string. - assertEquals(MIStringHandler.transcodeString(""), ""); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test transcoding of an ASCII string. - assertEquals(MIStringHandler.transcodeString("ASCII"), "ASCII"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test transcoding of Latin-1 strings. - assertEquals(MIStringHandler.transcodeString("\344"), "\344"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.transcodeString("abc\344"), "abc\344"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.transcodeString("\344abc"), "\344abc"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.transcodeString("abc\344def"), "abc\344def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.transcodeString("abc\ndef\344ghi\tjkl"), "abc\ndef\344ghi\tjkl"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test transcoding of UTF-8 strings. - assertEquals(MIStringHandler.transcodeString("\303\244"), "\344"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.transcodeString("abc\303\244"), "abc\344"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.transcodeString("\303\244abc"), "\344abc"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.transcodeString("abc\303\244def"), "abc\344def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.transcodeString("abc\ndef\303\244ghi\tjkl"), "abc\ndef\344ghi\tjkl"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test transcoding of a string with unsupported encoding (here: UTF-16). - assertEquals(MIStringHandler.transcodeString("\u3090"), "\u3090"); //$NON-NLS-1$ //$NON-NLS-2$ - } - - @Test - public void testEscapeString() { - // Test escaping of an empty string. - assertEquals(MIStringHandler.escapeString(""), ""); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test escaping of a plain text string. - assertEquals(MIStringHandler.escapeString("abc"), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test escaping of strings which contain special chars. - assertEquals(MIStringHandler.escapeString("\n"), "\\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\n\b"), "\\n\\b"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17"), "\\0\\001\\002\\003\\004\\005\\006\\a\\b\\t\\n\\v\\f\\r\\016\\017"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\33"), "\\e"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\\", true), "\\\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\\", false), "\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("'\t\\", true), "\\'\\t\\\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("'\t\\", false), "'\\t\\"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test escaping of strings which contain non-printable characters up to 0x7F. - assertEquals(MIStringHandler.escapeString("\0"), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\177"), "\\177"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("abc\177"), "abc\\177"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\177abc"), "\\177abc"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("abc\177def"), "abc\\177def"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test escaping of strings which contain non-printable characters up to 0xFF. - assertEquals(MIStringHandler.escapeString("\230"), "\\230"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("abc\230"), "abc\\230"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\230abc"), "\\230abc"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("abc\230def"), "abc\\230def"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test escaping of strings which contain non-printable characters up to 0xFFFF. - assertEquals(MIStringHandler.escapeString("\ud800"), "\\ud800"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("abc\ud800"), "abc\\ud800"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\ud800abc"), "\\ud800abc"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("abc\ud800def"), "abc\\ud800def"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test escaping of strings which contain non-printable characters up to 0x10FFFF. - assertEquals(MIStringHandler.escapeString("\udbff\udfff"), "\\U0010ffff"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("abc\udbff\udfff"), "abc\\U0010ffff"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("\udbff\udfffabc"), "\\U0010ffffabc"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("abc\udbff\udfffdef"), "abc\\U0010ffffdef"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test escaping of a string which contains all sorts of non-printable characters. - assertEquals(MIStringHandler.escapeString("abc\n\tdef\\ghi\njkl\177\230\n\ud800\udbff\udfff?mno\"", true), "abc\\n\\tdef\\\\ghi\\njkl\\177\\230\\n\\ud800\\U0010ffff\\?mno\\\""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.escapeString("abc\n\tdef\\ghi\njkl\177\230\n\ud800\udbff\udfff?mno\"", false), "abc\\n\\tdef\\ghi\\njkl\\177\\230\\n\\ud800\\U0010ffff?mno\""); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test escaping of an ill-formed UTF-16 Java string. - assertEquals(MIStringHandler.escapeString("abc\udbff"), "abc\\udbff"); //$NON-NLS-1$ //$NON-NLS-2$ - } - - @Test - public void testIsSpecialChar() { - // Testing non-special chars. - assertEquals(MIStringHandler.isSpecialChar('i'), false); - assertEquals(MIStringHandler.isSpecialChar('w'), false); - - // Testing special chars. - assertEquals(MIStringHandler.isSpecialChar('a'), true); - assertEquals(MIStringHandler.isSpecialChar('b'), true); - assertEquals(MIStringHandler.isSpecialChar('e'), true); - assertEquals(MIStringHandler.isSpecialChar('E'), true); - assertEquals(MIStringHandler.isSpecialChar('f'), true); - assertEquals(MIStringHandler.isSpecialChar('n'), true); - assertEquals(MIStringHandler.isSpecialChar('r'), true); - assertEquals(MIStringHandler.isSpecialChar('t'), true); - assertEquals(MIStringHandler.isSpecialChar('v'), true); - assertEquals(MIStringHandler.isSpecialChar('\''), true); - assertEquals(MIStringHandler.isSpecialChar('"'), true); - assertEquals(MIStringHandler.isSpecialChar('\\'), true); - assertEquals(MIStringHandler.isSpecialChar('?'), true); - } - - @Test - public void testIsSpecialCodePoint() { - // Testing non-special Unicode code points. - assertEquals(MIStringHandler.isSpecialCodePoint(0x69), false); // 'i' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x77), false); // 'w' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x61), false); // 'a' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x6E), false); // 'n' character - - // Testing special Unicode code points. - assertEquals(MIStringHandler.isSpecialCodePoint(0x07), true); // 'a' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x08), true); // 'b' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x1B), true); // 'e' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x1B), true); // 'E' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x0C), true); // 'f' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x0A), true); // 'n' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x0D), true); // 'r' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x09), true); // 't' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x0B), true); // 'v' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x27), true); // '\'' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x22), true); // '"' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x5C), true); // '\\' character - assertEquals(MIStringHandler.isSpecialCodePoint(0x3F), true); // '?' character - } - - @Test - public void testParseSpecialChar() { - // Testing non-special chars. This actually should throw ParseExceptions. - try { - MIStringHandler.parseSpecialChar('i'); - fail("No parsing exception thrown."); - } catch (ParseException e) { - } - - try { - MIStringHandler.parseSpecialChar('w'); - fail("No parsing exception thrown."); - } catch (ParseException e) { - } - - try { - // Testing special chars. - assertEquals(MIStringHandler.parseSpecialChar('a'), 0x07); - assertEquals(MIStringHandler.parseSpecialChar('b'), 0x08); - assertEquals(MIStringHandler.parseSpecialChar('e'), 0x1B); - assertEquals(MIStringHandler.parseSpecialChar('E'), 0x1B); - assertEquals(MIStringHandler.parseSpecialChar('f'), 0x0C); - assertEquals(MIStringHandler.parseSpecialChar('n'), 0x0A); - assertEquals(MIStringHandler.parseSpecialChar('r'), 0x0D); - assertEquals(MIStringHandler.parseSpecialChar('t'), 0x09); - assertEquals(MIStringHandler.parseSpecialChar('v'), 0x0B); - assertEquals(MIStringHandler.parseSpecialChar('\''), 0x27); - assertEquals(MIStringHandler.parseSpecialChar('"'), 0x22); - assertEquals(MIStringHandler.parseSpecialChar('\\'), 0x5C); - assertEquals(MIStringHandler.parseSpecialChar('?'), 0x3F); - - } catch (ParseException e) { - fail("Parsing exception thrown."); //$NON-NLS-1$ - } - } - - @Test - public void testParseSpecialCodePoint() { - try { - // Testing non-special Unicode code points. This actually should throw ParseExceptions. - try { - MIStringHandler.parseSpecialCodePoint(0x69); - fail("No parsing exception thrown."); - } catch (ParseException e) { - } - - try { - MIStringHandler.parseSpecialCodePoint(0x77); - fail("No parsing exception thrown."); - } catch (ParseException e) { - } - - // Testing special Unicode code points. - assertEquals(MIStringHandler.parseSpecialCodePoint(0x07), 'a'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x08), 'b'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x1B), 'e'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x0C), 'f'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x0A), 'n'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x0D), 'r'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x09), 't'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x0B), 'v'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x27), '\''); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x22), '"'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x5C), '\\'); - assertEquals(MIStringHandler.parseSpecialCodePoint(0x3F), '?'); - - } catch (ParseException e) { - fail("Parsing exception thrown."); //$NON-NLS-1$ - } - } - - @Test - public void testParseString() { - // Test parsing of an empty string. - assertEquals(MIStringHandler.parseString(""), ""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString(""), ""); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of a plain text string. - assertEquals(MIStringHandler.parseString("abc"), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain valid special char escape notations. - assertEquals(MIStringHandler.parseString("\\n"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\\\"), "\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\'\\t\\\\"), "'\t\\"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain invalid special char escape notations. - assertEquals(MIStringHandler.parseString("\\w"), "\\w"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\"), "\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\"), "abc\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\www"), "\\www"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\www"), "abc\\www"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\'\\z\\\\"), "'\\z\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\'\\z\\"), "'\\z\\"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain valid octal escape notations. - assertEquals(MIStringHandler.parseString("\\141\\142\\143"), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\141\\142\\143\\0"), "abc\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\141\\142\\143\\12"), "abc\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\141\\\\142\\143\\\\"), "a\\142c\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\12"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\012"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("'\\011\\"), "'\t\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\177"), "\177"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\377"), "\377"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\3777"), "\3777"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\177"), "abc\177"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\177abc"), "\177abc"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\177def"), "abc\177def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\0"), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\1"), "\001"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\1a"), "\001a"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\18"), "\0018"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\01"), "\001"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\01a"), "\001a"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\001"), "\001"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\001a"), "\001a"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\0011"), "\0011"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\0011a"), "\0011a"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\1111"), "\1111"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain invalid octal escape notations. - assertEquals(MIStringHandler.parseString("\\400"), "\\400"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\4000"), "\\4000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\8"), "\\8"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\90"), "\\90"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\ 0"), "\\ 0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\141\\142\\143\\"), "abc\\"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain valid hexadecimal escape notations. - assertEquals(MIStringHandler.parseString("\\x0"), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\xa"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\xa0"), "\240"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\xag"), "\ng"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x0a"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x0a0"), "\240"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x0ag"), "\ng"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x00a"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x00a0"), "\240"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x00ag"), "\ng"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x000a"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x000a0"), "\n0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x000ag"), "\ng"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x0000a"), "\0a"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x0000a0"), "\0a0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x0000ag"), "\0ag"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\x20def"), "abc\u20def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\x20def\\xa"), "abc\u20def\n"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\x20ghi"), "abc ghi"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\x20ghi\\xa"), "abc ghi\n"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain invalid hexadecimal escape notations. - assertEquals(MIStringHandler.parseString("\\x"), "\\x"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\x"), "abc\\x"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\xwww"), "\\xwww"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x\\"), "\\x\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x 0"), "\\x 0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\x\\0"), "\\x\0"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain valid short Unicode escape notations. - assertEquals(MIStringHandler.parseString("\\u0000"), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u000f"), "\017"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u00ff"), "\377"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u0fff"), "\u0fff"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\uffff"), "\uffff"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain invalid short Unicode escape notations. - assertEquals(MIStringHandler.parseString("\\u"), "\\u"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\u"), "abc\\u"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\uwww"), "\\uwww"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u\\"), "\\u\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u 0"), "\\u 0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u\\0"), "\\u\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u0"), "\\u0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u00"), "\\u00"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u000"), "\\u000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\u000g"), "\\u000g"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\ug"), "\\ug"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain valid long Unicode escape notations. - assertEquals(MIStringHandler.parseString("\\U00000000"), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U0000000f"), "\017"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U000000ff"), "\377"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U00000fff"), "\u0fff"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U0000ffff"), "\uffff"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U000fffff"), "\udbbf\udfff"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U0010ffff"), "\udbff\udfff"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test parsing of strings which contain invalid long Unicode escape notations. - assertEquals(MIStringHandler.parseString("\\U"), "\\U"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("abc\\U"), "abc\\U"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\Uwww"), "\\Uwww"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U\\"), "\\U\\"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U 0"), "\\U 0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U\\0"), "\\U\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U0"), "\\U0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U00"), "\\U00"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U000"), "\\U000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U0000"), "\\U0000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U00000"), "\\U00000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U000000"), "\\U000000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U0000000"), "\\U0000000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U0000000g"), "\\U0000000g"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U00110000"), "\\U00110000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U00f00000"), "\\U00f00000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\U0f000000"), "\\U0f000000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\Uf0000000"), "\\Uf0000000"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\Uffffffff"), "\\Uffffffff"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\Ufffffff"), "\\Ufffffff"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.parseString("\\Ug"), "\\Ug"); //$NON-NLS-1$ //$NON-NLS-2$ - } - - @Test - public void testTranslateCString() { - // Test translating an empty string. - assertEquals(MIStringHandler.translateCString("", false), ""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("", true), ""); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test translating a plain text string. - assertEquals(MIStringHandler.translateCString("abc", false), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc", true), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test translating strings which contain special chars and / or escaped special chars. - assertEquals(MIStringHandler.translateCString("\t", true), "\\t"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\t", false), "\t"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\t", true), "\\t"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\t", false), "\t"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\t\\t", true), "\\t\\t"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\t\\t", false), "\t\t"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\t\t", true), "\\t\\t"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\t\t", false), "\t\t"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("'\"", true), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("'\"", false), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\'\\\"", true), "\\'\\\""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\'\\\"", false), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("'\\\"", true), "'\\\""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("'\\\"", false), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\'\"", true), "\\'\""); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\'\"", false), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test translating strings which contain hexadecimal escape notations. - assertEquals(MIStringHandler.translateCString("\\x0000", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\x0000", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\x31\\x32\\x33www", true), "abc123www"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\x0031\\x0032\\x0033www", true), "abc123www"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test translating strings which contain octal escape notations. - assertEquals(MIStringHandler.translateCString("\\000", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\000", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\0", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\0", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\222def", true), "abc\\222def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\222def", false), "abc\222def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\303def", true), "abc\303def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\303def", false), "abc\303def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\303\\244def", true), "abc\344def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\"def", true), "abc\"def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\"def", false), "abc\"def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc'def", true), "abc'def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc'def", false), "abc'def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\\"def", true), "abc\\\"def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\\"def", false), "abc\"def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\'def", true), "abc\\'def"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\'def", false), "abc'def"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test translating strings which contain short Unicode escape notations. - assertEquals(MIStringHandler.translateCString("\\u0000", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\u0000", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\u0031\\u0032\\u0033def", true), "abc123def"); //$NON-NLS-1$ //$NON-NLS-2$ - - // Test translating strings which contain long Unicode escape notations. - assertEquals(MIStringHandler.translateCString("\\U00000000", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("\\U00000000", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(MIStringHandler.translateCString("abc\\U00000031\\U00000032\\U00000033def", true), "abc123def"); //$NON-NLS-1$ //$NON-NLS-2$ - } - - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(MIStringHandlerTests.class); - } -} \ No newline at end of file +/******************************************************************************* + * Copyright (c) 2012, 2014 Mathias Kunter and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mathias Kunter - Initial Implementation (Bug 307311) + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair + *******************************************************************************/ +package org.eclipse.cdt.dsf.mi.service.command.output; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import java.text.ParseException; + +import junit.framework.JUnit4TestAdapter; + +import org.junit.Test; + +public class MIStringHandlerTests { + @Test + public void testTranscodeString() { + // Test transcoding of an empty string. + assertEquals(MIStringHandler.transcodeString(""), ""); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test transcoding of an ASCII string. + assertEquals(MIStringHandler.transcodeString("ASCII"), "ASCII"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test transcoding of Latin-1 strings. + assertEquals(MIStringHandler.transcodeString("\344"), "\344"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.transcodeString("abc\344"), "abc\344"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.transcodeString("\344abc"), "\344abc"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.transcodeString("abc\344def"), "abc\344def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.transcodeString("abc\ndef\344ghi\tjkl"), "abc\ndef\344ghi\tjkl"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test transcoding of UTF-8 strings. + assertEquals(MIStringHandler.transcodeString("\303\244"), "\344"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.transcodeString("abc\303\244"), "abc\344"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.transcodeString("\303\244abc"), "\344abc"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.transcodeString("abc\303\244def"), "abc\344def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.transcodeString("abc\ndef\303\244ghi\tjkl"), "abc\ndef\344ghi\tjkl"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test transcoding of a string with unsupported encoding (here: UTF-16). + assertEquals(MIStringHandler.transcodeString("\u3090"), "\u3090"); //$NON-NLS-1$ //$NON-NLS-2$ + } + + @Test + public void testEscapeString() { + // Test escaping of an empty string. + assertEquals(MIStringHandler.escapeString(""), ""); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test escaping of a plain text string. + assertEquals(MIStringHandler.escapeString("abc"), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test escaping of strings which contain special chars. + assertEquals(MIStringHandler.escapeString("\n"), "\\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\n\b"), "\\n\\b"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17"), "\\0\\001\\002\\003\\004\\005\\006\\a\\b\\t\\n\\v\\f\\r\\016\\017"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\33"), "\\e"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\\", true), "\\\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\\", false), "\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("'\t\\", true), "\\'\\t\\\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("'\t\\", false), "'\\t\\"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test escaping of strings which contain non-printable characters up to 0x7F. + assertEquals(MIStringHandler.escapeString("\0"), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\177"), "\\177"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("abc\177"), "abc\\177"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\177abc"), "\\177abc"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("abc\177def"), "abc\\177def"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test escaping of strings which contain non-printable characters up to 0xFF. + assertEquals(MIStringHandler.escapeString("\230"), "\\230"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("abc\230"), "abc\\230"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\230abc"), "\\230abc"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("abc\230def"), "abc\\230def"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test escaping of strings which contain non-printable characters up to 0xFFFF. + assertEquals(MIStringHandler.escapeString("\ud800"), "\\ud800"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("abc\ud800"), "abc\\ud800"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\ud800abc"), "\\ud800abc"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("abc\ud800def"), "abc\\ud800def"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test escaping of strings which contain non-printable characters up to 0x10FFFF. + assertEquals(MIStringHandler.escapeString("\udbff\udfff"), "\\U0010ffff"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("abc\udbff\udfff"), "abc\\U0010ffff"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("\udbff\udfffabc"), "\\U0010ffffabc"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("abc\udbff\udfffdef"), "abc\\U0010ffffdef"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test escaping of a string which contains all sorts of non-printable characters. + assertEquals(MIStringHandler.escapeString("abc\n\tdef\\ghi\njkl\177\230\n\ud800\udbff\udfff?mno\"", true), "abc\\n\\tdef\\\\ghi\\njkl\\177\\230\\n\\ud800\\U0010ffff\\?mno\\\""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.escapeString("abc\n\tdef\\ghi\njkl\177\230\n\ud800\udbff\udfff?mno\"", false), "abc\\n\\tdef\\ghi\\njkl\\177\\230\\n\\ud800\\U0010ffff?mno\""); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test escaping of an ill-formed UTF-16 Java string. + assertEquals(MIStringHandler.escapeString("abc\udbff"), "abc\\udbff"); //$NON-NLS-1$ //$NON-NLS-2$ + } + + @Test + public void testIsSpecialChar() { + // Testing non-special chars. + assertEquals(MIStringHandler.isSpecialChar('i'), false); + assertEquals(MIStringHandler.isSpecialChar('w'), false); + + // Testing special chars. + assertEquals(MIStringHandler.isSpecialChar('a'), true); + assertEquals(MIStringHandler.isSpecialChar('b'), true); + assertEquals(MIStringHandler.isSpecialChar('e'), true); + assertEquals(MIStringHandler.isSpecialChar('E'), true); + assertEquals(MIStringHandler.isSpecialChar('f'), true); + assertEquals(MIStringHandler.isSpecialChar('n'), true); + assertEquals(MIStringHandler.isSpecialChar('r'), true); + assertEquals(MIStringHandler.isSpecialChar('t'), true); + assertEquals(MIStringHandler.isSpecialChar('v'), true); + assertEquals(MIStringHandler.isSpecialChar('\''), true); + assertEquals(MIStringHandler.isSpecialChar('"'), true); + assertEquals(MIStringHandler.isSpecialChar('\\'), true); + assertEquals(MIStringHandler.isSpecialChar('?'), true); + } + + @Test + public void testIsSpecialCodePoint() { + // Testing non-special Unicode code points. + assertEquals(MIStringHandler.isSpecialCodePoint(0x69), false); // 'i' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x77), false); // 'w' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x61), false); // 'a' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x6E), false); // 'n' character + + // Testing special Unicode code points. + assertEquals(MIStringHandler.isSpecialCodePoint(0x07), true); // 'a' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x08), true); // 'b' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x1B), true); // 'e' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x1B), true); // 'E' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x0C), true); // 'f' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x0A), true); // 'n' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x0D), true); // 'r' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x09), true); // 't' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x0B), true); // 'v' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x27), true); // '\'' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x22), true); // '"' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x5C), true); // '\\' character + assertEquals(MIStringHandler.isSpecialCodePoint(0x3F), true); // '?' character + } + + @Test + public void testParseSpecialChar() { + // Testing non-special chars. This actually should throw ParseExceptions. + try { + MIStringHandler.parseSpecialChar('i'); + fail("No parsing exception thrown."); + } catch (ParseException e) { + } + + try { + MIStringHandler.parseSpecialChar('w'); + fail("No parsing exception thrown."); + } catch (ParseException e) { + } + + try { + // Testing special chars. + assertEquals(MIStringHandler.parseSpecialChar('a'), 0x07); + assertEquals(MIStringHandler.parseSpecialChar('b'), 0x08); + assertEquals(MIStringHandler.parseSpecialChar('e'), 0x1B); + assertEquals(MIStringHandler.parseSpecialChar('E'), 0x1B); + assertEquals(MIStringHandler.parseSpecialChar('f'), 0x0C); + assertEquals(MIStringHandler.parseSpecialChar('n'), 0x0A); + assertEquals(MIStringHandler.parseSpecialChar('r'), 0x0D); + assertEquals(MIStringHandler.parseSpecialChar('t'), 0x09); + assertEquals(MIStringHandler.parseSpecialChar('v'), 0x0B); + assertEquals(MIStringHandler.parseSpecialChar('\''), 0x27); + assertEquals(MIStringHandler.parseSpecialChar('"'), 0x22); + assertEquals(MIStringHandler.parseSpecialChar('\\'), 0x5C); + assertEquals(MIStringHandler.parseSpecialChar('?'), 0x3F); + + } catch (ParseException e) { + fail("Parsing exception thrown."); //$NON-NLS-1$ + } + } + + @Test + public void testParseSpecialCodePoint() { + try { + // Testing non-special Unicode code points. This actually should throw ParseExceptions. + try { + MIStringHandler.parseSpecialCodePoint(0x69); + fail("No parsing exception thrown."); + } catch (ParseException e) { + } + + try { + MIStringHandler.parseSpecialCodePoint(0x77); + fail("No parsing exception thrown."); + } catch (ParseException e) { + } + + // Testing special Unicode code points. + assertEquals(MIStringHandler.parseSpecialCodePoint(0x07), 'a'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x08), 'b'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x1B), 'e'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x0C), 'f'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x0A), 'n'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x0D), 'r'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x09), 't'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x0B), 'v'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x27), '\''); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x22), '"'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x5C), '\\'); + assertEquals(MIStringHandler.parseSpecialCodePoint(0x3F), '?'); + + } catch (ParseException e) { + fail("Parsing exception thrown."); //$NON-NLS-1$ + } + } + + @Test + public void testParseString() { + // Test parsing of an empty string. + assertEquals(MIStringHandler.parseString(""), ""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString(""), ""); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of a plain text string. + assertEquals(MIStringHandler.parseString("abc"), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain valid special char escape notations. + assertEquals(MIStringHandler.parseString("\\n"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\\\"), "\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\'\\t\\\\"), "'\t\\"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain invalid special char escape notations. + assertEquals(MIStringHandler.parseString("\\w"), "\\w"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\"), "\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\"), "abc\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\www"), "\\www"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\www"), "abc\\www"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\'\\z\\\\"), "'\\z\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\'\\z\\"), "'\\z\\"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain valid octal escape notations. + assertEquals(MIStringHandler.parseString("\\141\\142\\143"), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\141\\142\\143\\0"), "abc\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\141\\142\\143\\12"), "abc\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\141\\\\142\\143\\\\"), "a\\142c\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\12"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\012"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("'\\011\\"), "'\t\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\177"), "\177"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\377"), "\377"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\3777"), "\3777"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\177"), "abc\177"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\177abc"), "\177abc"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\177def"), "abc\177def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\0"), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\1"), "\001"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\1a"), "\001a"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\18"), "\0018"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\01"), "\001"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\01a"), "\001a"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\001"), "\001"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\001a"), "\001a"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\0011"), "\0011"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\0011a"), "\0011a"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\1111"), "\1111"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain invalid octal escape notations. + assertEquals(MIStringHandler.parseString("\\400"), "\\400"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\4000"), "\\4000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\8"), "\\8"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\90"), "\\90"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\ 0"), "\\ 0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\141\\142\\143\\"), "abc\\"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain valid hexadecimal escape notations. + assertEquals(MIStringHandler.parseString("\\x0"), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\xa"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\xa0"), "\240"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\xag"), "\ng"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x0a"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x0a0"), "\240"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x0ag"), "\ng"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x00a"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x00a0"), "\240"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x00ag"), "\ng"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x000a"), "\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x000a0"), "\n0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x000ag"), "\ng"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x0000a"), "\0a"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x0000a0"), "\0a0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x0000ag"), "\0ag"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\x20def"), "abc\u20def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\x20def\\xa"), "abc\u20def\n"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\x20ghi"), "abc ghi"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\x20ghi\\xa"), "abc ghi\n"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain invalid hexadecimal escape notations. + assertEquals(MIStringHandler.parseString("\\x"), "\\x"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\x"), "abc\\x"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\xwww"), "\\xwww"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x\\"), "\\x\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x 0"), "\\x 0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\x\\0"), "\\x\0"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain valid short Unicode escape notations. + assertEquals(MIStringHandler.parseString("\\u0000"), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u000f"), "\017"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u00ff"), "\377"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u0fff"), "\u0fff"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\uffff"), "\uffff"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain invalid short Unicode escape notations. + assertEquals(MIStringHandler.parseString("\\u"), "\\u"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\u"), "abc\\u"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\uwww"), "\\uwww"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u\\"), "\\u\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u 0"), "\\u 0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u\\0"), "\\u\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u0"), "\\u0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u00"), "\\u00"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u000"), "\\u000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\u000g"), "\\u000g"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\ug"), "\\ug"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain valid long Unicode escape notations. + assertEquals(MIStringHandler.parseString("\\U00000000"), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U0000000f"), "\017"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U000000ff"), "\377"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U00000fff"), "\u0fff"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U0000ffff"), "\uffff"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U000fffff"), "\udbbf\udfff"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U0010ffff"), "\udbff\udfff"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test parsing of strings which contain invalid long Unicode escape notations. + assertEquals(MIStringHandler.parseString("\\U"), "\\U"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("abc\\U"), "abc\\U"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\Uwww"), "\\Uwww"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U\\"), "\\U\\"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U 0"), "\\U 0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U\\0"), "\\U\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U0"), "\\U0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U00"), "\\U00"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U000"), "\\U000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U0000"), "\\U0000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U00000"), "\\U00000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U000000"), "\\U000000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U0000000"), "\\U0000000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U0000000g"), "\\U0000000g"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U00110000"), "\\U00110000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U00f00000"), "\\U00f00000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\U0f000000"), "\\U0f000000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\Uf0000000"), "\\Uf0000000"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\Uffffffff"), "\\Uffffffff"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\Ufffffff"), "\\Ufffffff"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.parseString("\\Ug"), "\\Ug"); //$NON-NLS-1$ //$NON-NLS-2$ + } + + @Test + public void testTranslateCString() { + // Test translating an empty string. + assertEquals(MIStringHandler.translateCString("", false), ""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("", true), ""); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test translating a plain text string. + assertEquals(MIStringHandler.translateCString("abc", false), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc", true), "abc"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test translating strings which contain special chars and / or escaped special chars. + assertEquals(MIStringHandler.translateCString("\t", true), "\\t"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\t", false), "\t"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\t", true), "\\t"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\t", false), "\t"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\t\\t", true), "\\t\\t"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\t\\t", false), "\t\t"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\t\t", true), "\\t\\t"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\t\t", false), "\t\t"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("'\"", true), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("'\"", false), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\'\\\"", true), "\\'\\\""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\'\\\"", false), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("'\\\"", true), "'\\\""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("'\\\"", false), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\'\"", true), "\\'\""); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\'\"", false), "'\""); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test translating strings which contain hexadecimal escape notations. + assertEquals(MIStringHandler.translateCString("\\x0000", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\x0000", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\x31\\x32\\x33www", true), "abc123www"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\x0031\\x0032\\x0033www", true), "abc123www"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test translating strings which contain octal escape notations. + assertEquals(MIStringHandler.translateCString("\\000", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\000", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\0", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\0", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\222def", true), "abc\\222def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\222def", false), "abc\222def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\303def", true), "abc\303def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\303def", false), "abc\303def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\303\\244def", true), "abc\344def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\"def", true), "abc\"def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\"def", false), "abc\"def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc'def", true), "abc'def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc'def", false), "abc'def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\\"def", true), "abc\\\"def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\\"def", false), "abc\"def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\'def", true), "abc\\'def"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\'def", false), "abc'def"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test translating strings which contain short Unicode escape notations. + assertEquals(MIStringHandler.translateCString("\\u0000", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\u0000", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\u0031\\u0032\\u0033def", true), "abc123def"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Test translating strings which contain long Unicode escape notations. + assertEquals(MIStringHandler.translateCString("\\U00000000", true), "\\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("\\U00000000", false), "\0"); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals(MIStringHandler.translateCString("abc\\U00000031\\U00000032\\U00000033def", true), "abc123def"); //$NON-NLS-1$ //$NON-NLS-2$ + } + + public static junit.framework.Test suite() { + return new JUnit4TestAdapter(MIStringHandlerTests.class); + } +} diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadTests.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadTests.java similarity index 53% rename from dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadTests.java rename to dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadTests.java index e057709132f..ff66145dc82 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadTests.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.tests/src/org/eclipse/cdt/dsf/mi/service/command/output/MIThreadTests.java @@ -1,3 +1,14 @@ +/******************************************************************************* + * Copyright (c) 2011, 2014 Freescale and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Freescale - Initial API and Implementation + * Alvaro Sanchez-Leon (Ericsson) - Moved from cdt.tests.dsf.gdb (Bug 437562) + *******************************************************************************/ package org.eclipse.cdt.dsf.mi.service.command.output; import static org.junit.Assert.assertEquals; diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/META-INF/MANIFEST.MF b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/META-INF/MANIFEST.MF index d2d11301404..2bffcff2df0 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/META-INF/MANIFEST.MF +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/META-INF/MANIFEST.MF @@ -3,6 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: GDB/MI reference application tests Bundle-SymbolicName: org.eclipse.cdt.tests.dsf.gdb;singleton:=true Bundle-Version: 2.2.0.qualifier +Bundle-Activator: org.eclipse.cdt.tests.dsf.gdb.launching.TestsPlugin Bundle-Vendor: Ericsson Require-Bundle: org.eclipse.core.runtime, org.eclipse.cdt.dsf, @@ -13,9 +14,25 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.swt, org.eclipse.cdt.launch;bundle-version="6.1.0", org.eclipse.cdt.visualizer.ui, - org.eclipse.cdt.gdb;bundle-version="7.0.0" + org.eclipse.cdt.gdb;bundle-version="7.0.0", + org.eclipse.cdt.dsf.gdb, + org.eclipse.core.variables Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Bundle-ClassPath: . -Fragment-Host: org.eclipse.cdt.dsf.gdb - +Export-Package: org.eclipse.cdt.dsf.mi.service;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.framework;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.launching;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_6;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_7;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_8;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_0;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_1;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_2;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_3;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_4;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_5;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_6;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_7;x-internal:=true, + org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_8;x-internal:=true diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/build.properties b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/build.properties index 90d7029058c..e28f1d2abea 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/build.properties +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2009 Wind River Systems and others. +# Copyright (c) 2009, 2014 Wind River Systems and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,8 +8,9 @@ # Contributors: # Wind River Systems - initial API and implementation # IBM Corporation +# Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair ############################################################################### -bin.includes = fragment.xml,\ +bin.includes = plugin.xml,\ META-INF/,\ .,\ data/,\ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/fragment.xml b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/plugin.xml similarity index 92% rename from dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/fragment.xml rename to dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/plugin.xml index 6b2ff607eab..ab74278057b 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/fragment.xml +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/plugin.xml @@ -1,6 +1,6 @@ - - + + - - \ No newline at end of file + \ No newline at end of file diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/commands/Suite_Sessionless_Tests.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/commands/Suite_Sessionless_Tests.java deleted file mode 100644 index 3039dee5b4e..00000000000 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/commands/Suite_Sessionless_Tests.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2012 Ericsson and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Ericsson - Initial Implementation - * Marc Dumais (Ericsson) - Initial API and implementation (Bug 396268) - *******************************************************************************/ -package org.eclipse.cdt.dsf.mi.service.command.commands; - -import org.eclipse.cdt.dsf.mi.service.command.output.MIStringHandlerTests; -import org.eclipse.cdt.dsf.mi.service.command.output.MIThreadTests; -import org.eclipse.cdt.tests.dsf.gdb.framework.OnceOnlySuite; -import org.eclipse.cdt.tests.dsf.gdb.tests.LaunchUtilsTest; -import org.eclipse.cdt.tests.dsf.gdb.tests.ProcStatParserTest; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -/** - * This suite executes all test classes that don't involve a debug session. As - * such, these tests need to run just once, and not once for each GDB version we - * support, not to mention remote vs local. We avoid lots of redundant runs by - * running these tests with our special runner (OnceOnlySuite) - */ -@RunWith(OnceOnlySuite.class) -@Suite.SuiteClasses({ - TestMIBreakInsertCommand.class, - TestMICommandConstructCommand.class, - MIThreadTests.class, - LaunchUtilsTest.class, - MIStringHandlerTests.class, - ProcStatParserTest.class - /* Add your test class here */ - }) -public class Suite_Sessionless_Tests { - // This class is meant to be empty. It enables us to define the annotations - // which list all the different JUnit class we want to run. When creating a - // new test class, it should be added to the list above. -} diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/framework/BackgroundRunner.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/framework/BackgroundRunner.java index 3ba58c112b1..ddda99c51cd 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/framework/BackgroundRunner.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/framework/BackgroundRunner.java @@ -1,16 +1,17 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 Ericsson and others. + * Copyright (c) 2007, 2014 Ericsson AB and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Ericsson - Initial Implementation + * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.framework; -import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin; +import org.eclipse.cdt.tests.dsf.gdb.launching.TestsPlugin; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.QualifiedName; @@ -31,7 +32,7 @@ public class BackgroundRunner extends BlockJUnit4ClassRunner { super(klass); } - final static QualifiedName BACKGROUND_TEST_EXECUTION_FINISHED = new QualifiedName(GdbPlugin.getDefault().getBundle().getSymbolicName(), "background_test_execution_finished"); //$NON-NLS-1$ + final static QualifiedName BACKGROUND_TEST_EXECUTION_FINISHED = new QualifiedName(TestsPlugin.getDefault().getBundle().getSymbolicName(), "background_test_execution_finished"); //$NON-NLS-1$ void invokeSuperRunImpl(RunNotifier notifier) { super.run(notifier); diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/framework/SyncUtil.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/framework/SyncUtil.java index e78d4156405..2d1e7a34c9a 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/framework/SyncUtil.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/framework/SyncUtil.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2013 Ericsson and others. + * Copyright (c) 2007, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,9 +7,13 @@ * * Contributors: * Ericsson AB - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.framework; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.util.ArrayList; @@ -19,10 +23,6 @@ import java.util.Map; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertEquals; - import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor; @@ -47,7 +47,6 @@ import org.eclipse.cdt.dsf.debug.service.IStack.IFrameDMContext; import org.eclipse.cdt.dsf.debug.service.IStack.IFrameDMData; import org.eclipse.cdt.dsf.debug.service.IStack.IVariableDMContext; import org.eclipse.cdt.dsf.debug.service.IStack.IVariableDMData; -import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin; import org.eclipse.cdt.dsf.gdb.launching.GdbLaunch; import org.eclipse.cdt.dsf.gdb.service.IGDBProcesses; import org.eclipse.cdt.dsf.gdb.service.command.IGDBControl; @@ -572,12 +571,12 @@ public class SyncUtil { try { value = Integer.valueOf(value); if (value < 0) { - TestsPlugin.log(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, "\"" + propname + "\" property incorrectly specified. Should be an integer value or not specified at all.")); //$NON-NLS-1$ + TestsPlugin.log(new Status(IStatus.ERROR, TestsPlugin.getUniqueIdentifier(), "\"" + propname + "\" property incorrectly specified. Should be an integer value or not specified at all.")); //$NON-NLS-1$ value = -1; } } catch (NumberFormatException exc) { - TestsPlugin.log(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, "\"" + propname + "\" property incorrectly specified. Should be an integer value or not specified at all.")); //$NON-NLS-1$ + TestsPlugin.log(new Status(IStatus.ERROR, TestsPlugin.getUniqueIdentifier(), "\"" + propname + "\" property incorrectly specified. Should be an integer value or not specified at all.")); //$NON-NLS-1$ value = -1; } } diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/launching/TestsPlugin.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/launching/TestsPlugin.java index d440d77d7a5..c1cc93c1f07 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/launching/TestsPlugin.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/launching/TestsPlugin.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2010 Wind River Systems and others. + * Copyright (c) 2007, 2014 Wind River Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,30 +7,31 @@ * * Contributors: * Wind River Systems - initial API and implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.launching; import java.util.MissingResourceException; import java.util.ResourceBundle; -import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Plugin; import org.eclipse.core.runtime.Status; import org.osgi.framework.BundleContext; -/** - * This is no longer an activator class since this is no longer a plug-in. It's - * a fragment. - */ -public class TestsPlugin { - private ResourceBundle resourceBundle; - /** - * We're no longer a plug-in, but a fragment. Make this field an alias - * to our host plugin's ID. - */ - public static final String PLUGIN_ID = GdbPlugin.PLUGIN_ID; +/** + * The main plugin class + */ +public class TestsPlugin extends Plugin { + //The shared instance. + private static TestsPlugin plugin; + //Resource bundle. + private ResourceBundle resourceBundle; + private static BundleContext bundleContext; + + public static final String PLUGIN_ID = "org.eclipse.cdt.tests.dsf.gdb"; //$NON-NLS-1$ /** Base tracing option for this plugin */ public static final boolean DEBUG = "true".equals(Platform.getDebugOption("org.eclipse.cdt.tests.dsf.gdb/debug")); //$NON-NLS-1$//$NON-NLS-2$ @@ -40,6 +41,7 @@ public class TestsPlugin { */ public TestsPlugin() { super(); + plugin = this; try { resourceBundle = ResourceBundle.getBundle("org.eclipse.cdt.tests.dsf.gdb.TestsPluginResources"); //$NON-NLS-1$ } @@ -48,29 +50,56 @@ public class TestsPlugin { } } - /** - * Returns this fragment's resource bundle, - */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + bundleContext = context; + } + /** + * This method is called when the plug-in is stopped + */ + @Override + public void stop(BundleContext context) throws Exception { + super.stop(context); + } + /** + * Returns the shared instance. + */ + public static TestsPlugin getDefault() { + return plugin; + } + + /** + * Returns the plugin's resource bundle, + */ public ResourceBundle getResourceBundle() { return resourceBundle; - } + } + /** - * Returns the host plug-in's bundle context, + * Returns the plugin's bundle context, */ public static BundleContext getBundleContext() { - return GdbPlugin.getBundleContext(); - } + return bundleContext; + } /** - * Logs the specified status with this host plug-in's log. + * Logs the specified status with this plug-in's log. * * @param status * status to log */ public static void log(IStatus status) { - GdbPlugin.getDefault().getLog().log(status); + getDefault().getLog().log(status); } + /** + * Convenience method which returns the unique identifier of this plugin. + */ + public static String getUniqueIdentifier() { + return getDefault().getBundle().getSymbolicName(); + } + /** * Logs an internal error with the specified throwable * @@ -78,9 +107,10 @@ public class TestsPlugin { * the exception to be logged */ public static void log( Throwable e ) { - log(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, "Internal Error", e)); //$NON-NLS-1$ + log(new Status(IStatus.ERROR, getUniqueIdentifier(), "Internal Error", e)); //$NON-NLS-1$ } + /** * Tests should use this utility when specifying a timeout value for a wait * operation. This method checks for the existence of the property @@ -105,7 +135,7 @@ public class TestsPlugin { return (int)(timeoutMs * multiplier); } catch (NumberFormatException exc) { - log(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, "\"dsf.gdb.tests.timeout.multiplier\" property incorrectly specified. Should be a float value (e.g., \"1.5\") or not specified at all.")); //$NON-NLS-1$ + log(new Status(IStatus.ERROR, getUniqueIdentifier(), "\"dsf.gdb.tests.timeout.multiplier\" property incorrectly specified. Should be a float value (e.g., \"1.5\") or not specified at all.")); //$NON-NLS-1$ return timeoutMs; } } diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_6/Suite_6_6.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_6/Suite_6_6.java index 8406f9c8c5b..982a458a2d3 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_6/Suite_6_6.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_6/Suite_6_6.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Ericsson and others. + * Copyright (c) 2009, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_6; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -42,7 +42,6 @@ import org.junit.runners.Suite; LaunchConfigurationAndRestartTest_6_6.class, OperationsWhileTargetIsRunningTest_6_6.class, PostMortemCoreTest_6_6.class, - Suite_Sessionless_Tests.class, CommandTimeoutTest_6_6.class, StepIntoSelectionTest_6_6.class, /* Add your test class here */ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_6/Suite_Remote_6_6.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_6/Suite_Remote_6_6.java index 56874456acf..b62f36130a1 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_6/Suite_Remote_6_6.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_6/Suite_Remote_6_6.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Ericsson and others. + * Copyright (c) 2009, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_6; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -42,7 +42,6 @@ import org.junit.runners.Suite; GDBProcessesTest_6_6.class, OperationsWhileTargetIsRunningTest_6_6.class, CommandTimeoutTest_6_6.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_6_6.class, /* Add your test class here */ }) diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_7/Suite_6_7.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_7/Suite_6_7.java index 2c35a548598..9e0f9de2188 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_7/Suite_6_7.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_7/Suite_6_7.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Ericsson and others. + * Copyright (c) 2009, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_7; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -43,7 +43,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningTest_6_7.class, PostMortemCoreTest_6_7.class, CommandTimeoutTest_6_7.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_6_7.class, /* Add your test class here */ }) diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_7/Suite_Remote_6_7.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_7/Suite_Remote_6_7.java index 275ae32cb84..59e55cad8bd 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_7/Suite_Remote_6_7.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_7/Suite_Remote_6_7.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Ericsson and others. + * Copyright (c) 2009, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_7; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -42,7 +42,6 @@ import org.junit.runners.Suite; GDBProcessesTest_6_7.class, OperationsWhileTargetIsRunningTest_6_7.class, CommandTimeoutTest_6_7.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_6_7.class, /* Add your test class here */ }) diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_8/Suite_6_8.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_8/Suite_6_8.java index 93330c6a4b9..2ef681b33d5 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_8/Suite_6_8.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_8/Suite_6_8.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Ericsson and others. + * Copyright (c) 2009, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_8; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -43,7 +43,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningTest_6_8.class, PostMortemCoreTest_6_8.class, CommandTimeoutTest_6_8.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_6_8.class, /* Add your test class here */ }) diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_8/Suite_Remote_6_8.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_8/Suite_Remote_6_8.java index 2f03505b502..1217a3e422a 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_8/Suite_Remote_6_8.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_6_8/Suite_Remote_6_8.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Ericsson and others. + * Copyright (c) 2009, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_8; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -42,7 +42,6 @@ import org.junit.runners.Suite; GDBProcessesTest_6_8.class, OperationsWhileTargetIsRunningTest_6_8.class, CommandTimeoutTest_6_8.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_6_8.class, /* Add your test class here */ }) diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_0/Suite_7_0.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_0/Suite_7_0.java index c9bf8ed11c3..98d6800a10b 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_0/Suite_7_0.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_0/Suite_7_0.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2013 Ericsson and others. + * Copyright (c) 2009, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_0; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; PostMortemCoreTest_7_0.class, CommandTimeoutTest_7_0.class, GDBMultiNonStopRunControlTest_7_0.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_7_0.class, StepIntoSelectionNonStopTest_7_0.class, /* Add your test class here */ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_0/Suite_Remote_7_0.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_0/Suite_Remote_7_0.java index 93f08120b5e..f47884f8aaa 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_0/Suite_Remote_7_0.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_0/Suite_Remote_7_0.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Ericsson and others. + * Copyright (c) 2009, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_0; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningNonStopTest_7_0.class, CommandTimeoutTest_7_0.class, GDBMultiNonStopRunControlTest_7_0.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_7_0.class, StepIntoSelectionNonStopTest_7_0.class, /* Add your test class here */ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_1/Suite_7_1.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_1/Suite_7_1.java index db30b990adc..e0fb23bbcf4 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_1/Suite_7_1.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_1/Suite_7_1.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Ericsson and others. + * Copyright (c) 2010, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_1; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; PostMortemCoreTest_7_1.class, CommandTimeoutTest_7_1.class, GDBMultiNonStopRunControlTest_7_1.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_7_1.class, StepIntoSelectionNonStopTest_7_1.class, /* Add your test class here */ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_1/Suite_Remote_7_1.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_1/Suite_Remote_7_1.java index 1da110ef91b..b0903ce450f 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_1/Suite_Remote_7_1.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_1/Suite_Remote_7_1.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Ericsson and others. + * Copyright (c) 2010, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_1; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningNonStopTest_7_1.class, CommandTimeoutTest_7_1.class, GDBMultiNonStopRunControlTest_7_1.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_7_1.class, StepIntoSelectionNonStopTest_7_1.class, /* Add your test class here */ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_2/Suite_7_2.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_2/Suite_7_2.java index b2491ccd6ff..3b27630614b 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_2/Suite_7_2.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_2/Suite_7_2.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Ericsson and others. + * Copyright (c) 2010, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_2; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; PostMortemCoreTest_7_2.class, CommandTimeoutTest_7_2.class, GDBMultiNonStopRunControlTest_7_2.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_7_2.class, StepIntoSelectionNonStopTest_7_2.class, /* Add your test class here */ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_2/Suite_Remote_7_2.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_2/Suite_Remote_7_2.java index 1bf526a474f..0e4eb648400 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_2/Suite_Remote_7_2.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_2/Suite_Remote_7_2.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Ericsson and others. + * Copyright (c) 2010, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_2; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningNonStopTest_7_2.class, CommandTimeoutTest_7_2.class, GDBMultiNonStopRunControlTest_7_2.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_7_2.class, StepIntoSelectionNonStopTest_7_2.class, /* Add your test class here */ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_3/Suite_7_3.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_3/Suite_7_3.java index 7faf5c1d067..1f8e58da37d 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_3/Suite_7_3.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_3/Suite_7_3.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Ericsson and others. + * Copyright (c) 2011, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_3; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; PostMortemCoreTest_7_3.class, CommandTimeoutTest_7_3.class, GDBMultiNonStopRunControlTest_7_3.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_7_3.class, StepIntoSelectionNonStopTest_7_3.class, /* Add your test class here */ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_3/Suite_Remote_7_3.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_3/Suite_Remote_7_3.java index cb1177cf235..88fff0d46f9 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_3/Suite_Remote_7_3.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_3/Suite_Remote_7_3.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Ericsson and others. + * Copyright (c) 2011, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Ericsson - Initial Implementation + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_3; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningNonStopTest_7_3.class, CommandTimeoutTest_7_3.class, GDBMultiNonStopRunControlTest_7_3.class, - Suite_Sessionless_Tests.class, StepIntoSelectionTest_7_3.class, StepIntoSelectionNonStopTest_7_3.class, /* Add your test class here */ diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_4/Suite_7_4.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_4/Suite_7_4.java index 5002ef86f52..09b6aabf2b8 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_4/Suite_7_4.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_4/Suite_7_4.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Ericsson and others. + * Copyright (c) 2012, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_4; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; PostMortemCoreTest_7_4.class, CommandTimeoutTest_7_4.class, GDBMultiNonStopRunControlTest_7_4.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_4.class, StepIntoSelectionTest_7_4.class, StepIntoSelectionNonStopTest_7_4.class, diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_4/Suite_Remote_7_4.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_4/Suite_Remote_7_4.java index e885b76fe2e..24cbdf24005 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_4/Suite_Remote_7_4.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_4/Suite_Remote_7_4.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Ericsson and others. + * Copyright (c) 2012, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_4; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningNonStopTest_7_4.class, CommandTimeoutTest_7_4.class, GDBMultiNonStopRunControlTest_7_4.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_4.class, TraceFileTest_7_4.class, StepIntoSelectionTest_7_4.class, diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_5/Suite_7_5.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_5/Suite_7_5.java index 3cdc90a73aa..62aa6e6250f 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_5/Suite_7_5.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_5/Suite_7_5.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Ericsson and others. + * Copyright (c) 2012, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_5; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningNonStopTest_7_5.class, PostMortemCoreTest_7_5.class, CommandTimeoutTest_7_5.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_5.class, StepIntoSelectionTest_7_5.class, StepIntoSelectionNonStopTest_7_5.class, diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_5/Suite_Remote_7_5.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_5/Suite_Remote_7_5.java index 2b89197d947..ec7199abe83 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_5/Suite_Remote_7_5.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_5/Suite_Remote_7_5.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Ericsson and others. + * Copyright (c) 2012, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_5; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningNonStopTest_7_5.class, CommandTimeoutTest_7_5.class, GDBMultiNonStopRunControlTest_7_5.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_5.class, TraceFileTest_7_5.class, StepIntoSelectionTest_7_5.class, diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_6/Suite_7_6.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_6/Suite_7_6.java index fa35a9d0617..f7ef6168484 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_6/Suite_7_6.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_6/Suite_7_6.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Ericsson and others. + * Copyright (c) 2012, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_6; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; PostMortemCoreTest_7_6.class, CommandTimeoutTest_7_6.class, GDBMultiNonStopRunControlTest_7_6.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_6.class, GDBConsoleSynchronizingTest_7_6.class, StepIntoSelectionTest_7_6.class, diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_6/Suite_Remote_7_6.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_6/Suite_Remote_7_6.java index b4fe72b55a9..21e2c5d3eaa 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_6/Suite_Remote_7_6.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_6/Suite_Remote_7_6.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Ericsson and others. + * Copyright (c) 2012, 2014 Ericsson and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_6; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningTest_7_6.class, OperationsWhileTargetIsRunningNonStopTest_7_6.class, CommandTimeoutTest_7_6.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_6.class, TraceFileTest_7_6.class, GDBConsoleSynchronizingTest_7_6.class, diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_7/Suite_7_7.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_7/Suite_7_7.java index 7b358b79a70..cebe1589669 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_7/Suite_7_7.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_7/Suite_7_7.java @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_7; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; PostMortemCoreTest_7_7.class, CommandTimeoutTest_7_7.class, GDBMultiNonStopRunControlTest_7_7.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_7.class, GDBConsoleSynchronizingTest_7_7.class, StepIntoSelectionTest_7_7.class, diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_7/Suite_Remote_7_7.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_7/Suite_Remote_7_7.java index 1c7dcb78999..e1cd745f5fe 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_7/Suite_Remote_7_7.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_7/Suite_Remote_7_7.java @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_7; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningTest_7_7.class, OperationsWhileTargetIsRunningNonStopTest_7_7.class, CommandTimeoutTest_7_7.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_7.class, TraceFileTest_7_7.class, GDBConsoleSynchronizingTest_7_7.class, diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_8/Suite_7_8.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_8/Suite_7_8.java index 440a6480724..d02da3ff233 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_8/Suite_7_8.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_8/Suite_7_8.java @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_8; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; import org.junit.BeforeClass; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; PostMortemCoreTest_7_8.class, CommandTimeoutTest_7_8.class, GDBMultiNonStopRunControlTest_7_8.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_8.class, GDBConsoleSynchronizingTest_7_8.class, StepIntoSelectionTest_7_8.class, diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_8/Suite_Remote_7_8.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_8/Suite_Remote_7_8.java index 1551c4c00a1..24a8ce98c5c 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_8/Suite_Remote_7_8.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/tests_7_8/Suite_Remote_7_8.java @@ -7,10 +7,10 @@ * * Contributors: * Marc Khouzam (Ericsson) - Initial implementation of Test cases + * Alvaro Sanchez-Leon (Ericsson) - Bug 437562 - Split the dsf-gdb tests to a plug-in and fragment pair *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_8; -import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite; import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase; import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants; @@ -46,7 +46,6 @@ import org.junit.runners.Suite; OperationsWhileTargetIsRunningTest_7_8.class, OperationsWhileTargetIsRunningNonStopTest_7_8.class, CommandTimeoutTest_7_8.class, - Suite_Sessionless_Tests.class, GDBConsoleBreakpointsTest_7_8.class, TraceFileTest_7_8.class, GDBConsoleSynchronizingTest_7_8.class, diff --git a/pom.xml b/pom.xml index 0e481fa01b6..fdd62b14b94 100644 --- a/pom.xml +++ b/pom.xml @@ -172,6 +172,7 @@ build/org.eclipse.cdt.managedbuilder.ui.tests build/org.eclipse.cdt.make.core.tests build/org.eclipse.cdt.make.ui.tests + dsf-gdb/org.eclipse.cdt.dsf.gdb.tests dsf-gdb/org.eclipse.cdt.tests.dsf.gdb build/org.eclipse.cdt.autotools.core