int run_tests() { int entry; int result; task_entry_t* task; fprintf(stderr, "Run Helpers...\r\n"); entry = 0; while (HELPERS[entry].task_name) { task = &HELPERS[entry]; fprintf(stderr, "[%-30s]...", task->task_name); result = run_helper(task); fprintf(stderr, "%s\r\n", result ? "failed" : "OK"); entry++; } entry = 0; while (TASKS[entry].task_name) { task = &TASKS[entry]; fprintf(stderr, "[%-30s]...", task->task_name); result = run_test_one(task); fprintf(stderr, "%s\r\n", result ? "failed" : "OK"); entry++; } fprintf(stderr, "Waiting Helpers to end...\r\n"); entry = 0; while (HELPERS[entry].task_name) { task = &HELPERS[entry]; fprintf(stderr, "[%-30s]...", task->task_name); result = wait_helper(task); fprintf(stderr, "%s\r\n", result ? "failed" : "OK"); entry++; } fprintf(stderr, "run_tests end\r\n"); return 0; }
void run_tests_one(void) { task_entry_t* task_group = NULL; task_entry_t* task = NULL; while (1) { switch (cur_task) { case 0 : if (!cur_entry) fprintf(stderr, "Run Helpers...\r\n"); task_group = HELPERS; break; case 2 : if (!cur_entry) fprintf(stderr, "Stopping Helpers...\r\n"); task_group = HELPERS; break; case 1 : task_group = TASKS; break; default: run_test_one(NULL); return; } task = &task_group[cur_entry]; if (task && task->task_name) { fprintf(stderr, "[%-30s]\r\n", task->task_name); switch (cur_task) { case 0 : run_helper(task); break; case 1 : run_test_one(task); break; case 2 : wait_helper(task); break; } cur_entry++; return; } cur_entry = 0; cur_task++; } }