[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] JUnit tests for the scanner
|
Title: [cdt-patch] JUnit tests for the scanner
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/ChangeLog,v
retrieving revision 1.28
diff -u -r1.28 ChangeLog
--- ChangeLog 15 Apr 2003 18:40:05 -0000 1.28
+++ ChangeLog 15 Apr 2003 19:02:32 -0000
@@ -1,4 +1,8 @@
2003-04-15 Andrew Niefer
+ Added ScannerFailedTest::testBug36509()
+ Added ScannerFailedTest::testBug36521()
+
+2003-04-15 Andrew Niefer
Moved ScannerFailedTest::testBug36047 to ScannerTestCase::testBug36047
Added ScannerFailedTest::testBug36475
Index: failures/org/eclipse/cdt/core/parser/failedTests/ScannerFailedTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/failures/org/eclipse/cdt/core/parser/failedTests/ScannerFailedTest.java,v
retrieving revision 1.3
diff -u -r1.3 ScannerFailedTest.java
--- failures/org/eclipse/cdt/core/parser/failedTests/ScannerFailedTest.java 15 Apr 2003 18:40:05 -0000 1.3
+++ failures/org/eclipse/cdt/core/parser/failedTests/ScannerFailedTest.java 15 Apr 2003 19:02:32 -0000
@@ -38,7 +38,9 @@
TestSuite suite = new TestSuite();
suite.addTest( new ScannerFailedTest( "testBug36475" ) );
-
+ suite.addTest( new ScannerFailedTest( "testBug36509" ) );
+ suite.addTest( new ScannerFailedTest( "testBug36521" ) );
+
return suite;
}
@@ -63,6 +65,74 @@
if( !(e instanceof AssertionFailedError) ){
fail( "Unexpected Error: " + e.getMessage() );
}
+ }
+
+ if( testPassed )
+ fail( "The expected error did not occur." );
+ }
+ public void testBug36509() throws Exception
+ {
+ boolean testPassed = false;
+
+ try{
+ StringWriter writer = new StringWriter();
+ writer.write("#define debug(s, t) printf(\"x\" # s \"= %d, x\" # t \"= %s\", \\\n");
+ writer.write(" x ## s, x ## t) \n");
+
+ initializeScanner( writer.toString() );
+ //printf("x" "1" "=%d, x" "2" "= %s", x1, x2);
+ validateIdentifier( "printf" );
+ validateToken( Token.tLPAREN );
+ validateString("x");
+ validateString("1");
+ validateString("= %d, x");
+ validateString("2");
+ validateString("= %s");
+ validateToken(Token.tCOMMA);
+ validateIdentifier("x1");
+ validateToken(Token.tCOMMA);
+ validateIdentifier("x2");
+ validateToken(Token.tRPAREN);
+ validateToken(Token.tSEMI);
+
+ testPassed = true;
+ }
+ catch( Throwable e )
+ {
+ if( !(e instanceof AssertionFailedError) ){
+ fail( "Unexpected Error: " + e.getMessage() );
+ }
+ }
+
+ if( testPassed )
+ fail( "The expected error did not occur." );
+ }
+ public void testBug36521() throws Exception
+ {
+ boolean testPassed = false;
+
+ try{
+ StringWriter writer = new StringWriter();
+ writer.write("#define str(s) # s\n");
+ writer.write("fputs(str(strncmp(\"abc\\0d\", \"abc\", \'\\4\')\n");
+ writer.write(" == 0) str(: @\\n), s);\n");
+
+ initializeScanner( writer.toString() );
+ validateIdentifier("fputs");
+ validateToken(Token.tLPAREN);
+ validateString("strncmp(\\\"abc\\\\0d\\\", \\\"abc\\\", '\\\\4') == 0");
+ validateString(": @\\n");
+ validateToken(Token.tCOMMA);
+ validateIdentifier("s");
+ validateToken(Token.tRPAREN);
+ validateToken(Token.tSEMI);
+
+ testPassed = true;
+ }
+ catch( ScannerException e )
+ {
+ if( !e.getMessage().equals( "Improper use of macro str" ) )
+ fail( "Unexpected Error: " + e.getMessage() );
}
if( testPassed )