change log for rtems (2010-07-19)

rtems-vc at rtems.org rtems-vc at rtems.org
Mon Jul 19 14:10:57 UTC 2010


 *joel*:
2010-07-19	Joel Sherrill <joel.sherrill at oarcorp.com>

	* stringto01/init.c, stringto01/stringto01.scn,
	stringto01/stringto_test_template.h: Attempt to pick up a few more
	error paths.

M  1.208  testsuites/libtests/ChangeLog
M    1.3  testsuites/libtests/stringto01/init.c
M    1.2  testsuites/libtests/stringto01/stringto01.scn
M    1.3  testsuites/libtests/stringto01/stringto_test_template.h

diff -u rtems/testsuites/libtests/ChangeLog:1.207 rtems/testsuites/libtests/ChangeLog:1.208
--- rtems/testsuites/libtests/ChangeLog:1.207	Thu Jul 15 08:54:54 2010
+++ rtems/testsuites/libtests/ChangeLog	Mon Jul 19 08:10:48 2010
@@ -1,3 +1,9 @@
+2010-07-19	Joel Sherrill <joel.sherrill at oarcorp.com>
+
+	* stringto01/init.c, stringto01/stringto01.scn,
+	stringto01/stringto_test_template.h: Attempt to pick up a few more
+	error paths.
+
 2010-07-15	Bharath Suri <bharath.s.jois at gmail.com>
 
 	PR 1617/testing

diff -u rtems/testsuites/libtests/stringto01/init.c:1.2 rtems/testsuites/libtests/stringto01/init.c:1.3
--- rtems/testsuites/libtests/stringto01/init.c:1.2	Tue Dec  8 11:52:49 2009
+++ rtems/testsuites/libtests/stringto01/init.c	Mon Jul 19 08:10:48 2010
@@ -11,9 +11,14 @@
 
 #include "tmacros.h"
 #include <rtems/stringto.h>
+#include <limits.h>
+#include <math.h>
 
 #include <stdio.h>
 
+#define __STRING(x)     #x              /* stringify without expanding x */
+#define __XSTRING(x)    __STRING(x)     /* expand x, then stringify */
+
 /* Test pointer conversions */
 #define TEST_STRING_TO_TYPE          void *
 #define TEST_STRING_TO_NAME          test_rtems_string_to_pointer
@@ -33,6 +38,8 @@
 
 /* Test integer conversions */
 #define TEST_STRING_TO_TYPE          int
+#define STRING_TO_MAX                LONG_MAX
+#define STRING_TO_MAX_STRING         __XSTRING(LONG_MAX)
 #define TEST_STRING_TO_NAME          test_rtems_string_to_int
 #define STRING_TO_NAME_METHOD        rtems_string_to_int
 #define STRING_TO_NAME_METHOD_STRING "rtems_string_to_int"
@@ -51,6 +58,8 @@
 
 /* Test long conversions */
 #define TEST_STRING_TO_TYPE          long
+#define STRING_TO_MAX                LONG_MAX
+#define STRING_TO_MAX_STRING         __XSTRING(LONG_MAX)
 #define TEST_STRING_TO_NAME          test_rtems_string_to_long
 #define STRING_TO_NAME_METHOD        rtems_string_to_long
 #define STRING_TO_NAME_METHOD_STRING "rtems_string_to_long"
@@ -70,6 +79,8 @@
 
 /* Test long long conversions */
 #define TEST_STRING_TO_TYPE          long long
+#define STRING_TO_MAX                LONG_LONG_MAX
+#define STRING_TO_MAX_STRING         __XSTRING(LONG_LONG_MAX)
 #define TEST_STRING_TO_NAME          test_rtems_string_to_long_long
 #define STRING_TO_NAME_METHOD        rtems_string_to_long_long
 #define STRING_TO_NAME_METHOD_STRING "rtems_string_to_long_long"

diff -u rtems/testsuites/libtests/stringto01/stringto01.scn:1.1 rtems/testsuites/libtests/stringto01/stringto01.scn:1.2
--- rtems/testsuites/libtests/stringto01/stringto01.scn:1.1	Tue Dec  1 16:10:33 2009
+++ rtems/testsuites/libtests/stringto01/stringto01.scn	Mon Jul 19 08:10:48 2010
@@ -17,6 +17,7 @@
 Testing rtems_string_to_int
 rtems_string_to_int - NULL return value - RTEMS_INVALID_ADDRESS
 rtems_string_to_int - 123 NULL endptr return value - RTEMS_SUCCESSFUL
+rtems_string_to_int - MAXIMUM VALUE w/endptr return value - RTEMS_SUCCESSFUL
 rtems_string_to_int - 123 w/endptr return value - RTEMS_SUCCESSFUL
 rtems_string_to_int - YYY w/endptr return value - RTEMS_NOT_DEFINED
 rtems_string_to_int - empty string - w/endptr return value - RTEMS_NOT_DEFINED
@@ -33,6 +34,7 @@
 Testing rtems_string_to_long
 rtems_string_to_long - NULL return value - RTEMS_INVALID_ADDRESS
 rtems_string_to_long - 123 NULL endptr return value - RTEMS_SUCCESSFUL
+rtems_string_to_long - MAXIMUM VALUE w/endptr return value - RTEMS_SUCCESSFUL
 rtems_string_to_long - 123 w/endptr return value - RTEMS_SUCCESSFUL
 rtems_string_to_long - YYY w/endptr return value - RTEMS_NOT_DEFINED
 rtems_string_to_long - empty string - w/endptr return value - RTEMS_NOT_DEFINED
@@ -50,6 +52,7 @@
 Testing rtems_string_to_long_long
 rtems_string_to_long_long - NULL return value - RTEMS_INVALID_ADDRESS
 rtems_string_to_long_long - 123 NULL endptr return value - RTEMS_SUCCESSFUL
+rtems_string_to_long_long - MAXIMUM VALUE w/endptr return value - RTEMS_SUCCESSFUL
 rtems_string_to_long_long - 123 w/endptr return value - RTEMS_SUCCESSFUL
 rtems_string_to_long_long - YYY w/endptr return value - RTEMS_NOT_DEFINED
 rtems_string_to_long_long - empty string - w/endptr return value - RTEMS_NOT_DEFINED

