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);
32 // TODO: Move to stack.c
34 fp = fopen("stdout.txt", "w"); fclose(fp);
35 fp = fopen("stderr.txt", "w"); fclose(fp);
37 Net_Open(0, "/tmp/acess2net");
39 for(int i = 0; tests[i]; i ++ )
41 Stack_AddDevice("/tmp/acess2net", (char[]){TEST_MAC});
42 Stack_AddInterface("eth0", 4, (const char[]){TEST_IP}, 24);
43 Stack_AddRoute(4, "\0\0\0\0", 0, (const char[]){HOST_IP});
44 if( Stack_Start("cmdline") )
47 if( Net_Receive(0, 1, &argc, 1000) == 0 )
51 printf("%s: PASS\n", gsTestName);
53 printf("%s: FAIL\n", gsTestName);
59 unlink("/tmp/acess2net");
64 void PrintUsage(const char *ProgName)
66 fprintf(stderr, "Usage: %s\n", ProgName);
69 int ParseCommandline(int argc, char *argv[])
71 const char *progname = argv[0];
72 for( int i = 1; i < argc; i ++ )
74 const char *arg = argv[i];
78 else if( arg[1] != '-' ) {
83 if( strcmp(arg, "--help") == 0 ) {
88 fprintf(stderr, "Unknown option: %s\n", arg);
97 void test_setname(const char *name)
102 void test_message(const char *filename, int line, const char *msg, ...)
104 fprintf(stderr, "%s:%i [%s] - ", filename, line, gsTestName);
107 vfprintf(stderr, msg, args);
109 fprintf(stderr, "\n");
112 void test_assertion_fail(const char *filename, int line, const char *fmt, ...)
114 fprintf(stderr, "%s:%i [%s] - ASSERT FAIL ", filename, line, gsTestName);
117 vfprintf(stderr, fmt, args);
119 fprintf(stderr, "\n");
122 void test_trace(const char *msg, ...)
124 printf("TRACE: [%s] ", gsTestName);
127 vfprintf(stdout, msg, args);
131 void test_trace_hexdump(const char *hdr, const void *data, size_t len)
133 printf("TRACE: [%s] %s - %zi bytes\n", gsTestName, hdr, len);
134 const uint8_t *data8 = data;
137 printf("TRACE: %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
138 data8[0], data8[1], data8[ 2], data8[ 3], data8[ 4], data8[ 5], data8[ 6], data8[ 7],
139 data8[8], data8[9], data8[10], data8[11], data8[12], data8[13], data8[14], data8[15]
147 printf("%02x %02x %02x %02x %02x %02x %02x %02x ",
148 data8[0], data8[1], data8[ 2], data8[ 3], data8[ 4], data8[ 5], data8[ 6], data8[ 7]
155 printf("%02x ", data8[0]);