diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java index 361237e7eee..59ea9f9bf94 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java @@ -2986,7 +2986,7 @@ c, quickParse); } catch (EndOfFile e) { throw e; } catch (ScannerException e) { - e.printStackTrace(); +// e.printStackTrace(); return fetchToken(); } } diff --git a/core/org.eclipse.cdt.ui.tests/ChangeLog b/core/org.eclipse.cdt.ui.tests/ChangeLog index d7baec39b3f..b84c6a77f02 100644 --- a/core/org.eclipse.cdt.ui.tests/ChangeLog +++ b/core/org.eclipse.cdt.ui.tests/ChangeLog @@ -1,3 +1,7 @@ +2003-06-10 Brent Nicolle + Added some Interface tests of (IInclude, IMacro, IStructure). + Made sure all the Test Suites have names in the JUnit hierarchy. + 2003-06-09 Victor Mozgin Moved testBug36769() from ACEFailedTest.java to DOMTests.java. Removed ACEFailedTest.java as it is empty now. diff --git a/core/org.eclipse.cdt.ui.tests/build/org/eclipse/cdt/core/build/managed/tests/AllBuildTests.java b/core/org.eclipse.cdt.ui.tests/build/org/eclipse/cdt/core/build/managed/tests/AllBuildTests.java index 3a81a4f9a35..21b46572e36 100644 --- a/core/org.eclipse.cdt.ui.tests/build/org/eclipse/cdt/core/build/managed/tests/AllBuildTests.java +++ b/core/org.eclipse.cdt.ui.tests/build/org/eclipse/cdt/core/build/managed/tests/AllBuildTests.java @@ -50,7 +50,7 @@ public class AllBuildTests extends TestCase { } public static Test suite() { - TestSuite suite = new TestSuite(); + TestSuite suite = new TestSuite(AllBuildTests.class.getName()); suite.addTest(new AllBuildTests("testExtensions")); suite.addTest(new AllBuildTests("testProject")); diff --git a/core/org.eclipse.cdt.ui.tests/failures/org/eclipse/cdt/core/model/failedTests/CModelElementsFailedTests.java b/core/org.eclipse.cdt.ui.tests/failures/org/eclipse/cdt/core/model/failedTests/CModelElementsFailedTests.java index ad3e08fc330..224881a83a2 100644 --- a/core/org.eclipse.cdt.ui.tests/failures/org/eclipse/cdt/core/model/failedTests/CModelElementsFailedTests.java +++ b/core/org.eclipse.cdt.ui.tests/failures/org/eclipse/cdt/core/model/failedTests/CModelElementsFailedTests.java @@ -49,7 +49,7 @@ public class CModelElementsFailedTests extends TestCase { private NullProgressMonitor monitor; public static Test suite() { - TestSuite suite= new TestSuite(); + TestSuite suite= new TestSuite(CModelElementsFailedTests.class.getName()); suite.addTest(new CModelElementsFailedTests("testBug36379")); return suite; } diff --git a/core/org.eclipse.cdt.ui.tests/model/org.eclipse.cdt.core.model.tests.resources/IIncludeTest.h b/core/org.eclipse.cdt.ui.tests/model/org.eclipse.cdt.core.model.tests.resources/IIncludeTest.h new file mode 100644 index 00000000000..7083fa8d77d --- /dev/null +++ b/core/org.eclipse.cdt.ui.tests/model/org.eclipse.cdt.core.model.tests.resources/IIncludeTest.h @@ -0,0 +1,42 @@ +// include +#include +#include "whatever.h" +#include +#include +#include "Program Files/space.h" +#include "../up1dir.h" +#include "./samedir.h" +#include "different_extension1.hpp" +#include "different_extension2.hh" +#include "different_extension3.x" +#include +# include "whitespace_after_hash" + #include "whitespace_before_hash" + +// failure cases: +#include garbage +#include "resync_after_bad_parse_1" +#include +#include "resync_after_bad_parse_2" +#include "one" "two" "three" +#include "resync_after_bad_parse_3" + +// from the Spec: + +// from [C, 6.10.p8] +// should fail +#define EMPTY +EMPTY #include "invalid.h" + +// from [C, 6.10.2.p8]: +// should equal #include "myInclude1.h" +#define MYINCFILE "myInclude1.h" +#include MYINCFILE + +// from [C, 6.10.3.5.p6]: +// should equal #include "vers2.h" +#define INCFILE(x) vers ## x +#define xstr(x) str(x) +#define str(x) #x +#include xstr(INCFILE(2)).h + diff --git a/core/org.eclipse.cdt.ui.tests/model/org.eclipse.cdt.core.model.tests.resources/IMacroTest.h b/core/org.eclipse.cdt.ui.tests/model/org.eclipse.cdt.core.model.tests.resources/IMacroTest.h new file mode 100644 index 00000000000..a5bf320efab --- /dev/null +++ b/core/org.eclipse.cdt.ui.tests/model/org.eclipse.cdt.core.model.tests.resources/IMacroTest.h @@ -0,0 +1,4 @@ +// macro +#define SINGLETON +#define NUMBER 1 +#define PRINT(string,msg) printf(string, msg) diff --git a/core/org.eclipse.cdt.ui.tests/model/org.eclipse.cdt.core.model.tests.resources/IStructure.c b/core/org.eclipse.cdt.ui.tests/model/org.eclipse.cdt.core.model.tests.resources/IStructure.c new file mode 100644 index 00000000000..47b76757194 --- /dev/null +++ b/core/org.eclipse.cdt.ui.tests/model/org.eclipse.cdt.core.model.tests.resources/IStructure.c @@ -0,0 +1,4 @@ +// IStructure +struct foo { + int bar; +}; diff --git a/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/AllCoreTests.java b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/AllCoreTests.java index eddf8c0493d..6d536c6355c 100644 --- a/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/AllCoreTests.java +++ b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/AllCoreTests.java @@ -25,16 +25,17 @@ public class AllCoreTests { } public static Test suite() { - TestSuite suite = new TestSuite(); + TestSuite suite = new TestSuite(AllCoreTests.class.getName()); // Just add more test cases here as you create them for // each class being tested - + suite.addTest(AllLanguageInterfaceTests.suite()); suite.addTest(CModelTests.suite()); suite.addTest(CModelExceptionTest.suite()); suite.addTest(FlagTests.suite()); suite.addTest(ArchiveTests.suite()); suite.addTest(TranslationUnitTests.suite()); + return suite; } diff --git a/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/AllLanguageInterfaceTests.java b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/AllLanguageInterfaceTests.java new file mode 100644 index 00000000000..e7e5274bdf3 --- /dev/null +++ b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/AllLanguageInterfaceTests.java @@ -0,0 +1,35 @@ +/* + * Created on Jun 9, 2003 + * by bnicolle + */ +package org.eclipse.cdt.core.model.tests; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * LanguageInterfaceTests + * lists all parts of the C/C++ language interface objects + * to be tested. + * @author bnicolle + * + */ +public class AllLanguageInterfaceTests { + + /** + * + */ + public static Test suite() { + TestSuite suite = new TestSuite(AllLanguageInterfaceTests.class.getName()); + + // Just add more test cases here as you create them for + // each class being tested + + suite.addTest(IIncludeTests.suite()); + suite.addTest(IMacroTests.suite()); + suite.addTest(IStructureTests.suite()); + return suite; + + } + +} diff --git a/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/CModelElementsTests.java b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/CModelElementsTests.java index 19c59feb808..5ea0fbc47aa 100644 --- a/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/CModelElementsTests.java +++ b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/CModelElementsTests.java @@ -59,7 +59,7 @@ public class CModelElementsTests extends TestCase { private NullProgressMonitor monitor; public static Test suite() { - TestSuite suite= new TestSuite(); + TestSuite suite= new TestSuite(CModelElementsTests.class.getName()); suite.addTest(new CModelElementsTests("testCModelElements")); return suite; } diff --git a/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/ElementDeltaTests.java b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/ElementDeltaTests.java index 4604ee4e614..fe5a7b866b3 100644 --- a/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/ElementDeltaTests.java +++ b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/ElementDeltaTests.java @@ -59,7 +59,7 @@ public class ElementDeltaTests extends TestCase implements IElementChangedListen } public static Test suite() { - TestSuite suite= new TestSuite(); + TestSuite suite= new TestSuite(ElementDeltaTests.class.getName()); suite.addTest(new ElementDeltaTests("testElementDeltas")); return suite; } diff --git a/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/IIncludeTests.java b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/IIncludeTests.java new file mode 100644 index 00000000000..ee6d8e71d0e --- /dev/null +++ b/core/org.eclipse.cdt.ui.tests/model/org/eclipse/cdt/core/model/tests/IIncludeTests.java @@ -0,0 +1,116 @@ +/* + * Created on Jun 4, 2003 + * by bnicolle + */ +package org.eclipse.cdt.core.model.tests; + +import junit.framework.Test; +import junit.framework.TestSuite; + +import org.eclipse.cdt.core.model.ITranslationUnit; +import org.eclipse.cdt.core.model.CModelException; +import org.eclipse.cdt.core.model.IInclude; +import org.eclipse.cdt.core.model.tests.IntegratedCModelTest; + +/** + * @author bnicolle + * + */ +public class IIncludeTests extends IntegratedCModelTest { + + /** + * @param string + */ + public IIncludeTests(String string) { + super( string ); + } + + /** + * @see org.eclipse.cdt.internal.core.model.IntegratedCModelTest + */ + public String getSourcefileSubdir() { + return "model/org.eclipse.cdt.core.model.tests.resources/"; + } + + /** + * @see org.eclipse.cdt.internal.core.model.IntegratedCModelTest + */ + public String getSourcefileResource() { + return "IIncludeTest.h"; + } + + /** + * @returns a test suite named after this class + * containing all its public members named "test*" + */ + public static Test suite() { + TestSuite suite= new TestSuite(IIncludeTests.class); + return suite; + } + + public void testGetIncludeName() + { + ITranslationUnit tu = getTU(); + IInclude[] theIncludes = null; + try { + theIncludes = tu.getIncludes(); + } + catch( CModelException c ) + { + assertNotNull("CModelException thrown",c); + } + + String getIncludeNameList[] = new String[] { + new String("stdio.h"), + new String("whatever.h"), + new String("src/slash.h"), + new String("src\\backslash.h"), // that's a single backslash, escaped + new String("Program Files/space.h"), + new String("../up1dir.h"), + new String("./samedir.h"), + new String("different_extension1.hpp"), + new String("different_extension2.hh"), + new String("different_extension3.x"), + new String("no_extension"), + new String("whitespace_after_hash"), + new String("whitespace_before_hash"), + new String("resync_after_bad_parse_1"), + new String("resync_after_bad_parse_2"), + new String("one"), // C-spec does not allow this, but that's OK for our present purposes + new String("resync_after_bad_parse_3"), + new String("invalid.h"), // C-spec does not allow this, but that's OK for our present purposes + // TODO: expect new String("MYINCFILE"), + // TODO: expect new String("xstr(INCFILE(2)).h") + }; + assertEquals( getIncludeNameList.length, theIncludes.length ); + for( int i=0; i