diff -u rtems/testsuites/libtests/stringto01/stringto_test_template.h:1.2 rtems/testsuites/libtests/stringto01/stringto_test_template.h:1.3
--- rtems/testsuites/libtests/stringto01/stringto_test_template.h:1.2	Tue Dec  8 11:52:49 2009
+++ rtems/testsuites/libtests/stringto01/stringto_test_template.h	Mon Jul 19 08:10:48 2010
@@ -58,6 +58,24 @@
   rtems_test_assert( status == RTEMS_SUCCESSFUL );
   rtems_test_assert( value == (TEST_STRING_TO_TYPE)GOOD_VALUE );
 
+  #if defined(STRING_TO_MAX)
+    /* Basic conversion works for return value */
+    endptr = NULL;
+    puts(
+      STRING_TO_NAME_METHOD_STRING " - MAXIMUM VALUE"
+      " w/endptr return value - RTEMS_SUCCESSFUL"
+    );
+    #if defined(STRING_TO_INTEGER)
+      status = STRING_TO_NAME_METHOD(
+        STRING_TO_MAX_STRING, &value, &endptr, 10 );
+    #elif defined(STRING_TO_POINTER) || defined(STRING_TO_FLOAT)
+      status = STRING_TO_NAME_METHOD( STRING_TO_MAX_STRING, &value, &endptr );
+    #endif
+    rtems_test_assert( status == RTEMS_SUCCESSFUL );
+    rtems_test_assert( endptr );
+    rtems_test_assert( value == (TEST_STRING_TO_TYPE)STRING_TO_MAX );
+  #endif
+
   /* Basic conversion works for return value */
   endptr = NULL;
   puts(
@@ -145,6 +163,8 @@
 #undef STRING_TO_INTEGER
 #undef STRING_TO_POINTER
 #undef STRING_TO_FLOAT
+#undef STRING_TO_MAX
+#undef STRING_TO_MAX_STRING
 #undef GOOD_VALUE
 #undef GOOD_VALUE_STRING
 #undef BAD_VALUE_STRING


 *joel*:
2010-07-19	Joel Sherrill <joel.sherrill at oarcorp.com>

	* Makefile.am, configure.ac: Add tar test for error cases.
	* tar03/.cvsignore, tar03/Makefile.am, tar03/init.c, tar03/tar03.doc,
	tar03/tar03.scn: New files.

M  1.209  testsuites/libtests/ChangeLog
M   1.40  testsuites/libtests/Makefile.am
M   1.47  testsuites/libtests/configure.ac
A    1.1  testsuites/libtests/tar03/.cvsignore
A    1.1  testsuites/libtests/tar03/Makefile.am
A    1.1  testsuites/libtests/tar03/init.c
A    1.1  testsuites/libtests/tar03/tar03.doc
A    1.1  testsuites/libtests/tar03/tar03.scn

diff -u rtems/testsuites/libtests/ChangeLog:1.208 rtems/testsuites/libtests/ChangeLog:1.209
--- rtems/testsuites/libtests/ChangeLog:1.208	Mon Jul 19 08:10:48 2010
+++ rtems/testsuites/libtests/ChangeLog	Mon Jul 19 08:12:39 2010
@@ -1,5 +1,11 @@
 2010-07-19	Joel Sherrill <joel.sherrill at oarcorp.com>
 
+	* Makefile.am, configure.ac: Add tar test for error cases.
+	* tar03/.cvsignore, tar03/Makefile.am, tar03/init.c, tar03/tar03.doc,
+	tar03/tar03.scn: New files.
+
+2010-07-19	Joel Sherrill <joel.sherrill at oarcorp.com>
+
 	* stringto01/init.c, stringto01/stringto01.scn,
 	stringto01/stringto_test_template.h: Attempt to pick up a few more
 	error paths.

diff -u rtems/testsuites/libtests/Makefile.am:1.39 rtems/testsuites/libtests/Makefile.am:1.40
--- rtems/testsuites/libtests/Makefile.am:1.39	Wed Jul 14 18:53:49 2010
+++ rtems/testsuites/libtests/Makefile.am	Mon Jul 19 08:12:40 2010
@@ -11,7 +11,7 @@
     putenvtest monitor monitor02 rtmonuse stackchk stackchk01 \
     termios termios01 termios02 termios03 termios04 termios05 termios06 \
     rtems++ tztest block01 block02 block03 block04 block05 block06 block07 \
-    block08 block09 block10 stringto01
+    block08 block09 block10 stringto01 tar03
 
 include $(top_srcdir)/../automake/subdirs.am
 include $(top_srcdir)/../automake/local.am

diff -u rtems/testsuites/libtests/configure.ac:1.46 rtems/testsuites/libtests/configure.ac:1.47
--- rtems/testsuites/libtests/configure.ac:1.46	Wed Jul 14 18:53:49 2010
+++ rtems/testsuites/libtests/configure.ac	Mon Jul 19 08:12:40 2010
@@ -61,6 +61,7 @@
 stackchk/Makefile
 stackchk01/Makefile
 stringto01/Makefile
+tar03/Makefile
 termios/Makefile
 termios01/Makefile
 termios02/Makefile

diff -u /dev/null rtems/testsuites/libtests/tar03/.cvsignore:1.1
--- /dev/null	Mon Jul 19 09:10:54 2010
+++ rtems/testsuites/libtests/tar03/.cvsignore	Mon Jul 19 08:12:40 2010
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in

diff -u /dev/null rtems/testsuites/libtests/tar03/Makefile.am:1.1
--- /dev/null	Mon Jul 19 09:10:54 2010
+++ rtems/testsuites/libtests/tar03/Makefile.am	Mon Jul 19 08:12:40 2010
@@ -0,0 +1,26 @@
+##
+## $Id$
+##
+
+MANAGERS = all
+
+rtems_tests_PROGRAMS = tar03
+tar03_SOURCES = init.c
+
+dist_rtems_tests_DATA = tar03.scn
+dist_rtems_tests_DATA += tar03.doc
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+AM_CPPFLAGS += -I$(top_srcdir)/../support/include
+
+LINK_OBJS = $(tar03_OBJECTS) $(tar03_LDADD)
+LINK_LIBS = $(tar03_LDLIBS)
+
+tar03$(EXEEXT): $(tar03_OBJECTS) $(tar03_DEPENDENCIES)
+	@rm -f tar03$(EXEEXT)
+	$(make-exe)
+
+include $(top_srcdir)/../automake/local.am

diff -u /dev/null rtems/testsuites/libtests/tar03/init.c:1.1
--- /dev/null	Mon Jul 19 09:10:54 2010
+++ rtems/testsuites/libtests/tar03/init.c	Mon Jul 19 08:12:40 2010
@@ -0,0 +1,62 @@
+/*
+ *  COPYRIGHT (c) 1989-2010.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#include <tmacros.h>
+#include "test_support.h"
+
+#include <rtems/imfs.h>
+#include <rtems/untar.h>
+#include <rtems/error.h>
+
+void test_tarfs_error(void)
+{
+  int sc;
+
+  puts("Loading tarfs image at non-root - ERROR");
+  sc = rtems_tarfs_load("x",(void *)rtems_task_create, 72);
+  if (sc != -1) {
+    printf ("error: untar failed returned %d\n", sc);
+    rtems_test_exit(1);
+  }
+
+  puts("Loading tarfs image with miniIMFS as root filesystem - ERROR");
+  sc = rtems_tarfs_load("/",(void *)rtems_task_create, 72);
+  if (sc != -1) {
+    printf ("error: untar failed returned %d\n", sc);
+    rtems_test_exit(1);
+  }
+}
+
+rtems_task Init(
+  rtems_task_argument argument
+)
+{
+  puts( "\n\n*** TEST TAR03 ***" );
+
+  test_tarfs_error();
+  
+  puts( "*** END OF TEST TAR03 ***" );
+  rtems_test_exit(0);
+}
+
+/* configuration information */
+
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+
+#define CONFIGURE_MAXIMUM_TASKS             1
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
+
+#define CONFIGURE_INIT
+#include <rtems/confdefs.h>
+/* end of file */

diff -u /dev/null rtems/testsuites/libtests/tar03/tar03.doc:1.1
--- /dev/null	Mon Jul 19 09:10:55 2010
+++ rtems/testsuites/libtests/tar03/tar03.doc	Mon Jul 19 08:12:40 2010
@@ -0,0 +1,26 @@
+#
+#  $Id$
+#
+#  COPYRIGHT (c) 1989-2010.
+#  On-Line Applications Research Corporation (OAR).
+#
+#  The license and distribution terms for this file may be
+#  found in the file LICENSE in this distribution or at
+#  http://www.rtems.com/license/LICENSE.
+#
+
+This file describes the directives and concepts tested by this test set.
+
+test set name:  tar03
+
+directives:
+
+  rtems_tarfs_load
+
+concepts:
+
++ Exercise error path for loading image at non-root directory
+
++ Exercise error path when root filesytem does not support files
+
+

diff -u /dev/null rtems/testsuites/libtests/tar03/tar03.scn:1.1
--- /dev/null	Mon Jul 19 09:10:55 2010
+++ rtems/testsuites/libtests/tar03/tar03.scn	Mon Jul 19 08:12:40 2010
@@ -0,0 +1,4 @@
+*** TEST TAR03 ***
+Loading tarfs image at non-root - ERROR
+Loading tarfs image with miniIMFS as root filesystem - ERROR
+*** END OF TEST TAR03 ***


 *joel*:
2010-07-19	Bharath Suri <bharath.s.jois at gmail.com>

	PR 1623/testing
	* psx13/test.c, psx13/psx13.scn: New cases to improve coverage of
	utime() and fpathconf().
	* psxfile01/test.c, psxfile01/psxfile01.scn: New cases to improve
	coverage of rmdir(), unlink(), mknod(), link(), open(), read(),
	write().
	* psxstat/test.c, psxstat/psxstat.scn: New case to improve
	coverage of readlink().

M  1.297  testsuites/psxtests/ChangeLog
M    1.9  testsuites/psxtests/psx13/psx13.scn
M   1.17  testsuites/psxtests/psx13/test.c
M   1.13  testsuites/psxtests/psxfile01/psxfile01.scn
M   1.29  testsuites/psxtests/psxfile01/test.c
M   1.13  testsuites/psxtests/psxstat/psxstat.scn
M   1.31  testsuites/psxtests/psxstat/test.c

diff -u rtems/testsuites/psxtests/ChangeLog:1.296 rtems/testsuites/psxtests/ChangeLog:1.297
--- rtems/testsuites/psxtests/ChangeLog:1.296	Fri Jul 16 14:19:09 2010
+++ rtems/testsuites/psxtests/ChangeLog	Mon Jul 19 08:13:20 2010
@@ -1,3 +1,14 @@
+2010-07-19	Bharath Suri <bharath.s.jois at gmail.com>
+
+	PR 1623/testing
+	* psx13/test.c, psx13/psx13.scn: New cases to improve coverage of
+	utime() and fpathconf().
+	* psxfile01/test.c, psxfile01/psxfile01.scn: New cases to improve
+	coverage of rmdir(), unlink(), mknod(), link(), open(), read(),
+	write().
+	* psxstat/test.c, psxstat/psxstat.scn: New case to improve
+	coverage of readlink().
+
 2010-07-17	Bharath Suri <bharath.s.jois at gmail.com>
 
 	PR 1622/testing

diff -u rtems/testsuites/psxtests/psx13/psx13.scn:1.8 rtems/testsuites/psxtests/psx13/psx13.scn:1.9
--- rtems/testsuites/psxtests/psx13/psx13.scn:1.8	Fri Jul  9 17:07:11 2010
+++ rtems/testsuites/psxtests/psx13/psx13.scn	Mon Jul 19 08:13:20 2010
@@ -1,5 +1,5 @@
 
-** POSIX TEST 13 ***
+*** POSIX TEST 13 ***
 
 Files initialized successfully.
 Testing device_lseek()... Failed!!!

diff -u rtems/testsuites/psxtests/psx13/test.c:1.16 rtems/testsuites/psxtests/psx13/test.c:1.17
--- rtems/testsuites/psxtests/psx13/test.c:1.16	Fri Jul  9 17:07:11 2010
+++ rtems/testsuites/psxtests/psx13/test.c	Mon Jul 19 08:13:20 2010
@@ -415,9 +415,11 @@
       else
 	retval = FALSE;
     }
