From 981e11216a3e1534a403c6844b06f164480c3ff9 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 4 Nov 2017 14:51:30 +0000 Subject: Various fixes after recent changes. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10934 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/various/shell/shell_cmd.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'os/various/shell/shell_cmd.c') diff --git a/os/various/shell/shell_cmd.c b/os/various/shell/shell_cmd.c index cf350ff4d..63a433e0c 100644 --- a/os/various/shell/shell_cmd.c +++ b/os/various/shell/shell_cmd.c @@ -32,6 +32,7 @@ #if (SHELL_CMD_TEST_ENABLED == TRUE) || defined(__DOXYGEN__) #include "rt_test_root.h" +#include "oslib_test_root.h" #endif /*===========================================================================*/ @@ -171,17 +172,38 @@ static void cmd_threads(BaseSequentialStream *chp, int argc, char *argv[]) { #endif #if (SHELL_CMD_TEST_ENABLED == TRUE) || defined(__DOXYGEN__) +static THD_FUNCTION(test_rt, arg) { + BaseSequentialStream *chp = (BaseSequentialStream *)arg; + test_execute(chp, &rt_test_suite); +} + +static THD_FUNCTION(test_oslib, arg) { + BaseSequentialStream *chp = (BaseSequentialStream *)arg; + test_execute(chp, &oslib_test_suite); +} + static void cmd_test(BaseSequentialStream *chp, int argc, char *argv[]) { thread_t *tp; + tfunc_t tfp; (void)argv; - if (argc > 0) { - shellUsage(chp, "test"); + if (argc != 1) { + shellUsage(chp, "test rt|oslib"); + return; + } + if (!strcmp(argv[0], "rt")) { + tfp = test_rt; + } + else if (!strcmp(argv[0], "oslib")) { + tfp = test_oslib; + } + else { + shellUsage(chp, "test rt|oslib"); return; } tp = chThdCreateFromHeap(NULL, SHELL_CMD_TEST_WA_SIZE, "test", chThdGetPriorityX(), - (tfunc_t)test_execute, chp); + tfp, chp); if (tp == NULL) { chprintf(chp, "out of memory"SHELL_NEWLINE_STR); return; -- cgit v1.2.3