]> pd.if.org Git - pdclib/blobdiff - functions/stdio/fscan_sources.incl
Disabled 'special case' tests for regression.
[pdclib] / functions / stdio / fscan_sources.incl
index 8cfa64bd1c1d339a8560c9f04aeb566365a2873b..704c5428e8065e38cf67217694fe20393cac3fa6 100644 (file)
 
     FILE * hexadecimal = fopen( "scanf_testdata_hexadecimal", "wb+" );
     TESTCASE( hexadecimal != NULL );
-    TESTCASE( fwrite( "-0x0 -0x000 -0x7f 0x80 0xff -0x7fff 0x8000\n"
-                      "0xffff -0x7fffffff 0x80000000 0xffffffff\n"
-                      "-0x7fffffffffffffff 0x8000000000000000\n"
-                      "0xffffffffffffffff\n", 1, 142, hexadecimal ) == 142 );
+    TESTCASE( fwrite( "-0x0 -0x000 -0x7f -0x80 0xff -0x7fff -0x8000\n"
+                      "0xffff -0x7fffffff -0x80000000 0xffffffff\n"
+                      "-0x7fffffffffffffff -0x8000000000000000\n"
+                      "0xffffffffffffffff\n", 1, 146, hexadecimal ) == 146 );
     rewind( hexadecimal );
 
     FILE * octal = fopen( "scanf_testdata_octal", "wb+" );
     TESTCASE( fwrite( "abcdefgh-ijklmnop[qrs%uvw]xyz", 1, 29, alpha ) == 29 );
     rewind( alpha );
 
+#ifndef REGTEST
     FILE * special = fopen( "scanf_testdata_special", "wb+" );
     TESTCASE( special != NULL );
     TESTCASE( fwrite( "-0xz\n", 1, 5, special ) == 5 );
     rewind( special );
+#endif
 
 
 /* fscan */
-#define TESTSCAN( result, count, source, offset, format, ... ) \
+#define TESTSCAN( result, count, source, offset, ... ) \
     do \
     { \
         int n = -1; \
         TESTCASE( fseek( source, offset, SEEK_SET ) == 0 ); \
-        TESTCASE( SCANFUNC( source, format "%n", __VA_ARGS__, &n ) == result ); \
-        TESTCASE( n == count ); \
+        int res = SCANFUNC( source, __VA_ARGS__ ); \
+        if ( res != result ) \
+        { \
+            rc += 1; \
+            printf( "FAILED: " __FILE__ ", line %d - expected result %d, got %d\n", __LINE__, result, res ); \
+        } \
+        if ( n != count ) \
+        { \
+            rc += 1; \
+            printf( "FAILED: " __FILE__ ", line %d - expected count %d, got %d\n", __LINE__, count, n ); \
+        } \
     } while ( 0 )
 
+#define SCAN( format )           format "%n",              &n
+#define SCANPARMS( format, ... ) format "%n", __VA_ARGS__, &n
+
+#define _PDCLIB_FSCAN
+