-
     else
       retval = FALSE;
+
+    error = utime("testfile1.tst", NULL );
+    retval &= (error == 0) ? TRUE : FALSE;
   }
 
   /* assert (retval == TRUE);*/
@@ -563,6 +565,12 @@
     error = fpathconf(fd, _PC_SYNC_IO);
     error = fpathconf(fd, 255);
 
+    close(fd);
+
+    fd = open("testfile1.tst", O_WRONLY);
+    
+    error = fpathconf(fd, _PC_LINK_MAX);
+
     retval = TRUE;
   }
 

diff -u rtems/testsuites/psxtests/psxfile01/psxfile01.scn:1.12 rtems/testsuites/psxtests/psxfile01/psxfile01.scn:1.13
--- rtems/testsuites/psxtests/psxfile01/psxfile01.scn:1.12	Thu Jul 15 08:59:25 2010
+++ rtems/testsuites/psxtests/psxfile01/psxfile01.scn	Mon Jul 19 08:13:20 2010
@@ -1,3 +1,4 @@
+
 *** FILE TEST 1 ***
 *************** Dump of Entire IMFS ***************
 /
@@ -30,6 +31,8 @@
 rmdir /usr
 rmdir /dev
 rmdir /fred
+rmdir /tmp/bha
+unlink /dev/tty
 mknod /dev/test_console
 mknod /dev/tty/S3
 mknod /etc/passwd
