1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <stdlib.h> 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <stdio.h> 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <string.h> 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "unit_test.h" 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid run_tests(struct test tests[]) 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org int i; 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; tests[i].name; i++) { 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org printf("Test %s\n", tests[i].name); 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org memset(&tests[i].result, 0, sizeof(tests[i].result)); 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org tests[i].test_func(&tests[i].result); 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org printf("Test %s (%d/%d) pass\n", tests[i].name, 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org tests[i].result.pass, tests[i].result.test_count); 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid test_begin(struct test_result * result) 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org result->test_count++; 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid test_check(struct test_result * result, int cond) 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org printf("Subtest %u -> ", result->test_count); 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (cond) { 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org result->pass++; 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org printf("Pass"); 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } else { 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org result->fail++; 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org printf("Fail"); 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org printf("\n"); 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 36