[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-patch] JUnit tests for the scanner
|
Hi Andrew,
Could you update and resend.
Thanks,
Doug Schaefer
Rational Software - IBM Software Group
Ottawa, Ontario, Canada
| "Niefer, Andrew" <aniefer@xxxxxxxxxxxx>
Sent by: cdt-patch-admin@xxxxxxxxxxx
04/15/2003 04:00 PM
Please respond to cdt-patch
|
To:
"'cdt-patch@xxxxxxxxxxx'"
<cdt-patch@xxxxxxxxxxx>
cc:
Subject:
[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
)