diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-08-19 14:46:52 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-08-19 14:46:52 +0000 |
commit | f132a3d8ddf20b1774a717870fa708c83b40115a (patch) | |
tree | 9973dc5f8d0c108d97eb14c88560c7640582e768 /testsuites | |
parent | e77c723878a094ee0e54fb0970cc3d3b7d65f83a (diff) |
2008-08-19 Tim FitzGeorge <tim.fitzgeorge@astrium.eads.net>
PR 1296/cpukit.
* psxtimer01/psxtimer.c, psxtimer01/psxtimer01.scn: POSIX timers use
incorrect repeat interval. This patch fixes the following problems in
the test.
(1) Adds test for value of it_interval.tv_nsec.
(2) Corrects test for absolute timer in past.
(3) Modifies test to use different initial and repeat periods.
(4) Updates psxtimer01.scn to match results.
Diffstat (limited to 'testsuites')
-rw-r--r-- | testsuites/psxtests/ChangeLog | 11 | ||||
-rw-r--r-- | testsuites/psxtests/psxtimer01/psxtimer.c | 6 | ||||
-rw-r--r-- | testsuites/psxtests/psxtimer01/psxtimer01.scn | 71 |
3 files changed, 51 insertions, 37 deletions
diff --git a/testsuites/psxtests/ChangeLog b/testsuites/psxtests/ChangeLog index 32d1d67afa..07463641ab 100644 --- a/testsuites/psxtests/ChangeLog +++ b/testsuites/psxtests/ChangeLog @@ -1,3 +1,14 @@ +2008-08-19 Tim FitzGeorge <tim.fitzgeorge@astrium.eads.net> + + PR 1296/cpukit. + * psxtimer01/psxtimer.c, psxtimer01/psxtimer01.scn: POSIX timers use + incorrect repeat interval. This patch fixes the following problems in + the test. + (1) Adds test for value of it_interval.tv_nsec. + (2) Corrects test for absolute timer in past. + (3) Modifies test to use different initial and repeat periods. + (4) Updates psxtimer01.scn to match results. + 2008-08-15 Joel Sherrill <joel.sherrill@OARcorp.com> PR 1297/cpukit diff --git a/testsuites/psxtests/psxtimer01/psxtimer.c b/testsuites/psxtests/psxtimer01/psxtimer.c index bfe4e278ae..0a36b24aa8 100644 --- a/testsuites/psxtests/psxtimer01/psxtimer.c +++ b/testsuites/psxtests/psxtimer01/psxtimer.c @@ -97,6 +97,7 @@ void * task_a (void *arg) /* set the timer in periodic mode */ timerdata.it_interval = my_period; timerdata.it_value = my_period; + timerdata.it_value.tv_sec *= 2; if (timer_settime(timer_id,POSIX_TIMER_RELATIVE,&timerdata,&timergetdata) == -1) { perror ("Error in timer setting\n"); pthread_exit ((void *) -1); @@ -186,7 +187,7 @@ void * task_b (void *arg) pthread_mutex_lock (&data.mutex); clock = time(NULL); - printf("Executing task B with count = %2i %s\n", + printf("Executing task B with count = %2i %s", params->count, ctime(&clock) ); data.updated = TRUE; @@ -234,6 +235,7 @@ void * task_c (void *arg) /* set the timer in periodic mode */ timerdata.it_interval = my_period; timerdata.it_value = my_period; + timerdata.it_value.tv_sec *= 2; if (timer_settime(timer_id,POSIX_TIMER_RELATIVE,&timerdata,NULL) == -1) { perror ("Error in timer setting\n"); pthread_exit ((void *) -1); @@ -257,7 +259,7 @@ void * task_c (void *arg) pthread_cond_wait (&data.sync,&data.mutex); } clock = time(NULL); - printf("Executing task C with count = %2i %s\n", + printf("Executing task C with count = %2i %s", params->count, ctime(&clock) ); diff --git a/testsuites/psxtests/psxtimer01/psxtimer01.scn b/testsuites/psxtests/psxtimer01/psxtimer01.scn index bf8f73bca3..44ee523a7f 100644 --- a/testsuites/psxtests/psxtimer01/psxtimer01.scn +++ b/testsuites/psxtests/psxtimer01/psxtimer01.scn @@ -1,40 +1,41 @@ *** POSIX Timers Test 01 *** task A: timer_settime - value=0:0 interval=0:0 -Executing task A Fri Jan 1 00:00:01 1988 -Executing task B with x = 1 Fri Jan 1 00:00:02 1988 -Executing task A Fri Jan 1 00:00:02 1988 -Executing task C with x = 1 Fri Jan 1 00:00:03 1988 -Executing task A Fri Jan 1 00:00:03 1988 -Executing task B with x = 2 Fri Jan 1 00:00:04 1988 -Executing task A Fri Jan 1 00:00:04 1988 -Executing task A Fri Jan 1 00:00:05 1988 -Executing task B with x = 3 Fri Jan 1 00:00:06 1988 -Executing task C with x = 3 Fri Jan 1 00:00:06 1988 -Executing task A Fri Jan 1 00:00:06 1988 -Executing task A Fri Jan 1 00:00:07 1988 -Executing task B with x = 4 Fri Jan 1 00:00:08 1988 -Executing task A Fri Jan 1 00:00:08 1988 -Executing task C with x = 4 Fri Jan 1 00:00:09 1988 -Executing task A Fri Jan 1 00:00:09 1988 -Executing task B with x = 5 Fri Jan 1 00:00:10 1988 -Executing task A Fri Jan 1 00:00:10 1988 -Executing task A Fri Jan 1 00:00:11 1988 -Executing task B with x = 6 Fri Jan 1 00:00:12 1988 -Executing task C with x = 6 Fri Jan 1 00:00:12 1988 -Executing task A Fri Jan 1 00:00:12 1988 -Executing task A Fri Jan 1 00:00:13 1988 -Executing task B with x = 7 Fri Jan 1 00:00:14 1988 -Executing task A Fri Jan 1 00:00:14 1988 -Executing task C with x = 7 Fri Jan 1 00:00:15 1988 -Executing task A Fri Jan 1 00:00:15 1988 -Executing task B with x = 8 Fri Jan 1 00:00:16 1988 -Executing task A Fri Jan 1 00:00:16 1988 -Executing task A Fri Jan 1 00:00:17 1988 -Executing task B with x = 9 Fri Jan 1 00:00:18 1988 -Executing task C with x = 9 Fri Jan 1 00:00:18 1988 -Executing task A Fri Jan 1 00:00:18 1988 +Executing task B with count = 10 Fri Jan 1 00:00:02 1988 +Executing task A with count = 20 Fri Jan 1 00:00:02 1988 +Executing task A with count = 19 Fri Jan 1 00:00:03 1988 +Executing task B with count = 9 Fri Jan 1 00:00:04 1988 +Executing task A with count = 18 Fri Jan 1 00:00:04 1988 +Executing task A with count = 17 Fri Jan 1 00:00:05 1988 +Executing task B with count = 8 Fri Jan 1 00:00:06 1988 +Executing task C with count = 6 Fri Jan 1 00:00:06 1988 +Executing task A with count = 16 Fri Jan 1 00:00:06 1988 +Executing task A with count = 15 Fri Jan 1 00:00:07 1988 +Executing task B with count = 7 Fri Jan 1 00:00:08 1988 +Executing task A with count = 14 Fri Jan 1 00:00:08 1988 +Executing task C with count = 5 Fri Jan 1 00:00:09 1988 +Executing task A with count = 13 Fri Jan 1 00:00:09 1988 +Executing task B with count = 6 Fri Jan 1 00:00:10 1988 +Executing task A with count = 12 Fri Jan 1 00:00:10 1988 +Executing task A with count = 11 Fri Jan 1 00:00:11 1988 +Executing task B with count = 5 Fri Jan 1 00:00:12 1988 +Executing task C with count = 4 Fri Jan 1 00:00:12 1988 +Executing task A with count = 10 Fri Jan 1 00:00:12 1988 +Executing task A with count = 9 Fri Jan 1 00:00:13 1988 +Executing task B with count = 4 Fri Jan 1 00:00:14 1988 +Executing task A with count = 8 Fri Jan 1 00:00:14 1988 +Executing task C with count = 3 Fri Jan 1 00:00:15 1988 +Executing task A with count = 7 Fri Jan 1 00:00:15 1988 +Executing task B with count = 3 Fri Jan 1 00:00:16 1988 +Executing task A with count = 6 Fri Jan 1 00:00:16 1988 +Executing task A with count = 5 Fri Jan 1 00:00:17 1988 +Executing task B with count = 2 Fri Jan 1 00:00:18 1988 +Executing task C with count = 2 Fri Jan 1 00:00:18 1988 +Executing task A with count = 4 Fri Jan 1 00:00:18 1988 +Executing task A with count = 3 Fri Jan 1 00:00:19 1988 +Executing task B with count = 1 Fri Jan 1 00:00:20 1988 +Executing task A with count = 2 Fri Jan 1 00:00:20 1988 +Executing task C with count = 1 Fri Jan 1 00:00:21 1988 +Executing task A with count = 1 Fri Jan 1 00:00:21 1988 task C: timer_getoverrun - overruns=0 task C: timer_gettime - 2:0 remaining from 3:0 -Executing task A Fri Jan 1 00:00:19 1988 -Executing task B with x = 10 Fri Jan 1 00:00:20 1988 *** END OF POSIX Timers Test 01 *** |