From: Harry van Haaren Date: Thu, 11 Jan 2018 17:50:33 +0000 (+0000) Subject: test: use env variable to run tests X-Git-Tag: spdx-start~244 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=9b848774a5dc7b79c2dc5921583366725f374f64;p=dpdk.git test: use env variable to run tests With this patch the test binary checks the DPDK_TEST environment variable and if set, the contents of the var are inserted on the test app command line, and run. Signed-off-by: Bruce Richardson Signed-off-by: Harry van Haaren Reviewed-by: Pablo de Lara --- diff --git a/test/test/commands.c b/test/test/commands.c index 4097a3310a..6649cfc321 100644 --- a/test/test/commands.c +++ b/test/test/commands.c @@ -103,6 +103,7 @@ static void cmd_autotest_parsed(void *parsed_result, ret = t->callback(); } + last_test_result = ret; if (ret == 0) printf("Test OK\n"); else diff --git a/test/test/test.c b/test/test/test.c index ffe3b9260e..af1b1bf9d9 100644 --- a/test/test/test.c +++ b/test/test/test.c @@ -73,6 +73,8 @@ do_recursive_call(void) return -1; } +int last_test_result; + int main(int argc, char **argv) { @@ -111,6 +113,20 @@ main(int argc, char **argv) if (cl == NULL) { return -1; } + + char *dpdk_test = getenv("DPDK_TEST"); + if (dpdk_test && strlen(dpdk_test)) { + char buf[1024]; + snprintf(buf, sizeof(buf), "%s\n", dpdk_test); + if (cmdline_in(cl, buf, strlen(buf)) < 0) { + printf("error on cmdline input\n"); + return -1; + } + + cmdline_stdin_exit(cl); + return last_test_result; + } + /* if no DPDK_TEST env variable, go interactive */ cmdline_interact(cl); cmdline_stdin_exit(cl); #endif @@ -202,6 +218,8 @@ suite_summary: printf(" + Tests Failed : %2d\n", failed); printf(" + ------------------------------------------------------- +\n"); + last_test_result = failed; + if (failed) return -1; diff --git a/test/test/test.h b/test/test/test.h index 4b1c6e79ea..5198330ccc 100644 --- a/test/test/test.h +++ b/test/test/test.h @@ -191,6 +191,7 @@ struct unit_test_suite { }; int unit_test_suite_runner(struct unit_test_suite *suite); +extern int last_test_result; #define RECURSIVE_ENV_VAR "RTE_TEST_RECURSIVE"