2009-11-11 Joel Sherrill <joel.sherrill@oarcorp.com>

PR 1466/tests
	* Makefile.am, configure.ac, psxclock/init.c, psxclock/psxclock.doc,
	psxclock/psxclock.scn, psxkey03/init.c, psxsignal02/init.c,
	psxsignal03/init.c, psxstack01/init.c: Remove usleep() from tests.
	Add test specifically to test it since it is deprecated as of
	POSIX.1-2008.
	* psxusleep/.cvsignore, psxusleep/Makefile.am, psxusleep/init.c,
	psxusleep/psxusleep.doc, psxusleep/psxusleep.scn: New files.
This commit is contained in:
Joel Sherrill
2009-11-12 00:21:51 +00:00
parent 0c116189aa
commit ea7d86b245
15 changed files with 176 additions and 15 deletions
+11
View File
@@ -1,3 +1,14 @@
2009-11-11 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1466/tests
* Makefile.am, configure.ac, psxclock/init.c, psxclock/psxclock.doc,
psxclock/psxclock.scn, psxkey03/init.c, psxsignal02/init.c,
psxsignal03/init.c, psxstack01/init.c: Remove usleep() from tests.
Add test specifically to test it since it is deprecated as of
POSIX.1-2008.
* psxusleep/.cvsignore, psxusleep/Makefile.am, psxusleep/init.c,
psxusleep/psxusleep.doc, psxusleep/psxusleep.scn: New files.
2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com>
* psxcancel01/init.c: Initialize start time.
+1 -1
View File
@@ -14,7 +14,7 @@ SUBDIRS += psxhdrs psx01 psx02 psx03 psx04 psx05 psx06 psx07 psx08 psx09 \
psxkey03 psxitimer psxmsgq01 psxmsgq02 psxmsgq03 psxmsgq04 \
psxmutexattr01 psxobj01 psxrwlock01 psxsem01 psxsignal01 psxsignal02 \
psxsignal03 psxsignal04 psxsignal05 psxspin01 psxspin02 psxsysconf \
psxtime psxtimer01 psxtimer02 psxualarm psxfatal01 psxfatal02 \
psxtime psxtimer01 psxtimer02 psxualarm psxusleep psxfatal01 psxfatal02 \
psxintrcritical01 psxstack01
endif
+1
View File
@@ -115,5 +115,6 @@ psxtime/Makefile
psxtimer01/Makefile
psxtimer02/Makefile
psxualarm/Makefile
psxusleep/Makefile
])
AC_OUTPUT
+6 -4
View File
@@ -34,7 +34,7 @@ rtems_task Init(
time_t seconds1;
unsigned int remaining;
struct tm tm;
useconds_t useconds;
struct timespec delay_request;
puts( "\n\n*** POSIX CLOCK TEST ***" );
@@ -206,9 +206,11 @@ rtems_task Init(
printf( "Init: sec (%ld), nsec (%ld) remaining\n", tr.tv_sec, tr.tv_nsec );
rtems_test_assert( !tr.tv_sec && !tr.tv_nsec );
puts( "Init: usleep - 1.35 seconds" );
useconds = usleep ( 1350000 );
rtems_test_assert( useconds < 1350000 );
puts( "Init: nanosleep - 1.35 seconds" );
delay_request.tv_sec = 1;
delay_request.tv_nsec = 35000000;
sc = nanosleep( &delay_request, NULL );
assert( !sc );
/* print the current real time again */
sc = clock_gettime( CLOCK_REALTIME, &tv );
@@ -17,7 +17,6 @@ directives:
clock_settime
clock_gettime
nanosleep
usleep
sleep
concepts:
+1 -1
View File
@@ -28,7 +28,7 @@ Init: nanosleep - yield with NULL time remaining
Init: nanosleep - 1.05 seconds
Fri May 24 11:05:06 1996
Init: sec (0), nsec (0) remaining
Init: usleep - 1.35 seconds
Init: nanosleep - 1.35 seconds
Fri May 24 11:05:07 1996
clock_gettime - CLOCK_THREAD_CPUTIME -- ENOSYS
clock_settime - CLOCK_PROCESS_CPUTIME -- ENOSYS
+9 -4
View File
@@ -40,8 +40,9 @@ void *POSIX_Init(
void *ignored
)
{
pthread_t thread;
int sc;
pthread_t thread;
int sc;
struct timespec delay_request;
puts( "\n\n*** TEST KEY 03 ***" );
@@ -57,7 +58,10 @@ void *POSIX_Init(
assert( !sc );
puts( "Init - sleep - let thread run - OK" );
usleep(500000);
delay_request.tv_sec = 0;
delay_request.tv_nsec = 5 * 100000000;
sc = nanosleep( &delay_request, NULL );
assert( !sc );
puts( "Init - pthread_key_delete - OK" );
sc = pthread_key_delete( Key );
@@ -76,7 +80,8 @@ void *POSIX_Init(
assert( !sc );
puts( "Init - sleep - let thread run - OK" );
usleep(500000);
sc = nanosleep( &delay_request, NULL );
assert( !sc );
puts( "Init - verify destructor did NOT ran" );
assert( destructor_ran == false );
+5 -1
View File
@@ -125,6 +125,7 @@ void *POSIX_Init(
struct sched_param param;
Test_t *test;
struct sigaction act;
struct timespec delay_request;
puts( "\n\n*** POSIX TEST SIGNAL 02 ***" );
@@ -161,7 +162,10 @@ void *POSIX_Init(
assert( !sc );
puts( "Init - sleep - let thread settle - OK" );
usleep(500000);
delay_request.tv_sec = 0;
delay_request.tv_nsec = 50000000;
sc = nanosleep( &delay_request, NULL );
assert( !sc );
}
puts( "Init - sending SIGUSR1" );
+7 -2
View File
@@ -148,6 +148,7 @@ void *POSIX_Init(
struct sigaction act;
bool trueArg = true;
bool falseArg = false;
struct timespec delay_request;
puts( "\n\n*** POSIX TEST SIGNAL " TEST_NAME " ***" );
puts( "Init - Variation is: " TEST_STRING );
@@ -168,10 +169,14 @@ void *POSIX_Init(
assert( !sc );
puts( "Init - sleep - let threads settle - OK" );
usleep(500000);
delay_request.tv_sec = 0;
delay_request.tv_nsec = 5 * 100000000;
sc = nanosleep( &delay_request, NULL );
assert( !sc );
puts( "Init - sleep - SignalBlocked thread settle - OK" );
usleep(500000);
sc = nanosleep( &delay_request, NULL );
assert( !sc );
printf( "Init - sending %s - deliver to one thread\n",
signal_name(SIGNAL_TWO));
+5 -1
View File
@@ -49,6 +49,7 @@ void *POSIX_Init(
int sc;
pthread_t id;
pthread_attr_t attr;
struct timespec delay_request;
puts( "\n\n*** POSIX STACK ATTRIBUTE TEST 01 ***" );
@@ -72,7 +73,10 @@ void *POSIX_Init(
assert( !sc );
puts( "Init - let other thread run" );
usleep( 500000 );
delay_request.tv_sec = 0;
delay_request.tv_nsec = 5 * 100000000;
sc = nanosleep( &delay_request, NULL );
assert( !sc );
puts( "*** END OF POSIX STACK ATTRIBUTE TEST 01 ***" );
rtems_test_exit(0);
+2
View File
@@ -0,0 +1,2 @@
Makefile
Makefile.in
+29
View File
@@ -0,0 +1,29 @@
##
## $Id$
##
MANAGERS = all
rtems_tests_PROGRAMS = psxusleep
psxusleep_SOURCES = init.c ../include/pmacros.h
dist_rtems_tests_DATA = psxusleep.scn
dist_rtems_tests_DATA += psxusleep.doc
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
psxusleep_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
AM_CPPFLAGS += -I$(top_srcdir)/include
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(psxusleep_OBJECTS) $(psxusleep_LDADD)
LINK_LIBS = $(psxusleep_LDLIBS)
psxusleep$(EXEEXT): $(psxusleep_OBJECTS) $(psxusleep_DEPENDENCIES)
@rm -f psxusleep$(EXEEXT)
$(make-exe)
include $(top_srcdir)/../automake/local.am
+68
View File
@@ -0,0 +1,68 @@
/*
* COPYRIGHT (c) 1989-2009.
* 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 <pmacros.h>
#include <time.h>
#include <errno.h>
rtems_task Init(
rtems_task_argument argument
)
{
struct tm tm;
struct timespec tv;
useconds_t remaining;
int sc;
puts( "\n\n*** POSIX USLEEP TEST ***" );
tm_build_time( &tm, TM_FRIDAY, TM_MAY, 24, 96, 11, 5, 0 );
/* set the time of day, and print our buffer in multiple ways */
tv.tv_nsec = 0;
tv.tv_sec = mktime( &tm );
rtems_test_assert( tv.tv_sec != -1 );
/* now set the time of day */
printf( asctime( &tm ) );
puts( "Init: clock_settime - SUCCESSFUL" );
sc = clock_settime( CLOCK_REALTIME, &tv );
rtems_test_assert( !sc );
printf( asctime( &tm ) );
printf( ctime( &tv.tv_sec ) );
/* use sleep to delay */
remaining = usleep( 3 * 1000000 );
rtems_test_assert( !remaining );
sc = clock_gettime( CLOCK_REALTIME, &tv );
rtems_test_assert( !sc );
printf( ctime( &tv.tv_sec ) );
puts( "*** END OF POSIX USLEEP TEST ***" );
rtems_test_exit(0);
}
/* configuration information */
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_MAXIMUM_TASKS 1
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
@@ -0,0 +1,24 @@
#
# $Id$
#
# COPYRIGHT (c) 1989-2009.
# 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: psxusleep
directives:
usleep
concepts:
+ This test exercises the usleep() method.
NOTE: usleep() has been deprecated by Open Group. This is why usleep is not
used in any other test and why this test exists.
@@ -0,0 +1,7 @@
*** POSIX USLEEP TEST ***
Fri May 24 11:05:00 1996
Init: clock_settime - SUCCESSFUL
Fri May 24 11:05:00 1996
Fri May 24 11:05:00 1996
Fri May 24 11:05:03 1996
*** END OF POSIX USLEEP TEST ***