@@ -48,8 +51,17 @@
 create /tmp/john
 tcdrain /tmp/john
 Attempt to create a file, open in read-only mode and truncate it
-Exercise the reentrant version _link_r -- Expect EFAULT
+Exercise the reentrant version _link_r -- Expect ENOENT
 Unlink /tmp/bha using the reentrant version -- OK
+mknod with bad type - expect EINVAL
+open /tmp/bha in write only mode -- OK
+attempt to read from /tmp/bha - expect EINVAL
+closing and unlinking /tmp/bha
+open /tmp/bha in read only mode -- OK
+attempt to read from /tmp/bha - expect EINVAL
+closing and unlinking /tmp/bha
+attempt to read from an unopened filedes - expect EBADF
+attempt to write to an unopened filedes - expect EBADF
 mknod /tmp/joel
 (0)the first write!!!
 
@@ -73,7 +85,7 @@
 
 stat( /tmp/joel ) returned 
 ....st_dev     (0xfffe:0x0)
-....st_ino     13  may vary by small amount
+....st_ino     15  may vary by small amount
 ....mode  = 00100700
 ....nlink = 1
 ....uid = 0
@@ -106,7 +118,7 @@
 That is likely to be bigger than the available RAM on many targets.
 stat( /tmp/joel ) returned 
 ....st_dev     (0xfffe:0x0)
-....st_ino     14  may vary by small amount
+....st_ino     16  may vary by small amount
 ....mode  = 00100700
 ....nlink = 1
 ....uid = 0
@@ -137,7 +149,7 @@
 (4) 26 characters written to the file
 (5) 26 characters written to the file
 ....st_dev     (0xfffe:0x0)
-....st_ino     15  may vary by small amount
+....st_ino     17  may vary by small amount
 ....mode  = 00100644
 ....nlink = 1
 ....uid = 0
@@ -153,7 +165,7 @@
 This is call 4 to fprintf
 This is call 5 to fprintf
 ....st_dev     (0xfffe:0x0)
-....st_ino     15  may vary by small amount
+....st_ino     17  may vary by small amount
 ....mode  = 00100644
 ....nlink = 1
 ....uid = 0
@@ -183,7 +195,7 @@
 ***************       End of Dump        ***************
 truncate /tmp/j to length of 40
 ....st_dev     (0xfffe:0x0)
-....st_ino     15  may vary by small amount
+....st_ino     17  may vary by small amount
 ....mode  = 00100644
 ....nlink = 1
 ....uid = 0

diff -u rtems/testsuites/psxtests/psxfile01/test.c:1.28 rtems/testsuites/psxtests/psxfile01/test.c:1.29
--- rtems/testsuites/psxtests/psxfile01/test.c:1.28	Fri Jul 16 04:23:42 2010
+++ rtems/testsuites/psxtests/psxfile01/test.c	Mon Jul 19 08:13:20 2010
@@ -244,6 +244,16 @@
   rtems_test_assert (status == -1);
   rtems_test_assert( errno == ENOENT );
 
+  puts( "rmdir /tmp/bha" );
+  status = rmdir( "/tmp/bha" );
+  rtems_test_assert( status == -1 );
+  rtems_test_assert( errno == ENOENT );
+
+  puts( "unlink /dev/tty" );
+  status = unlink( "/dev/tty" );
+  rtems_test_assert( status == -1 );
+  rtems_test_assert( errno == EISDIR );
+
   puts( "mknod /dev/test_console" );
   status = mknod( "/dev/test_console", S_IFCHR, 0LL );
   rtems_test_assert( !status );
@@ -339,16 +349,70 @@
   rtems_test_assert( fd == -1 );
   rtems_test_assert( errno == EINVAL );
 
-  puts( "Exercise the reentrant version _link_r -- Expect EEXIST" );
-  status = _link_r( NULL, "", "" );
+  puts( "Exercise the reentrant version _link_r -- Expect ENOENT" );
+  status = _link_r( NULL, "/tmp/notexist", "/tmp/cannotexist" );
   rtems_test_assert( status == -1 );
