libtests/dl10: Enter shell on demand

Use rtems_shell_wait_for_input() similar to other potentially
interactive test programs.
This commit is contained in:
Sebastian Huber
2022-01-14 07:59:34 +01:00
parent 671f126a3a
commit 93ebc9da69

View File

@@ -27,9 +27,6 @@
const char rtems_test_name[] = "libdl (RTL) 10"; const char rtems_test_name[] = "libdl (RTL) 10";
/* forward declarations to avoid warnings */
static rtems_task Init(rtems_task_argument argument);
#include "dl10-tar.h" #include "dl10-tar.h"
#define TARFILE_START dl10_tar #define TARFILE_START dl10_tar
@@ -46,9 +43,18 @@ static int test(void)
return 0; return 0;
} }
static void notification(int fd, int seconds_remaining, void *arg)
{
printf(
"Press any key to enter shell (%is remaining)\n",
seconds_remaining
);
}
static void Init(rtems_task_argument arg) static void Init(rtems_task_argument arg)
{ {
int e; int e;
rtems_status_code sc;
TEST_BEGIN(); TEST_BEGIN();
@@ -76,13 +82,20 @@ static void Init(rtems_task_argument arg)
exit (1); exit (1);
} }
rtems_shell_init ("SHLL",
RTEMS_MINIMUM_STACK_SIZE * 4, sc = rtems_shell_wait_for_input (STDIN_FILENO,
100, 20,
"/dev/foobar", notification,
false, NULL);
true, if (sc == RTEMS_SUCCESSFUL) {
NULL); rtems_shell_init ("SHLL",
RTEMS_MINIMUM_STACK_SIZE * 4,
100,
"/dev/foobar",
false,
true,
NULL);
}
TEST_END(); TEST_END();