diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-31 16:07:12 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-31 16:07:12 +0000 |
commit | c87593f0b01781996c466e340871f91d87a3d9d8 (patch) | |
tree | 46c78551dc2bb5dbb73a3bd92a62f1125358d56e /testsuites/psxtests/psx14 | |
parent | 2008-01-31 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-c87593f0b01781996c466e340871f91d87a3d9d8.tar.bz2 |
2008-01-31 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, configure.ac: Add psx14 to exercise POSIX API specific
portions of Object Services added to API.
* psx14/.cvsignore, psx14/Makefile.am, psx14/init.c, psx14/psx14.scn,
psx14/system.h: New files.
Diffstat (limited to 'testsuites/psxtests/psx14')
-rw-r--r-- | testsuites/psxtests/psx14/.cvsignore | 2 | ||||
-rw-r--r-- | testsuites/psxtests/psx14/Makefile.am | 28 | ||||
-rw-r--r-- | testsuites/psxtests/psx14/init.c | 65 | ||||
-rw-r--r-- | testsuites/psxtests/psx14/psx14.scn | 11 | ||||
-rw-r--r-- | testsuites/psxtests/psx14/system.h | 38 |
5 files changed, 144 insertions, 0 deletions
diff --git a/testsuites/psxtests/psx14/.cvsignore b/testsuites/psxtests/psx14/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/psxtests/psx14/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/psxtests/psx14/Makefile.am b/testsuites/psxtests/psx14/Makefile.am new file mode 100644 index 0000000000..e90eb2e1a1 --- /dev/null +++ b/testsuites/psxtests/psx14/Makefile.am @@ -0,0 +1,28 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = psx14.exe +psx14_exe_SOURCES = init.c system.h ../include/pmacros.h + +dist_rtems_tests_DATA = psx14.scn + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +psx14_exe_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/include +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psx14_exe_OBJECTS) $(psx14_exe_LDADD) +LINK_LIBS = $(psx14_exe_LDLIBS) + +psx14.exe$(EXEEXT): $(psx14_exe_OBJECTS) $(psx14_exe_DEPENDENCIES) + @rm -f psx14.exe$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtests/psx14/init.c b/testsuites/psxtests/psx14/init.c new file mode 100644 index 0000000000..d740cb1255 --- /dev/null +++ b/testsuites/psxtests/psx14/init.c @@ -0,0 +1,65 @@ +/* + * COPYRIGHT (c) 1989-2008. + * 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 <rtems.h> +#include "tmacros.h" + +void *POSIX_Init( + void *argument +) +{ + char name[128]; + char *ptr; + rtems_status_code status; + + puts( "\n\n*** POSIX TEST 14 ***" ); + + ptr = rtems_object_get_name( pthread_self(), 128, name ); + printf( "rtems_object_get_name returned (%s) for init thread\n", ptr ); + + /* Set my name to Justin */ + puts( "Setting current thread name to Justin" ); + status = rtems_object_set_name( pthread_self(), "Justin" ); + directive_failed( status, "rtems_object_set_name" ); + + ptr = rtems_object_get_name( pthread_self(), 128, name ); + printf( "rtems_object_get_name returned (%s) for init thread\n", ptr ); + + /* Set my name to Jordan */ + puts( "Setting current thread name to Jordan" ); + status = rtems_object_set_name( pthread_self(), "Jordan" ); + directive_failed( status, "rtems_object_set_name" ); + + ptr = rtems_object_get_name( pthread_self(), 128, name ); + printf( "rtems_object_get_name returned (%s) for init thread\n", ptr ); + + /* exercise the POSIX path through some routines */ + printf( "rtems_object_api_minimum_class(OBJECTS_POSIX_API) returned %d\n", + rtems_object_api_minimum_class(OBJECTS_POSIX_API) ); + printf( "rtems_object_api_maximum_class(OBJECTS_POSIX_API) returned %d\n", + rtems_object_api_maximum_class(OBJECTS_POSIX_API) ); + + printf( "rtems_object_get_api_name(POSIX_API) = %s\n", + rtems_object_get_api_name(OBJECTS_POSIX_API) ); + + printf("rtems_object_get_api_class_name(POSIX_API, POSIX_KEYS) = %s\n", + rtems_object_get_api_class_name( OBJECTS_POSIX_API, OBJECTS_POSIX_KEYS) + ); + + + puts( "*** END OF POSIX TEST 14 ***" ); + rtems_test_exit( 0 ); + + return NULL; + +} diff --git a/testsuites/psxtests/psx14/psx14.scn b/testsuites/psxtests/psx14/psx14.scn new file mode 100644 index 0000000000..f1d1b850d3 --- /dev/null +++ b/testsuites/psxtests/psx14/psx14.scn @@ -0,0 +1,11 @@ +*** POSIX TEST 14 *** +rtems_object_get_name returned () for init thread +Setting current thread name to Justin +rtems_object_get_name returned (Justin) for init thread +Setting current thread name to Jordan +rtems_object_get_name returned (Jordan) for init thread +rtems_object_api_minimum_class(OBJECTS_POSIX_API) returned 1 +rtems_object_api_maximum_class(OBJECTS_POSIX_API) returned 12 +rtems_object_get_api_name(POSIX_API) = POSIX +rtems_object_get_api_class_name(POSIX_API, POSIX_KEYS) = Key +*** END OF POSIX TEST 14 *** diff --git a/testsuites/psxtests/psx14/system.h b/testsuites/psxtests/psx14/system.h new file mode 100644 index 0000000000..150bf8e21c --- /dev/null +++ b/testsuites/psxtests/psx14/system.h @@ -0,0 +1,38 @@ +/* system.h + * + * This include file contains information that is included in every + * function in the test set. + * + * COPYRIGHT (c) 1989-2008. + * 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> +#include <sched.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> + +/* end of include file */ |