From 7c9d27e83125cd3b7051dcc23fa2fcde1255cc7c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 16 Sep 2011 09:23:19 +0000 Subject: 2011-09-16 Sebastian Huber * fileio/fileio.scn: New file. * capture/init.c, fileio/init.c: Use rtems_shell_wait_for_input(). --- testsuites/samples/ChangeLog | 5 ++++ testsuites/samples/capture/init.c | 48 ++++++++++++++++++++++++++---------- testsuites/samples/fileio/fileio.scn | 22 +++++++++++++++++ testsuites/samples/fileio/init.c | 47 +++++++++++++++++++++++++---------- 4 files changed, 96 insertions(+), 26 deletions(-) create mode 100644 testsuites/samples/fileio/fileio.scn (limited to 'testsuites') diff --git a/testsuites/samples/ChangeLog b/testsuites/samples/ChangeLog index e705bf3bfe..60e89cac1f 100644 --- a/testsuites/samples/ChangeLog +++ b/testsuites/samples/ChangeLog @@ -1,3 +1,8 @@ +2011-09-16 Sebastian Huber + + * fileio/fileio.scn: New file. + * capture/init.c, fileio/init.c: Use rtems_shell_wait_for_input(). + 2011-08-29 Joel Sherrill * ticker/system.h: Remove unneeded include. diff --git a/testsuites/samples/capture/init.c b/testsuites/samples/capture/init.c index dedc0b784a..e03fc1b21f 100644 --- a/testsuites/samples/capture/init.c +++ b/testsuites/samples/capture/init.c @@ -33,9 +33,18 @@ #include #include #include +#include volatile int can_proceed = 1; +static void notification(int fd, int seconds_remaining, void *arg) +{ + printf( + "Press any key to start capture engine (%is remaining)\n", + seconds_remaining + ); +} + rtems_task Init( rtems_task_argument ignored ) @@ -43,27 +52,40 @@ rtems_task Init( #if BSP_SMALL_MEMORY printf("NO Capture Engine. MEMORY TOO SMALL"); #else + rtems_status_code status; rtems_task_priority old_priority; rtems_mode old_mode; - /* lower the task priority to allow created tasks to execute */ + puts( "\n\n*** TEST CAPTURE ENGINE ***" ); - rtems_task_set_priority(RTEMS_SELF, 20, &old_priority); - rtems_task_mode(RTEMS_PREEMPT, RTEMS_PREEMPT_MASK, &old_mode); + status = rtems_shell_wait_for_input( + STDIN_FILENO, + 20, + notification, + NULL + ); + if (status == RTEMS_SUCCESSFUL) { + /* lower the task priority to allow created tasks to execute */ - printf( "\n*** CAPTURE ENGINE TEST ***\n" ); + rtems_task_set_priority(RTEMS_SELF, 20, &old_priority); + rtems_task_mode(RTEMS_PREEMPT, RTEMS_PREEMPT_MASK, &old_mode); - while (!can_proceed) - { - printf ("Sleeping\n"); - usleep (1000000); - } + while (!can_proceed) + { + printf ("Sleeping\n"); + usleep (1000000); + } + + rtems_monitor_init (0); + rtems_capture_cli_init (0); - rtems_monitor_init (0); - rtems_capture_cli_init (0); + setup_tasks_to_watch (); - setup_tasks_to_watch (); + rtems_task_delete (RTEMS_SELF); + } else { + puts( "*** END OF TEST CAPTURE ENGINE ***" ); - rtems_task_delete (RTEMS_SELF); + exit( 0 ); + } #endif } diff --git a/testsuites/samples/fileio/fileio.scn b/testsuites/samples/fileio/fileio.scn new file mode 100644 index 0000000000..4e8c3e5ab0 --- /dev/null +++ b/testsuites/samples/fileio/fileio.scn @@ -0,0 +1,22 @@ +*** TEST FILE I/O SAMPLE *** +Press any key to start file I/O sample (20s remaining) +Press any key to start file I/O sample (19s remaining) +Press any key to start file I/O sample (18s remaining) +Press any key to start file I/O sample (17s remaining) +Press any key to start file I/O sample (16s remaining) +Press any key to start file I/O sample (15s remaining) +Press any key to start file I/O sample (14s remaining) +Press any key to start file I/O sample (13s remaining) +Press any key to start file I/O sample (12s remaining) +Press any key to start file I/O sample (11s remaining) +Press any key to start file I/O sample (10s remaining) +Press any key to start file I/O sample (9s remaining) +Press any key to start file I/O sample (8s remaining) +Press any key to start file I/O sample (7s remaining) +Press any key to start file I/O sample (6s remaining) +Press any key to start file I/O sample (5s remaining) +Press any key to start file I/O sample (4s remaining) +Press any key to start file I/O sample (3s remaining) +Press any key to start file I/O sample (2s remaining) +Press any key to start file I/O sample (1s remaining) +*** END OF TEST FILE I/O SAMPLE *** diff --git a/testsuites/samples/fileio/init.c b/testsuites/samples/fileio/init.c index b0ebc69629..14a0de20b5 100644 --- a/testsuites/samples/fileio/init.c +++ b/testsuites/samples/fileio/init.c @@ -43,6 +43,7 @@ #include #include #include +#include #if FILEIO_BUILD @@ -226,7 +227,6 @@ fstab_t fs_table[] = { #define USE_SHELL #ifdef USE_SHELL -#include int shell_nvdisk_trace (int argc, char* argv[]) @@ -1213,6 +1213,15 @@ fileio_task (rtems_task_argument ignored) fileio_menu(); } +static void +notification (int fd, int seconds_remaining, void *arg) +{ + printf( + "Press any key to start file I/O sample (%is remaining)\n", + seconds_remaining + ); +} + /* * RTEMS Startup Task */ @@ -1223,22 +1232,34 @@ Init (rtems_task_argument ignored) rtems_id Task_id; rtems_status_code status; - puts( "\n\n*** FILE I/O SAMPLE AND TEST ***" ); - - Task_name = rtems_build_name('F','M','N','U'); + puts( "\n\n*** TEST FILE I/O SAMPLE ***" ); - status = rtems_task_create( - Task_name, 1, RTEMS_MINIMUM_STACK_SIZE * 2, - RTEMS_DEFAULT_MODES , - RTEMS_FLOATING_POINT | RTEMS_DEFAULT_ATTRIBUTES, &Task_id + status = rtems_shell_wait_for_input( + STDIN_FILENO, + 20, + notification, + NULL ); - directive_failed( status, "create" ); + if (status == RTEMS_SUCCESSFUL) { + Task_name = rtems_build_name('F','M','N','U'); - status = rtems_task_start( Task_id, fileio_task, 1 ); - directive_failed( status, "start" ); + status = rtems_task_create( + Task_name, 1, RTEMS_MINIMUM_STACK_SIZE * 2, + RTEMS_DEFAULT_MODES , + RTEMS_FLOATING_POINT | RTEMS_DEFAULT_ATTRIBUTES, &Task_id + ); + directive_failed( status, "create" ); - status = rtems_task_delete( RTEMS_SELF ); - directive_failed( status, "delete" ); + status = rtems_task_start( Task_id, fileio_task, 1 ); + directive_failed( status, "start" ); + + status = rtems_task_delete( RTEMS_SELF ); + directive_failed( status, "delete" ); + } else { + puts( "*** END OF TEST FILE I/O SAMPLE ***" ); + + rtems_test_exit( 0 ); + } } #if defined(USE_SHELL) -- cgit v1.2.3