Tests - Cleanup (disabling TCP Window Size module test)
[tpg/acess2.git] / Tools / NetTest_Runner / main.c
index 83ab653..05b455f 100644 (file)
@@ -26,18 +26,22 @@ int main(int argc, char *argv[])
        t_test  *tests[] = {
                Test_ARP_Basic,
                Test_TCP_Basic,
+               //Test_TCP_WindowSizes,
+               Test_TCP_Reset,
                NULL
                };
 
+       // Truncate the two output files
        // TODO: Move to stack.c
-       FILE    *fp;
-       fp = fopen("stdout.txt", "w");  fclose(fp);
-       fp = fopen("stderr.txt", "w");  fclose(fp);
+       fclose( fopen("stdout.txt", "w") );
+       fclose( fopen("stderr.txt", "w") );
+       
+       Net_Open(0, "/tmp/acess2net");
 
+        int    n_pass = 0;
+        int    n_fail = 0;
        for(int i = 0; tests[i]; i ++ )
        {
-               Net_Open(0, "/tmp/acess2net");
-               
                Stack_AddDevice("/tmp/acess2net", (char[]){TEST_MAC});
                Stack_AddInterface("eth0", 4, (const char[]){TEST_IP}, 24);
                Stack_AddRoute(4, "\0\0\0\0", 0, (const char[]){HOST_IP});
@@ -47,18 +51,22 @@ int main(int argc, char *argv[])
                if( Net_Receive(0, 1, &argc, 1000) == 0 )
                        goto teardown;
                
-               if( tests[i]() )
-                       printf("%s: PASS\n", gsTestName);
+               bool    result = tests[i]();
+               
+               printf("%s: %s\n", gsTestName, (result ? "PASS" : "FAIL"));
+               if(result)
+                       n_pass ++;
                else
-                       printf("%s: FAIL\n", gsTestName);
+                       n_fail ++;
        
        teardown:
                Stack_Kill();
-               Net_Close(0);
-               unlink("/tmp/acess2net");
        }
+       Net_Close(0);
+       unlink("/tmp/acess2net");
+       printf("--- All tests done %i pass, %i fail\n", n_pass, n_fail);
 
-       return 0;
+       return n_fail;
 }
 
 void PrintUsage(const char *ProgName)
@@ -119,3 +127,43 @@ void test_assertion_fail(const char *filename, int line, const char *fmt, ...)
        fprintf(stderr, "\n");
 }
 
+void test_trace(const char *msg, ...)
+{
+       printf("TRACE: [%s] ", gsTestName);
+       va_list args;
+       va_start(args, msg);
+       vfprintf(stdout, msg, args);
+       va_end(args);
+       printf("\n");
+}
+void test_trace_hexdump(const char *hdr, const void *data, size_t len)
+{
+       printf("TRACE: [%s] %s - %zi bytes\n", gsTestName, hdr, len);
+       const uint8_t   *data8 = data;
+       while( len > 16 )
+       {
+               printf("TRACE: %02x %02x %02x %02x %02x %02x %02x %02x  %02x %02x %02x %02x %02x %02x %02x %02x\n",
+                       data8[0], data8[1], data8[ 2], data8[ 3], data8[ 4], data8[ 5], data8[ 6], data8[ 7],
+                       data8[8], data8[9], data8[10], data8[11], data8[12], data8[13], data8[14], data8[15]
+                       );
+               len -= 16;
+               data8 += 16;
+       }
+       printf("TRACE: ");
+       while( len > 8 )
+       {
+               printf("%02x %02x %02x %02x %02x %02x %02x %02x  ",
+                       data8[0], data8[1], data8[ 2], data8[ 3], data8[ 4], data8[ 5], data8[ 6], data8[ 7]
+                       );
+               len -= 8;
+               data8 += 8;
+       }
+       while(len > 0)
+       {
+               printf("%02x ", data8[0]);
+               len --;
+               data8 ++;
+       }
+       printf("\n");
+}
+

UCC git Repository :: git.ucc.asn.au