diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-12-17 17:57:47 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-12-17 17:57:47 +0000 |
commit | 901a913b700df1ab4a14d88e10d5a7a7a752ca8c (patch) | |
tree | d2d82675fc19bafc9285cb222e3611c2a840ac46 /testsuites/psxtests | |
parent | 2007-12-17 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-901a913b700df1ab4a14d88e10d5a7a7a752ca8c.tar.bz2 |
2007-12-17 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, configure.ac: Add test for sysconf().
* psxsysconf/.cvsignore, psxsysconf/Makefile.am, psxsysconf/init.c,
psxsysconf/psxsysconf.scn, psxsysconf/system.h: New files.
Diffstat (limited to 'testsuites/psxtests')
-rw-r--r-- | testsuites/psxtests/ChangeLog | 6 | ||||
-rw-r--r-- | testsuites/psxtests/Makefile.am | 2 | ||||
-rw-r--r-- | testsuites/psxtests/configure.ac | 1 | ||||
-rw-r--r-- | testsuites/psxtests/psxsysconf/.cvsignore | 2 | ||||
-rw-r--r-- | testsuites/psxtests/psxsysconf/Makefile.am | 28 | ||||
-rw-r--r-- | testsuites/psxtests/psxsysconf/init.c | 68 | ||||
-rw-r--r-- | testsuites/psxtests/psxsysconf/psxsysconf.scn | 9 | ||||
-rw-r--r-- | testsuites/psxtests/psxsysconf/system.h | 39 |
8 files changed, 154 insertions, 1 deletions
diff --git a/testsuites/psxtests/ChangeLog b/testsuites/psxtests/ChangeLog index f5c4f4a379..0aca088a0a 100644 --- a/testsuites/psxtests/ChangeLog +++ b/testsuites/psxtests/ChangeLog @@ -1,5 +1,11 @@ 2007-12-17 Joel Sherrill <joel.sherrill@OARcorp.com> + * Makefile.am, configure.ac: Add test for sysconf(). + * psxsysconf/.cvsignore, psxsysconf/Makefile.am, psxsysconf/init.c, + psxsysconf/psxsysconf.scn, psxsysconf/system.h: New files. + +2007-12-17 Joel Sherrill <joel.sherrill@OARcorp.com> + * psx01/init.c, psx01/psx01.scn: Add more test cases for sched_rr_get_interval() and sched_get_priority_max(). diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am index df42842fb0..ec173d0923 100644 --- a/testsuites/psxtests/Makefile.am +++ b/testsuites/psxtests/Makefile.am @@ -6,7 +6,7 @@ ACLOCAL_AMFLAGS = -I ../aclocal SUBDIRS = psxhdrs psx01 psx02 psx03 psx04 psx05 psx06 psx07 psx08 psx09 \ psx10 psx11 psx12 psxtime psxtimer01 psxtimer02 psxcancel psxbarrier01 \ - psxmsgq01 psxrwlock01 psxsem01 psxspin01 psxenosys + psxmsgq01 psxrwlock01 psxsem01 psxspin01 psxenosys psxsysconf ## File IO tests SUBDIRS += psxfile01 psxreaddir psxstat psxmount psx13 psxchroot01 diff --git a/testsuites/psxtests/configure.ac b/testsuites/psxtests/configure.ac index 2c57875f01..e2946bafb7 100644 --- a/testsuites/psxtests/configure.ac +++ b/testsuites/psxtests/configure.ac @@ -54,6 +54,7 @@ psxrwlock01/Makefile psxsem01/Makefile psxspin01/Makefile psxstat/Makefile +psxsysconf/Makefile psxtime/Makefile psxtimer01/Makefile psxtimer02/Makefile diff --git a/testsuites/psxtests/psxsysconf/.cvsignore b/testsuites/psxtests/psxsysconf/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/psxtests/psxsysconf/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/psxtests/psxsysconf/Makefile.am b/testsuites/psxtests/psxsysconf/Makefile.am new file mode 100644 index 0000000000..9872d05c50 --- /dev/null +++ b/testsuites/psxtests/psxsysconf/Makefile.am @@ -0,0 +1,28 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = psxsysconf.exe +psxsysconf_exe_SOURCES = init.c system.h ../include/pmacros.h + +dist_rtems_tests_DATA = psxsysconf.scn + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +psxsysconf_exe_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/include +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psxsysconf_exe_OBJECTS) $(psxsysconf_exe_LDADD) +LINK_LIBS = $(psxsysconf_exe_LDLIBS) + +psxsysconf.exe$(EXEEXT): $(psxsysconf_exe_OBJECTS) $(psxsysconf_exe_DEPENDENCIES) + @rm -f psxsysconf.exe$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtests/psxsysconf/init.c b/testsuites/psxtests/psxsysconf/init.c new file mode 100644 index 0000000000..950f208f01 --- /dev/null +++ b/testsuites/psxtests/psxsysconf/init.c @@ -0,0 +1,68 @@ +/* + * COPYRIGHT (c) 1989-2007. + * 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$ + */ + +#define CONFIGURE_INIT +#include "system.h" +#include "tmacros.h" + +#include <unistd.h> +#include <stdint.h> +#include <errno.h> + +void *POSIX_Init( + void *argument +) +{ + long sc; + + puts( "\n\n*** POSIX TEST -- SYSCONF ***" ); + + puts( "sysconf -- bad configuration parameter - negative" ); + sc = sysconf( -1 ); + fatal_posix_service_status_errno( sc, EINVAL, "bad conf name" ); + + puts( "sysconf -- bad configuration parameter - too large" ); + sc = sysconf( LONG_MAX ); + fatal_posix_service_status_errno( sc, EINVAL, "bad conf name" ); + + sc = sysconf( _SC_CLK_TCK ); + printf( "sysconf - _SC_CLK_TCK=%d\n", sc ); + if ( sc == -1 ) + rtems_test_exit(0); + + sc = sysconf( _SC_OPEN_MAX ); + printf( "sysconf - _SC_OPEN_MAX=%d\n", sc ); + if ( sc == -1 ) + rtems_test_exit(0); + + sc = sysconf( _SC_GETPW_R_SIZE_MAX ); + printf( "sysconf - _SC_GETPW_R_SIZE_MAX=%d\n", sc ); + if ( sc == -1 ) + rtems_test_exit(0); + + sc = sysconf( _SC_PAGESIZE ); + printf( "sysconf - _SC_PAGESIZE=%d\n", sc ); + if ( sc == -1 ) + rtems_test_exit(0); + +#if defined(__sparc__) + /* Solaris _SC_STACK_PROT - 515 */ + sc = sysconf( _SC_PAGESIZE ); + printf( "sysconf - (SPARC only) _SC_STACK_PROT=%d\n", sc ); + if ( sc == -1 ) + rtems_test_exit(0); +#endif + + puts( "*** END OF POSIX TEST SYSCONF ***" ); + rtems_test_exit( 0 ); + + return NULL; /* just so the compiler thinks we returned something */ +} diff --git a/testsuites/psxtests/psxsysconf/psxsysconf.scn b/testsuites/psxtests/psxsysconf/psxsysconf.scn new file mode 100644 index 0000000000..990a92632f --- /dev/null +++ b/testsuites/psxtests/psxsysconf/psxsysconf.scn @@ -0,0 +1,9 @@ +*** POSIX TEST -- SYSCONF *** +sysconf -- bad configuration parameter - negative +sysconf -- bad configuration parameter - too large +sysconf - _SC_CLK_TCK=100 +sysconf - _SC_OPEN_MAX=3 +sysconf - _SC_GETPW_R_SIZE_MAX=1024 +sysconf - _SC_PAGESIZE=4096 +sysconf - (SPARC only) _SC_STACK_PROT=4096 +*** END OF POSIX TEST SYSCONF *** diff --git a/testsuites/psxtests/psxsysconf/system.h b/testsuites/psxtests/psxsysconf/system.h new file mode 100644 index 0000000000..9177b272bc --- /dev/null +++ b/testsuites/psxtests/psxsysconf/system.h @@ -0,0 +1,39 @@ +/* system.h + * + * This include file contains information that is included in every + * function in the test set. + * + * COPYRIGHT (c) 1989-1999. + * 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$ + */ + +/* functions */ + +#include <pmacros.h> +#include <unistd.h> +#include <errno.h> + +void *POSIX_Init( + void *argument +); + +/* configuration information */ + +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER + +#define CONFIGURE_MAXIMUM_POSIX_THREADS 2 + +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + +#include <rtems/confdefs.h> + +/* global variables */ + +/* end of include file */ |