Index: testsuites/libtests/ChangeLog
===================================================================
--- testsuites/libtests/ChangeLog	(revision 7c9d27e83125cd3b7051dcc23fa2fcde1255cc7c)
+++ testsuites/libtests/ChangeLog	(revision 11b9b5d0356d924dfcde7652c0616ad987dafaa7)
@@ -1,2 +1,7 @@
+2011-09-16	Sebastian Huber <Sebastian.Huber@embedded-brains.de>
+
+	* monitor/monitor.scn, termios/termios.scn: New files.
+	* monitor/init.c, termios01/init.c: Use rtems_shell_wait_for_input().
+
 2011-09-02	Sebastian Huber <sebastian.huber@embedded-brains.de>
 
Index: testsuites/libtests/monitor/init.c
===================================================================
--- testsuites/libtests/monitor/init.c	(revision 7c9d27e83125cd3b7051dcc23fa2fcde1255cc7c)
+++ testsuites/libtests/monitor/init.c	(revision 11b9b5d0356d924dfcde7652c0616ad987dafaa7)
@@ -22,4 +22,5 @@
 
 #include <rtems/monitor.h>
+#include <rtems/shell.h>
 
 rtems_task_priority Priorities[6] = { 0,   1,   1,   3,   4,   5 };
@@ -37,5 +38,11 @@
 }
 
-
+static void notification(int fd, int seconds_remaining, void *arg)
+{
+  printf(
+    "Press any key to enter monitor (%is remaining)\n",
+    seconds_remaining
+  );
+}
 
 rtems_task Init(
@@ -46,5 +53,5 @@
   rtems_status_code status;
 
-  puts( "\n\n*** MONITOR TASK TEST ***" );
+  puts( "\n\n*** TEST MONITOR ***" );
 
   Task_name[ 1 ] =  rtems_build_name( 'T', 'A', '1', ' ' );
@@ -71,7 +78,19 @@
   }
 
-  rtems_monitor_init( 0 );
+  status = rtems_shell_wait_for_input(
+    STDIN_FILENO,
+    20,
+    notification,
+    NULL
+  );
+  if (status == RTEMS_SUCCESSFUL) {
+    rtems_monitor_init( 0 );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+    status = rtems_task_delete( RTEMS_SELF );
+    directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  } else {
+    puts( "*** END OF TEST MONITOR ***" );
+
+    rtems_test_exit( 0 );
+  }
 }
Index: testsuites/libtests/monitor/monitor.scn
===================================================================
--- testsuites/libtests/monitor/monitor.scn	(revision 11b9b5d0356d924dfcde7652c0616ad987dafaa7)
+++ testsuites/libtests/monitor/monitor.scn	(revision 11b9b5d0356d924dfcde7652c0616ad987dafaa7)
@@ -0,0 +1,22 @@
+*** TEST MONITOR ***
+Press any key to enter monitor (20s remaining)
+Press any key to enter monitor (19s remaining)
+Press any key to enter monitor (18s remaining)
+Press any key to enter monitor (17s remaining)
+Press any key to enter monitor (16s remaining)
+Press any key to enter monitor (15s remaining)
+Press any key to enter monitor (14s remaining)
+Press any key to enter monitor (13s remaining)
+Press any key to enter monitor (12s remaining)
+Press any key to enter monitor (11s remaining)
+Press any key to enter monitor (10s remaining)
+Press any key to enter monitor (9s remaining)
+Press any key to enter monitor (8s remaining)
+Press any key to enter monitor (7s remaining)
+Press any key to enter monitor (6s remaining)
+Press any key to enter monitor (5s remaining)
+Press any key to enter monitor (4s remaining)
+Press any key to enter monitor (3s remaining)
+Press any key to enter monitor (2s remaining)
+Press any key to enter monitor (1s remaining)
+*** END OF TEST MONITOR ***
Index: testsuites/libtests/termios/init.c
===================================================================
--- testsuites/libtests/termios/init.c	(revision 7c9d27e83125cd3b7051dcc23fa2fcde1255cc7c)
+++ testsuites/libtests/termios/init.c	(revision 11b9b5d0356d924dfcde7652c0616ad987dafaa7)
@@ -44,4 +44,5 @@
 
 #include <rtems/confdefs.h>
+#include <rtems/shell.h>
 
 #include <stdio.h>
@@ -712,4 +713,11 @@
 }
 
