Skip to main content

[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 )


Back to the top