14 int ParseCommandline(int argc, char *argv[]);
17 const char *gsTestName;
20 int main(int argc, char *argv[])
22 if( ParseCommandline(argc, argv) )
25 typedef bool t_test(void);
33 // TODO: Move to stack.c
35 fp = fopen("stdout.txt", "w"); fclose(fp);
36 fp = fopen("stderr.txt", "w"); fclose(fp);
38 Net_Open(0, "/tmp/acess2net");
40 for(int i = 0; tests[i]; i ++ )
42 Stack_AddDevice("/tmp/acess2net", (char[]){TEST_MAC});
43 Stack_AddInterface("eth0", 4, (const char[]){TEST_IP}, 24);
44 Stack_AddRoute(4, "\0\0\0\0", 0, (const char[]){HOST_IP});
45 if( Stack_Start("cmdline") )
48 if( Net_Receive(0, 1, &argc, 1000) == 0 )
52 printf("%s: PASS\n", gsTestName);
54 printf("%s: FAIL\n", gsTestName);
60 unlink("/tmp/acess2net");
65 void PrintUsage(const char *ProgName)
67 fprintf(stderr, "Usage: %s\n", ProgName);
70 int ParseCommandline(int argc, char *argv[])
72 const char *progname = argv[0];
73 for( int i = 1; i < argc; i ++ )
75 const char *arg = argv[i];
79 else if( arg[1] != '-' ) {
84 if( strcmp(arg, "--help") == 0 ) {
89 fprintf(stderr, "Unknown option: %s\n", arg);
98 void test_setname(const char *name)
103 void test_message(const char *filename, int line, const char *msg, ...)
105 fprintf(stderr, "%s:%i [%s] - ", filename, line, gsTestName);
108 vfprintf(stderr, msg, args);
110 fprintf(stderr, "\n");
113 void test_assertion_fail(const char *filename, int line, const char *fmt, ...)
115 fprintf(stderr, "%s:%i [%s] - ASSERT FAIL ", filename, line, gsTestName);
118 vfprintf(stderr, fmt, args);
120 fprintf(stderr, "\n");
123 void test_trace(const char *msg, ...)
125 printf("TRACE: [%s] ", gsTestName);
128 vfprintf(stdout, msg, args);
132 void test_trace_hexdump(const char *hdr, const void *data, size_t len)
134 printf("TRACE: [%s] %s - %zi bytes\n", gsTestName, hdr, len);
135 const uint8_t *data8 = data;
138 printf("TRACE: %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
139 data8[0], data8[1], data8[ 2], data8[ 3], data8[ 4], data8[ 5], data8[ 6], data8[ 7],
140 data8[8], data8[9], data8[10], data8[11], data8[12], data8[13], data8[14], data8[15]
148 printf("%02x %02x %02x %02x %02x %02x %02x %02x ",
149 data8[0], data8[1], data8[ 2], data8[ 3], data8[ 4], data8[ 5], data8[ 6], data8[ 7]
156 printf("%02x ", data8[0]);