+static void notification( int fd, int seconds_remaining, void *arg )
+{
+  printf(
+    "Press any key to check the termios input capabilities (%is remaining)\n",
+    seconds_remaining
+  );
+}
 
 /*
@@ -719,60 +727,73 @@
 Init (rtems_task_argument ignored)
 {
+  rtems_status_code status;
   char c ;
   struct termios orig_termios, test_termios;
 
-  printf( "\n\n*** TEST OF TERMIOS INPUT CAPABILITIES ***\n" );
-
-  if( tcgetattr( fileno( stdin ), &orig_termios ) < 0 ) {
-    perror( "tcgetattr() failed" );
+  puts( "\n\n*** TEST TERMIOS INPUT CAPABILITIES ***" );
+
+  status = rtems_shell_wait_for_input(
+    STDIN_FILENO,
+    20,
+    notification,
+    NULL
+  );
+  if (status == RTEMS_SUCCESSFUL) {
+    if( tcgetattr( fileno( stdin ), &orig_termios ) < 0 ) {
+      perror( "tcgetattr() failed" );
+      rtems_test_exit( 0 );
+    }
+
+    test_termios = orig_termios;
+
+    usage();
+    for(;;) {
+      switch( c = getchar() ) {
+        case '1':
+          printf( "\nResetting the line to the original termios setting\n\n" );
+          test_termios = orig_termios;
+          if( tcsetattr( fileno( stdin ), TCSADRAIN, &test_termios ) < 0 ) {
+            perror( "tcsetattr() failed" );
+            rtems_test_exit( 1 );
+          }
+          usage();
+          break;
+
+        case '2':
+          print_termios( &test_termios );
+          usage();
+          break;
+
+        case '3':
+          change_line_settings( &test_termios );
+          usage();
+          break;
+
+        case '4':
+          canonical_input( &test_termios );
+          usage();
+          break;
+
+        case '5':
+          raw_input( &test_termios );
+          usage();
+          break;
+
+        case '9':
+          rtems_test_exit( 1 );
+
+        case '\n':
+          break;
+
+        default:
+          printf( "\n%c is not a valid choice. Try again\n\n", c );
+          usage();
+          break;
+      }
+    }
+  } else {
+    puts( "*** END OF TEST TERMIOS INPUT CAPABILITIES ***" );
+
     rtems_test_exit( 0 );
   }
-
-  test_termios = orig_termios;
-
-  usage();
-  for(;;) {
-    switch( c = getchar() ) {
-      case '1':
-        printf( "\nResetting the line to the original termios setting\n\n" );
-        test_termios = orig_termios;
-        if( tcsetattr( fileno( stdin ), TCSADRAIN, &test_termios ) < 0 ) {
-          perror( "tcsetattr() failed" );
-          rtems_test_exit( 1 );
-        }
-        usage();
-        break;
-
-      case '2':
-        print_termios( &test_termios );
-        usage();
-        break;
-
-      case '3':
-        change_line_settings( &test_termios );
-        usage();
-        break;
-
-      case '4':
-        canonical_input( &test_termios );
-        usage();
-        break;
-
-      case '5':
-        raw_input( &test_termios );
-        usage();
-        break;
-
-      case '9':
-        rtems_test_exit( 1 );
-
-      case '\n':
-        break;
-
-      default:
-        printf( "\n%c is not a valid choice. Try again\n\n", c );
-        usage();
-        break;
-    }
-  }
-}
+}
Index: testsuites/libtests/termios/termios.scn
===================================================================
--- testsuites/libtests/termios/termios.scn	(revision 11b9b5d0356d924dfcde7652c0616ad987dafaa7)
+++ testsuites/libtests/termios/termios.scn	(revision 11b9b5d0356d924dfcde7652c0616ad987dafaa7)
@@ -0,0 +1,22 @@
+*** TEST TERMIOS INPUT CAPABILITIES ***
+Press any key to check the termios input capabilities (20s remaining)
+Press any key to check the termios input capabilities (19s remaining)
+Press any key to check the termios input capabilities (18s remaining)
+Press any key to check the termios input capabilities (17s remaining)
+Press any key to check the termios input capabilities (16s remaining)
+Press any key to check the termios input capabilities (15s remaining)
+Press any key to check the termios input capabilities (14s remaining)
+Press any key to check the termios input capabilities (13s remaining)
+Press any key to check the termios input capabilities (12s remaining)
+Press any key to check the termios input capabilities (11s remaining)
+Press any key to check the termios input capabilities (10s remaining)
+Press any key to check the termios input capabilities (9s remaining)
+Press any key to check the termios input capabilities (8s remaining)
+Press any key to check the termios input capabilities (7s remaining)
+Press any key to check the termios input capabilities (6s remaining)
+Press any key to check the termios input capabilities (5s remaining)
+Press any key to check the termios input capabilities (4s remaining)
+Press any key to check the termios input capabilities (3s remaining)
+Press any key to check the termios input capabilities (2s remaining)
+Press any key to check the termios input capabilities (1s remaining)
+*** END OF TEST TERMIOS INPUT CAPABILITIES ***