-  rtems_test_assert( errno == EEXIST );
+  rtems_test_assert( errno == ENOENT );
 
   puts( "Unlink /tmp/bha using the reentrant version -- OK" );
   status = _unlink_r( NULL, "/tmp/bha" );
   rtems_test_assert( status == 0 );
 
   /*
+   * Simple test case for mknod
+   */
+
+  puts( "mknod with bad type - expect EINVAL" );
+  status = mknod( "/tmp/bha", 0, 0LL );
+  rtems_test_assert( status == -1 );
+  rtems_test_assert( errno == EINVAL );
+
+  /* 
+   * Read from filedes opened for write
+   */
+
+  puts( "open /tmp/bha in write only mode -- OK" );
+  fd = open( "/tmp/bha", O_CREAT | O_WRONLY, S_IRWXU|S_IRWXG|S_IRWXO );
+  rtems_test_assert( fd != -1 );
+  
+  puts( "attempt to read from /tmp/bha - expect EINVAL" );
+  status = read( fd, buffer, 10 );
+  rtems_test_assert( status == -1 );
+  rtems_test_assert( errno == EINVAL );
+
+  puts( "closing and unlinking /tmp/bha" );
+  status = close( fd );
+  status |= unlink( "/tmp/bha" );
+  rtems_test_assert( status == 0 );
+
+  puts( "open /tmp/bha in read only mode -- OK" );
+  fd = open( "/tmp/bha", O_CREAT | O_RDONLY, S_IRWXU|S_IRWXG|S_IRWXO );
+  rtems_test_assert( fd != -1 );
+  
+  puts( "attempt to read from /tmp/bha - expect EINVAL" );
+  status = write( fd, buffer, 10 );
+  rtems_test_assert( status == -1 );
+  rtems_test_assert( errno == EINVAL );
+
+  puts( "closing and unlinking /tmp/bha" );
+  status = close( fd );
+  status |= unlink( "/tmp/bha" );
+  rtems_test_assert( status == 0 );
+
+  /* 
+   * Read/write from an unopened filedes
+   */
+  puts( "attempt to read from an unopened filedes - expect EBADF" );
+  status = read( 5, buffer, 10 );
+  rtems_test_assert( status == -1 );
+  rtems_test_assert( errno == EBADF );
+
+  puts( "attempt to write to an unopened filedes - expect EBADF" );
+  status = write( 5, buffer, 10 );
+  rtems_test_assert( status == -1 );
+  rtems_test_assert( errno == EBADF );
+
+  /*
    *  Test simple write to a file at offset 0
    */
 

diff -u rtems/testsuites/psxtests/psxstat/psxstat.scn:1.12 rtems/testsuites/psxtests/psxstat/psxstat.scn:1.13
--- rtems/testsuites/psxtests/psxstat/psxstat.scn:1.12	Thu Jul 15 08:59:25 2010
+++ rtems/testsuites/psxtests/psxstat/psxstat.scn	Mon Jul 19 08:13:20 2010
@@ -1704,12 +1704,13 @@
 ...st_ctime   Sat Dec 31 09:00:35 1988
 ...st_blksize 0
 ...st_blocks  0
-statvfs, with invalid path - expect EFAULT
+statvfs, with invalid path - expect ENOTSUP
 create /tmp -- OK
 statvfs, with valid path - expect ENOTSUP
 statvfs tested!
 Exercise the reentrant version - _stat_r - expect EFAULT
 Exercise the reentrant version - _lstat_r - expect EFAULT
+Try readlink with a bad buffer - expect EFAULT
 
 
 *** END OF STAT TEST 01 ***

diff -u rtems/testsuites/psxtests/psxstat/test.c:1.30 rtems/testsuites/psxtests/psxstat/test.c:1.31
--- rtems/testsuites/psxtests/psxstat/test.c:1.30	Thu Jul 15 08:59:25 2010
+++ rtems/testsuites/psxtests/psxstat/test.c	Mon Jul 19 08:13:20 2010
@@ -939,6 +939,11 @@
   rtems_test_assert( status == -1 );
   rtems_test_assert( errno == EFAULT );
 
+  puts( "Try readlink with a bad buffer - expect EFAULT" );
+  status = readlink( "/tmp", NULL, 0 );
+  rtems_test_assert( status == -1 );
+  rtems_test_assert( errno == EFAULT );
+
   puts( "\n\n*** END OF STAT TEST 01 ***" );
   rtems_test_exit(0);
 }


 *joel*:
2010-07-19	Joel Sherrill <joel.sherrill at oarcorp.com>

	* Makefile.am, configure.ac, termios06/init.c: Add initial tests for
	XON/XOFF and VMIN/VMAX cases.
	* termios07/.cvsignore, termios07/Makefile.am, termios07/init.c,
	termios07/termios07.doc, termios07/termios07.scn,
	termios08/.cvsignore, termios08/Makefile.am, termios08/init.c,
	termios08/termios08.doc, termios08/termios08.scn: New files.

M  1.210  testsuites/libtests/ChangeLog
M   1.41  testsuites/libtests/Makefile.am
M   1.48  testsuites/libtests/configure.ac
M    1.3  testsuites/libtests/termios06/init.c
A    1.1  testsuites/libtests/termios07/.cvsignore
A    1.1  testsuites/libtests/termios07/Makefile.am
A    1.1  testsuites/libtests/termios07/init.c
A    1.1  testsuites/libtests/termios07/termios07.doc
A    1.1  testsuites/libtests/termios07/termios07.scn
A    1.1  testsuites/libtests/termios08/.cvsignore
A    1.1  testsuites/libtests/termios08/Makefile.am
A    1.1  testsuites/libtests/termios08/init.c
A    1.1  testsuites/libtests/termios08/termios08.doc
A    1.1  testsuites/libtests/termios08/termios08.scn

diff -u rtems/testsuites/libtests/ChangeLog:1.209 rtems/testsuites/libtests/ChangeLog:1.210
--- rtems/testsuites/libtests/ChangeLog:1.209	Mon Jul 19 08:12:39 2010
+++ rtems/testsuites/libtests/ChangeLog	Mon Jul 19 08:54:46 2010
@@ -1,5 +1,14 @@
 2010-07-19	Joel Sherrill <joel.sherrill at oarcorp.com>
 
+	* Makefile.am, configure.ac, termios06/init.c: Add initial tests for
+	XON/XOFF and VMIN/VMAX cases.
+	* termios07/.cvsignore, termios07/Makefile.am, termios07/init.c,
+	termios07/termios07.doc, termios07/termios07.scn,
+	termios08/.cvsignore, termios08/Makefile.am, termios08/init.c,
+	termios08/termios08.doc, termios08/termios08.scn: New files.
+
+2010-07-19	Joel Sherrill <joel.sherrill at oarcorp.com>
+
 	* Makefile.am, configure.ac: Add tar test for error cases.
 	* tar03/.cvsignore, tar03/Makefile.am, tar03/init.c, tar03/tar03.doc,
 	tar03/tar03.scn: New files.

diff -u rtems/testsuites/libtests/Makefile.am:1.40 rtems/testsuites/libtests/Makefile.am:1.41
--- rtems/testsuites/libtests/Makefile.am:1.40	Mon Jul 19 08:12:40 2010
+++ rtems/testsuites/libtests/Makefile.am	Mon Jul 19 08:54:46 2010
@@ -9,9 +9,11 @@
 SUBDIRS += bspcmdline01 cpuuse devfs01 gxx01 \
     malloctest malloc02 malloc03 malloc04 malloc05 heapwalk \
     putenvtest monitor monitor02 rtmonuse stackchk stackchk01 \
-    termios termios01 termios02 termios03 termios04 termios05 termios06 \
+    termios termios01 termios02 termios03 termios04 termios05 \
+    termios06 termios07 termios08 \
     rtems++ tztest block01 block02 block03 block04 block05 block06 block07 \
-    block08 block09 block10 stringto01 tar03
+    block08 block09 block10 stringto01 \
+    tar03
 
 include $(top_srcdir)/../automake/subdirs.am
 include $(top_srcdir)/../automake/local.am

diff -u rtems/testsuites/libtests/configure.ac:1.47 rtems/testsuites/libtests/configure.ac:1.48
--- rtems/testsuites/libtests/configure.ac:1.47	Mon Jul 19 08:12:40 2010
+++ rtems/testsuites/libtests/configure.ac	Mon Jul 19 08:54:46 2010
@@ -69,6 +69,8 @@
 termios04/Makefile
 termios05/Makefile
 termios06/Makefile
+termios07/Makefile
+termios08/Makefile
 tztest/Makefile
 POSIX/Makefile
 ])

diff -u rtems/testsuites/libtests/termios06/init.c:1.2 rtems/testsuites/libtests/termios06/init.c:1.3
--- rtems/testsuites/libtests/termios06/init.c:1.2	Tue Jul  6 14:54:00 2010
+++ rtems/testsuites/libtests/termios06/init.c	Mon Jul 19 08:54:46 2010
@@ -19,6 +19,7 @@
 #include <unistd.h>
 #include <sys/ioctl.h>
 #include <rtems/dumpbuf.h>
+#include <rtems/termiostypes.h>
 
 void pppasyncattach(void);
 void ppp_test_driver_set_rx( const char *expected, size_t len );
@@ -34,6 +35,39 @@
   rtems_test_assert( Test_fd != -1 );
 }
 
+void Rx_Wake(
+  struct termios *tty,
+  void           *arg
+)
+{
+  printk( "Rx_Wake - invoked\n" );
+}
+
+void Tx_Wake(
+  struct termios *tty,
+  void           *arg
+)
+{
+  printk( "Tx_Wake - invoked\n" );
+}
+
+struct ttywakeup RxWake = { Rx_Wake, NULL };
+struct ttywakeup TxWake = { Tx_Wake, NULL };
+
+void set_wakeups(void)
+{
+  int sc;
+
+  puts( "ioctl - RTEMS_IO_SNDWAKEUP - OK" );
+  sc = ioctl( Test_fd, RTEMS_IO_SNDWAKEUP, &TxWake );
+  rtems_test_assert( sc == 0 );
+
+  puts( "ioctl - RTEMS_IO_RCVWAKEUP - OK" );
+  sc = ioctl( Test_fd, RTEMS_IO_RCVWAKEUP, &RxWake );
+  rtems_test_assert( sc == 0 );
+
+}
+
 void set_discipline(void)
 {
   int pppdisc = PPPDISC;
@@ -116,6 +150,7 @@
 
   pppasyncattach();
   open_it();
+  set_wakeups();
   set_discipline();
   write_it();
   ioctl_it();

diff -u /dev/null rtems/testsuites/libtests/termios07/.cvsignore:1.1
--- /dev/null	Mon Jul 19 09:10:56 2010
+++ rtems/testsuites/libtests/termios07/.cvsignore	Mon Jul 19 08:54:46 2010
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in

diff -u /dev/null rtems/testsuites/libtests/termios07/Makefile.am:1.1
--- /dev/null	Mon Jul 19 09:10:56 2010
+++ rtems/testsuites/libtests/termios07/Makefile.am	Mon Jul 19 08:54:46 2010
@@ -0,0 +1,27 @@
+##
+## $Id$
+##
+
+MANAGERS = all
+
+rtems_tests_PROGRAMS = termios07
+termios07_SOURCES = init.c ../termios04/termios_testdriver_intr.c
+
+dist_rtems_tests_DATA = termios07.scn
+dist_rtems_tests_DATA += termios07.doc
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+AM_CPPFLAGS += -I$(top_srcdir)/../support/include
+AM_CPPFLAGS += -I$(top_srcdir)/termios04
+
+LINK_OBJS = $(termios07_OBJECTS) $(termios07_LDADD)
+LINK_LIBS = $(termios07_LDLIBS)
+
+termios07$(EXEEXT): $(termios07_OBJECTS) $(termios07_DEPENDENCIES)
+	@rm -f termios07$(EXEEXT)
+	$(make-exe)
+
+include $(top_srcdir)/../automake/local.am

diff -u /dev/null rtems/testsuites/libtests/termios07/init.c:1.1
--- /dev/null	Mon Jul 19 09:10:56 2010
+++ rtems/testsuites/libtests/termios07/init.c	Mon Jul 19 08:54:46 2010
@@ -0,0 +1,174 @@
+/*
+ *  COPYRIGHT (c) 1989-2010.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#include <tmacros.h>
+#include "test_support.h"
+#include "termios_testdriver_intr.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <termios.h>
+#include <rtems/dumpbuf.h>
+#include <rtems/libio.h>
+
+void write_helper(
+  int        fd,
+  const char *c
+)
+{
+  size_t   len;
+  int      rc;
+  
+  len = strlen( c );
+  printf( "Writing: %s", c );
+
+  rc = write( fd, c, len );
+  rtems_test_assert( rc == len );
+
+  termios_test_driver_dump_tx("Transmitted");
+}
+
+uint8_t read_helper_buffer[256];
+
+void read_helper(
+  int         fd,
+  const char *expected
+)
+{
+  int    rc;
+  size_t len;
+
+  len = strlen( expected );
+
+  termios_test_driver_set_rx( expected, len );
+  printf( "\nReading (expected):\n" );
+  rtems_print_buffer( (unsigned char *)expected, len-1 );
+
+  rc = read( fd, read_helper_buffer, sizeof(read_helper_buffer) );
+  rtems_test_assert( rc != -1 );
+
+  printf( "Read %d bytes from read(2)\n", rc );
+  rtems_print_buffer( read_helper_buffer, rc );
+
+  termios_test_driver_dump_tx("As Read");
+}
+
+int Test_fd;
+
+void open_it(void)
+{
+  /* open the file */
+  puts( "open(" TERMIOS_TEST_DRIVER_DEVICE_NAME ") - OK " );
+  Test_fd = open( TERMIOS_TEST_DRIVER_DEVICE_NAME, O_RDWR );
+  rtems_test_assert( Test_fd != -1 );
+}
+
+void close_it(void)
+{
+  int rc;
+
+  puts( "close(" TERMIOS_TEST_DRIVER_DEVICE_NAME ") - OK " );
+  rc = close( Test_fd );
+  rtems_test_assert( rc == 0 );
+}
+
+void change_iflag( const char *desc, int mask, int new )
+{
+  int            rc;
+  struct termios attr;
+
+  printf( "Changing c_iflag to: %s\n", desc );
+  rc = tcgetattr( Test_fd, &attr );
+  rtems_test_assert( rc == 0 );
+
+  attr.c_iflag &= ~mask;
+  attr.c_iflag |= new;
+
+  rc = tcsetattr( Test_fd, TCSANOW, &attr );
+  rtems_test_assert( rc == 0 );
+}
+
+const char XON_String[] = "\021";
+const char XOFF_String[] = "\023";
+
+const char ExpectedOutput_1[] =
+"0123456789012345678901234567890123456789"
+"0123456789012345678901234567890123456789"
+"0123456789012345678901234567890123456789"
+"0123456789012345678901234567890123456789"
+"0123456789012345678901234567890123456789";
+#if 0
+const char ExpectedInput_1[] = "Blocking interrupt driven read.\n";
+const char ExpectedInput_2[] = "Non-Blocking interrupt driven read.\n";
+#endif
+
+rtems_task Init(
+  rtems_task_argument argument
+)
+{
+  rtems_status_code sc;
+
+  puts( "\n\n*** TEST TERMIOS07 ***" );
+
+  puts( "rtems_termios_bufsize( 64, 64, 64 ) - OK" );
+  sc = rtems_termios_bufsize ( 64, 64, 64 );
+  rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+
+  open_it();
+
+  change_iflag( "Set XON/XOFF", IXON|IXOFF, IXON|IXOFF );
+
+  termios_test_driver_set_rx( XOFF_String, 1 );
+  sc = rtems_task_wake_after( 2 * rtems_clock_get_ticks_per_second() );
+  rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+
+  write_helper( Test_fd, ExpectedOutput_1 );
+
+#if 0
+  /* some basic cases */
+  write_helper( Test_fd, ExpectedOutput_1 );
+  read_helper( Test_fd, ExpectedInput_1 );
+  termios_test_driver_set_rx_enqueue_now( true );
+  read_helper( Test_fd, ExpectedInput_2 );
+#endif
+
+  close_it();
+
+  puts( "*** END OF TEST TERMIOS07 ***" );
+
+  rtems_test_exit(0);
+}
+
+/* configuration information */
+
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_EXTRA_DRIVERS \
+  TERMIOS_TEST_DRIVER_TABLE_ENTRY
+
+/* include an extra slot for registering the termios one dynamically */
+#define CONFIGURE_MAXIMUM_DRIVERS 3
+
+/* one for the console and one for the test port */
+#define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 3
+
+/* we need to be able to open the test device */
+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4
+#define CONFIGURE_MAXIMUM_TASKS                  1
+#define CONFIGURE_MAXIMUM_TIMERS                 2
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+
+#include <rtems/confdefs.h>
+/* end of file */

diff -u /dev/null rtems/testsuites/libtests/termios07/termios07.doc:1.1
--- /dev/null	Mon Jul 19 09:10:56 2010
+++ rtems/testsuites/libtests/termios07/termios07.doc	Mon Jul 19 08:54:47 2010
@@ -0,0 +1,22 @@
+#
+#  $Id$
+#
+#  COPYRIGHT (c) 1989-2010.
+#  On-Line Applications Research Corporation (OAR).
+#
+#  The license and distribution terms for this file may be
+#  found in the file LICENSE in this distribution or at
+#  http://www.rtems.com/license/LICENSE.
+#
+
+This file describes the directives and concepts tested by this test set.
+
+test set name:  termios07
+
+directives:
+
+  XXX list them
+
+concepts:
+
++ flow control testing

diff -u /dev/null rtems/testsuites/libtests/termios07/termios07.scn:1.1
--- /dev/null	Mon Jul 19 09:10:56 2010
+++ rtems/testsuites/libtests/termios07/termios07.scn	Mon Jul 19 08:54:47 2010
@@ -0,0 +1 @@
+XXX fill in with test output

diff -u /dev/null rtems/testsuites/libtests/termios08/.cvsignore:1.1
--- /dev/null	Mon Jul 19 09:10:56 2010
+++ rtems/testsuites/libtests/termios08/.cvsignore	Mon Jul 19 08:54:47 2010
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in

diff -u /dev/null rtems/testsuites/libtests/termios08/Makefile.am:1.1
--- /dev/null	Mon Jul 19 09:10:56 2010
+++ rtems/testsuites/libtests/termios08/Makefile.am	Mon Jul 19 08:54:47 2010
@@ -0,0 +1,27 @@
+##
+## $Id$
+##
+
+MANAGERS = all
+
+rtems_tests_PROGRAMS = termios08
+termios08_SOURCES = init.c ../termios03/termios_testdriver_polled.c
+
+dist_rtems_tests_DATA = termios08.scn
+dist_rtems_tests_DATA += termios08.doc
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+AM_CPPFLAGS += -I$(top_srcdir)/../support/include
+AM_CPPFLAGS += -I$(top_srcdir)/termios03
+
+LINK_OBJS = $(termios08_OBJECTS) $(termios08_LDADD)
+LINK_LIBS = $(termios08_LDLIBS)
+
+termios08$(EXEEXT): $(termios08_OBJECTS) $(termios08_DEPENDENCIES)
+	@rm -f termios08$(EXEEXT)
+	$(make-exe)
+
+include $(top_srcdir)/../automake/local.am

diff -u /dev/null rtems/testsuites/libtests/termios08/init.c:1.1
--- /dev/null	Mon Jul 19 09:10:56 2010
+++ rtems/testsuites/libtests/termios08/init.c	Mon Jul 19 08:54:47 2010
@@ -0,0 +1,158 @@
+/*
+ *  COPYRIGHT (c) 1989-2010.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#include <tmacros.h>
+#include "test_support.h"
+#include "termios_testdriver_polled.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <rtems/dumpbuf.h>
+#include <rtems/termiostypes.h>
+
+int Test_fd;
+
+void open_it(void)
+{
+  /* open the file */
+  puts( "open(" TERMIOS_TEST_DRIVER_DEVICE_NAME ") - OK " );
+  Test_fd = open( TERMIOS_TEST_DRIVER_DEVICE_NAME, O_RDWR );
+  rtems_test_assert( Test_fd != -1 );
+}
+
+void close_it(void)
+{
+  int rc;
+
+  puts( "close(" TERMIOS_TEST_DRIVER_DEVICE_NAME ") - OK " );
+  rc = close( Test_fd );
+  rtems_test_assert( rc == 0 );
+}
+
+void write_it(void)
+{
+  ssize_t sc;
+  char    ch[10] = "PPPD TEST";
+
+  puts( "write(PPPD TEST) - OK " );
+  sc = write(Test_fd, ch, sizeof(ch));
+  rtems_test_assert( sc == sizeof(ch) );
+}
+
+uint8_t read_helper_buffer[256];
+
+void change_lflag( const char *desc, int mask, int new )
+{
+  int            rc;
+  struct termios attr;
+
+  printf( "Changing c_lflag to: %s\n", desc );
+  rc = tcgetattr( Test_fd, &attr );
+  rtems_test_assert( rc == 0 );
+
+  attr.c_lflag &= ~mask;
+  attr.c_lflag |= new;
+
+  rc = tcsetattr( Test_fd, TCSANOW, &attr );
+  rtems_test_assert( rc == 0 );
+}
+
+void change_vmin_vtime( const char *desc, int min, int time )
+{
+  int            rc;
+  struct termios attr;
+
+  printf( "Changing %s - VMIN=%d VTIME=%d\n", desc, min, time );
+  rc = tcgetattr( Test_fd, &attr );
+  rtems_test_assert( rc == 0 );
+
+  attr.c_cc[VMIN] = min;
+  attr.c_cc[VTIME] = time;
+
+  rc = tcsetattr( Test_fd, TCSANOW, &attr );
+  rtems_test_assert( rc == 0 );
+}
+
+void read_it(
+  ssize_t expected
+)
+{
+  ssize_t rc;
+  char    buf[32];
+
+  rtems_test_assert( expected <= sizeof(buf) );
+
+  printf( "read - %zd expected\n", expected );
+  rc = read( Test_fd, buf, expected ); 
+  if ( expected != rc )
+    printf( "ERROR - expected=%zd rc=%zd\n", expected, rc );
+  rtems_test_assert( expected == rc );
+}
+
+rtems_task Init(
+  rtems_task_argument argument
+)
+{
+  puts( "\n\n*** TEST TERMIOS08 ***" );
+
+  open_it();
+  change_lflag( "non-canonical", ICANON, 0 );
+
+  change_vmin_vtime( "to polling", 0, 0 );
+  read_it( 0 );
+
+  change_vmin_vtime( "to half-second timeout", 0, 5 );
+  read_it( 0 );
+
+  change_vmin_vtime( "to half-second timeout", 5, 3 );
+  puts( "Enqueue 2 characters" );
+  termios_test_driver_set_rx( "ab", 2 );
+  read_it( 2 );
+
+  change_vmin_vtime( "to half-second timeout", 5, 3 );
+  puts( "Enqueue 1 character" );
+  termios_test_driver_set_rx( "b", 1 );
+  read_it( 1 );
+
+  puts( "Enqueue 7 characters" );
+  termios_test_driver_set_rx( "1234567", 1 );
+  read_it( 5 );
+  read_it( 2 );
+
+  close_it();
+  
+  puts( "*** END OF TEST TERMIOS08 ***" );
+
+  rtems_test_exit(0);
+}
+
+/* configuration information */
+
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_EXTRA_DRIVERS TERMIOS_TEST_DRIVER_TABLE_ENTRY
+
+/* one for the console and one for the test port */
+#define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 3
+
+/* we need to be able to open the test device */
+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4
+
+#define CONFIGURE_MAXIMUM_TASKS             1
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+
+#include <rtems/confdefs.h>
+/* end of file */

diff -u /dev/null rtems/testsuites/libtests/termios08/termios08.doc:1.1
--- /dev/null	Mon Jul 19 09:10:56 2010
+++ rtems/testsuites/libtests/termios08/termios08.doc	Mon Jul 19 08:54:47 2010
@@ -0,0 +1,22 @@
+#
+#  $Id$
+#
+#  COPYRIGHT (c) 1989-2010.
+#  On-Line Applications Research Corporation (OAR).
+#
+#  The license and distribution terms for this file may be
+#  found in the file LICENSE in this distribution or at
+#  http://www.rtems.com/license/LICENSE.
+#
+
+This file describes the directives and concepts tested by this test set.
+
+test set name:  termios08
+
+directives:
+
+  XXX list them
+
+concepts:
+
++ various VMIN/VMAX cases

diff -u /dev/null rtems/testsuites/libtests/termios08/termios08.scn:1.1
--- /dev/null	Mon Jul 19 09:10:57 2010
+++ rtems/testsuites/libtests/termios08/termios08.scn	Mon Jul 19 08:54:47 2010
@@ -0,0 +1 @@
+XXX fill in with test output



--

Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20100719/f26f91f7/attachment.html>


More information about the vc mailing list