From: Garrett C. <ris...@li...> - 2010-06-20 04:22:10
|
The branch, pu, has been updated via 08e703bbc89cf75fa7a610cf68013bf30df203b4 (commit) via 2d87716cc05b592a1be877828e21364562478c52 (commit) via 5966adba3b50184d0d55a21fbe8def0279aaaf68 (commit) from 3a6a31acc110ee39395b7ddb28cb325682cfbe1e (commit) - Log ----------------------------------------------------------------- commit 08e703bbc89cf75fa7a610cf68013bf30df203b4 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 19 21:19:27 2010 -0700 Make GNU make requirement more apparent. Signed-off-by: Garrett Cooper <yan...@gm...> commit 2d87716cc05b592a1be877828e21364562478c52 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 19 21:19:01 2010 -0700 Fix a typo in a comment. Signed-off-by: Garrett Cooper <yan...@gm...> commit 5966adba3b50184d0d55a21fbe8def0279aaaf68 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 19 21:16:47 2010 -0700 Fix typo. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/GNUmakefile | 2 +- .../conformance/interfaces/sched_yield/1-1.c | 4 ++-- .../functional/mqueues/{Makefile => GNUmakefile} | 0 .../semaphores/{Makefile => GNUmakefile} | 0 .../functional/threads/{Makefile => GNUmakefile} | 0 .../threads/condvar/{Makefile => GNUmakefile} | 0 .../threads/pi_test/{Makefile => GNUmakefile} | 0 .../threads/robust_test/{Makefile => GNUmakefile} | 0 .../threads/schedule/{Makefile => GNUmakefile} | 0 .../functional/timers/{Makefile => GNUmakefile} | 0 .../timers/clocks/{Makefile => GNUmakefile} | 0 .../timers/timers/{Makefile => GNUmakefile} | 0 .../stress/mqueues/{Makefile => GNUmakefile} | 0 .../stress/semaphores/{Makefile => GNUmakefile} | 0 .../stress/threads/fork/{Makefile => GNUmakefile} | 0 .../pthread_cancel/{Makefile => GNUmakefile} | 0 .../pthread_cond_init/{Makefile => GNUmakefile} | 0 .../{Makefile => GNUmakefile} | 0 .../pthread_create/{Makefile => GNUmakefile} | 0 .../threads/pthread_exit/{Makefile => GNUmakefile} | 0 .../{Makefile => GNUmakefile} | 0 .../threads/pthread_kill/{Makefile => GNUmakefile} | 0 .../pthread_mutex_init/{Makefile => GNUmakefile} | 0 .../pthread_mutex_lock/{Makefile => GNUmakefile} | 0 .../{Makefile => GNUmakefile} | 0 .../threads/pthread_once/{Makefile => GNUmakefile} | 0 .../threads/pthread_self/{Makefile => GNUmakefile} | 0 .../threads/sem_getvalue/{Makefile => GNUmakefile} | 0 .../threads/sem_init/{Makefile => GNUmakefile} | 0 .../threads/sem_open/{Makefile => GNUmakefile} | 0 30 files changed, 3 insertions(+), 3 deletions(-) rename testcases/open_posix_testsuite/functional/mqueues/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/functional/semaphores/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/functional/threads/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/functional/threads/condvar/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/functional/threads/pi_test/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/functional/threads/robust_test/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/functional/threads/schedule/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/functional/timers/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/functional/timers/clocks/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/functional/timers/timers/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/mqueues/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/semaphores/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/fork/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_cancel/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_cond_init/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_cond_timedwait/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_create/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_exit/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_getschedparam/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_kill/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_mutex_init/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_mutex_lock/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_mutex_trylock/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_once/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/pthread_self/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/sem_getvalue/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/sem_init/{Makefile => GNUmakefile} (100%) rename testcases/open_posix_testsuite/stress/threads/sem_open/{Makefile => GNUmakefile} (100%) diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile index fa388de..b5ff3ca 100644 --- a/testcases/open_posix_testsuite/GNUmakefile +++ b/testcases/open_posix_testsuite/GNUmakefile @@ -63,7 +63,7 @@ CFLAGS += $(call check_gcc,-std=gnu99,) INCLUDE = -Iinclude -# FIXME: exaust cmd line length +# FIXME: exhaust cmd line length clean: @rm -f $(LOGFILE) # Timeout helper files diff --git a/testcases/open_posix_testsuite/conformance/interfaces/sched_yield/1-1.c b/testcases/open_posix_testsuite/conformance/interfaces/sched_yield/1-1.c index e9e54f4..31908dc 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/sched_yield/1-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/sched_yield/1-1.c @@ -167,7 +167,7 @@ void * busy_thread(void *arg){ } -void buzy_process(int cpu){ +void busy_process(int cpu){ struct sched_param param; #ifdef __linux__ @@ -226,7 +226,7 @@ int main() { return PTS_UNRESOLVED; } else if (child_pid[i] == 0){ - buzy_process(i); + busy_process(i); printf("This code should not be executed.\n"); return PTS_UNRESOLVED; diff --git a/testcases/open_posix_testsuite/functional/mqueues/Makefile b/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/mqueues/Makefile rename to testcases/open_posix_testsuite/functional/mqueues/GNUmakefile diff --git a/testcases/open_posix_testsuite/functional/semaphores/Makefile b/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/semaphores/Makefile rename to testcases/open_posix_testsuite/functional/semaphores/GNUmakefile diff --git a/testcases/open_posix_testsuite/functional/threads/Makefile b/testcases/open_posix_testsuite/functional/threads/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/threads/Makefile rename to testcases/open_posix_testsuite/functional/threads/GNUmakefile diff --git a/testcases/open_posix_testsuite/functional/threads/condvar/Makefile b/testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/threads/condvar/Makefile rename to testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile b/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/threads/pi_test/Makefile rename to testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile b/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/threads/robust_test/Makefile rename to testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile diff --git a/testcases/open_posix_testsuite/functional/threads/schedule/Makefile b/testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/threads/schedule/Makefile rename to testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile diff --git a/testcases/open_posix_testsuite/functional/timers/Makefile b/testcases/open_posix_testsuite/functional/timers/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/timers/Makefile rename to testcases/open_posix_testsuite/functional/timers/GNUmakefile diff --git a/testcases/open_posix_testsuite/functional/timers/clocks/Makefile b/testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/timers/clocks/Makefile rename to testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile diff --git a/testcases/open_posix_testsuite/functional/timers/timers/Makefile b/testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/functional/timers/timers/Makefile rename to testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/mqueues/Makefile b/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/mqueues/Makefile rename to testcases/open_posix_testsuite/stress/mqueues/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/semaphores/Makefile b/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/semaphores/Makefile rename to testcases/open_posix_testsuite/stress/semaphores/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/fork/Makefile b/testcases/open_posix_testsuite/stress/threads/fork/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/fork/Makefile rename to testcases/open_posix_testsuite/stress/threads/fork/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_cancel/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_cancel/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_cancel/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_cancel/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_cond_init/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_cond_init/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_cond_init/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_cond_init/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_cond_timedwait/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_cond_timedwait/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_cond_timedwait/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_cond_timedwait/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_create/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_create/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_create/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_create/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_exit/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_exit/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_exit/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_exit/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_getschedparam/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_getschedparam/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_getschedparam/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_getschedparam/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_kill/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_kill/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_kill/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_kill/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_mutex_init/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_mutex_init/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_mutex_init/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_mutex_init/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_mutex_lock/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_mutex_lock/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_mutex_lock/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_mutex_lock/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_mutex_trylock/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_mutex_trylock/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_mutex_trylock/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_mutex_trylock/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_once/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_once/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_once/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_once/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_self/Makefile b/testcases/open_posix_testsuite/stress/threads/pthread_self/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/pthread_self/Makefile rename to testcases/open_posix_testsuite/stress/threads/pthread_self/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/sem_getvalue/Makefile b/testcases/open_posix_testsuite/stress/threads/sem_getvalue/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/sem_getvalue/Makefile rename to testcases/open_posix_testsuite/stress/threads/sem_getvalue/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/sem_init/Makefile b/testcases/open_posix_testsuite/stress/threads/sem_init/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/sem_init/Makefile rename to testcases/open_posix_testsuite/stress/threads/sem_init/GNUmakefile diff --git a/testcases/open_posix_testsuite/stress/threads/sem_open/Makefile b/testcases/open_posix_testsuite/stress/threads/sem_open/GNUmakefile similarity index 100% rename from testcases/open_posix_testsuite/stress/threads/sem_open/Makefile rename to testcases/open_posix_testsuite/stress/threads/sem_open/GNUmakefile hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 04:38:59
|
The branch, pu, has been updated via b914cb45c1dac557b89618e93719a9f217cfcb1c (commit) from 08e703bbc89cf75fa7a610cf68013bf30df203b4 (commit) - Log ----------------------------------------------------------------- commit b914cb45c1dac557b89618e93719a9f217cfcb1c Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 19 21:36:42 2010 -0700 Don't assume make is GNU make. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/GNUmakefile | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile index b5ff3ca..35d058f 100644 --- a/testcases/open_posix_testsuite/GNUmakefile +++ b/testcases/open_posix_testsuite/GNUmakefile @@ -71,7 +71,7 @@ clean: # Built runnable tests @find $(top_builddir) -iname \*.test | xargs -n 40 rm -f {} @find $(top_builddir) -iname \*~ -o -iname \*.o | xargs -n 40 rm -f {} - @$(foreach DIR,$(FUNCTIONAL_MAKE),make -C $(DIR) clean >> /dev/null 2>&1;) >> /dev/null 2>&1 + @$(foreach DIR,$(FUNCTIONAL_MAKE),$(MAKE) -C $(DIR) clean >> /dev/null 2>&1;) >> /dev/null 2>&1 # Rule to run a build test # If the .o doesn't export main, then we don't need to link @@ -179,7 +179,7 @@ $(top_builddir)/t0.val: $(top_builddir)/t0 # Functional/Stress test build and execution functional-make: - $(foreach DIR,$(FUNCTIONAL_MAKE),make -C $(DIR);) + $(foreach DIR,$(FUNCTIONAL_MAKE),$(MAKE) -C $(DIR);) .PHONY: $(FUNCTIONAL_RUN) @@ -190,7 +190,7 @@ $(FUNCTIONAL_RUN): cd $(PWD) stress-make: - $(foreach DIR,$(STRESS_MAKE),make -C $(DIR);) + $(foreach DIR,$(STRESS_MAKE),$(MAKE) -C $(DIR);) .PHONY: $(STRESS_RUN) hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 09:31:14
|
The branch, pu, has been updated via 9aac6e50973d30ad30fb1473b44af7f166f848e8 (commit) from 80886b520423c015b63cff03082e274147042243 (commit) - Log ----------------------------------------------------------------- commit 9aac6e50973d30ad30fb1473b44af7f166f848e8 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 02:26:08 2010 -0700 Add compatibility bit for BSD setpgrp(2). Cause POSIX came to the party late, not BSD (and we're testing killpg, not setpgrp in this test)... Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: .../conformance/interfaces/killpg/1-2.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/testcases/open_posix_testsuite/conformance/interfaces/killpg/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/killpg/1-2.c index 85f1a99..7c175b8 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/killpg/1-2.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/killpg/1-2.c @@ -45,7 +45,17 @@ int main() sigaction(SIGTOTEST, &act, 0); /* change child's process group id */ + + /* + * XXX: POSIX 1003.1-2001 added setpgrp(2) to BASE, but + * unfortunately BSD has had their own implementations for + * ages for compatibility reasons. + */ +#if __FreeBSD__ || __NetBSD__ || __OpenBSD__ + setpgrp(0, 0); +#else setpgrp(); +#endif sigpause(SIGABRT); hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 11:57:20
|
The branch, pu, has been updated via f73e148e8146a7492aded2908f1a4a1a4a860d5b (commit) via 524c6e9c784f6863ff24784eae72a9f3056e69fc (commit) via 2cc595d69a445915d5dc4bf576d2eb92c673cc6d (commit) via fa985a9be4bdbb8c239ee2bcdb45b73f555f477b (commit) via 8188c9580a36b974ff944efa5e081932825a877d (commit) from 9aac6e50973d30ad30fb1473b44af7f166f848e8 (commit) - Log ----------------------------------------------------------------- commit f73e148e8146a7492aded2908f1a4a1a4a860d5b Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 04:56:40 2010 -0700 Remove bashism. Signed-off-by: Garrett Cooper <yan...@gm...> commit 524c6e9c784f6863ff24784eae72a9f3056e69fc Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 03:57:55 2010 -0700 Remove LDFLAGS complexity. Update BUILD. LDFLAGS use was completely bogus and incorrect (as seen via the work with LDLIBS+= -lrt working. Properly document the updates in BUILD. Signed-off-by: Garrett Cooper <yan...@gm...> commit 2cc595d69a445915d5dc4bf576d2eb92c673cc6d Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 03:33:48 2010 -0700 Set hardcoded bits for GNUmakefile switchover. Signed-off-by: Garrett Cooper <yan...@gm...> commit fa985a9be4bdbb8c239ee2bcdb45b73f555f477b Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 03:29:33 2010 -0700 Remove GNUisms. {,v} was a bashism, and the rest are gmake-isms. Signed-off-by: Garrett Cooper <yan...@gm...> commit 8188c9580a36b974ff944efa5e081932825a877d Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 03:13:25 2010 -0700 Add missing #include and remove some dead code. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/kernel/numa/test.sh | 2 +- testcases/open_posix_testsuite/BUILD | 40 ++++++++++------------ testcases/open_posix_testsuite/GNUmakefile | 50 ++++++++++++++------------- testcases/open_posix_testsuite/LDFLAGS | 16 --------- testcases/open_posix_testsuite/locate-test | 6 ++- testcases/open_posix_testsuite/t0.c | 32 ++++++------------ 6 files changed, 61 insertions(+), 85 deletions(-) delete mode 100644 testcases/open_posix_testsuite/LDFLAGS diff --git a/testcases/kernel/numa/test.sh b/testcases/kernel/numa/test.sh index 8e8efd4..3af59ca 100644 --- a/testcases/kernel/numa/test.sh +++ b/testcases/kernel/numa/test.sh @@ -49,7 +49,7 @@ else fi } -if [ "$CROSS_COMPILER" == "" ] then +if [ "$CROSS_COMPILER" = "" ] then chk_ifexist else echo no; diff --git a/testcases/open_posix_testsuite/BUILD b/testcases/open_posix_testsuite/BUILD index 067b530..55df344 100644 --- a/testcases/open_posix_testsuite/BUILD +++ b/testcases/open_posix_testsuite/BUILD @@ -8,9 +8,9 @@ are currently manual. IN GENERAL ========== -In general, if you need to link in a library, place the -l or -L commands -in the LDFLAGS file in the same directory as the Makefile. This will -ensure that these libraries are linked in. +In general, when calling *make: +- If you need pass in any libraries for linking, set the value via LDLIBS. +- If you need pass any other values to the linker, set the value via LDFLAGS. LINUX ===== @@ -29,7 +29,7 @@ kernel 2.6 and glibc-2.3.3. Clocks/Timers ============= Both Linux kernel 2.6 and Glibc support Clocks/Timers now. -Add the '-lrt' option to the LDFLAGS. +Add '-lrt' to LDLIBS. ======= Threads @@ -38,12 +38,11 @@ Threads LinuxThreads ------------- If LinuxThreads is the default POSIX thread implementation, -to build against LinuxThreads, add the line -lpthread to LDFLAGS. +to build against LinuxThreads, add '-lpthread' to LDLIBS. NPTL ---- -If NPTL is the default POSIX thread implementation, -add the line -lpthread to LDFLAGS. +If NPTL is the default POSIX thread implementation, add '-lpthread' to LDLIBS. Otherwise, to build against NPTL, export the following variable: @@ -60,7 +59,7 @@ To build against NGPT, export the following variables: export LD_PRELOAD=libpthread.so.0 export LD_LIBRARY_PATH="/usr/lib:/lib:$LD_LIBRARY_PATH" -Then make sure to add the line -lpthread to the file LDFLAGS. +Then make sure to add '-lpthread' to LDLIBS. ============== Message Queues @@ -73,14 +72,14 @@ document. posix1b ------- To build against the posix1b message queues, see the semaphores information for posix1b. -Also, add -I/usr/include/posix1b/ to LDFLAGS. +Also, add -I/usr/include/posix1b/ to CPPFLAGS. Wronski/Benedyczak ------------------ To build against the Michal Wronski/Krzysztof Benedyczak message queues, install the kernel patches from http://www.mat.uni.torun.pl/~wrona/posix_ipc/ -and then build the user library from the same site. Add -lmqueue to -LDFLAGS to run tests. +and then build the user library from the same site. Add '-lmqueue' to +LDLIBS to run tests. To create the message queue file system, do: # mkdir /dev/mqueue # mount -t mqueue none /dev/mqueue @@ -90,12 +89,14 @@ Semaphores ========== NPTL ---- -If NPTL is installed as default POSIX thread library, use -'-lpthread' and '-lrt' flags. +If NPTL is installed as default POSIX thread library, set '-lpthread -lrt' in +LDLIBS. Otherwise, to build against NPTL, export the following variable: + export GLIBCDIR=/path/to/NPTL/libc-build -Then in LDFLAGS, add the following lines: + +Then set the following to LDFLAGS: $GLIBCDIR/nptl/libpthread.so.0 $GLIBCDIR/libc.so.6 -Wl,-rpath,$GLIBCDIR:$GLIBCDIR/nptl:$GLIBCDIR/elf,-dynamic-linker,$GLIBCDIR/elf/ld-linux.so.2 @@ -107,9 +108,7 @@ and install the posix1b library. Start downloading it from: http://www.garret.ru/~knizhnik/posix1b.tar.gz Once you have the library compiled and installed in /usr/lib. -Add the following library in the LDFLAGS: - - -lposix1b +Add '-lposix1b' to LDLIBS: Make sure /usr/lib/ is in your PATH. @@ -120,10 +119,9 @@ Signals For the signals-related interfaces that start with "pthread_", refer to the Threads section above to learn how to build those particular tests. -Also, please note that if you using version of gcc older that version 3.2-7, -you may run into lots of build and link errors since our Makefile uses the -compiler options "-std=c99" and "-std=gnu99". The solution to this is to -use gcc version 3.2-7 or newer. +Also, please note that if you using version of gcc older than version 3.2-7, +you may run into lots of build and link errors. Please use gcc version 3.2-7 +or newer. ===== XCOFF diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile index 637a821..f151ecd 100644 --- a/testcases/open_posix_testsuite/GNUmakefile +++ b/testcases/open_posix_testsuite/GNUmakefile @@ -23,7 +23,6 @@ TIMEOUT_VAL = 240 # The following value is the shell return value of a timedout application. # with the bash shell, the ret val of a killed application is 128 + signum # and under Linux, SIGALRM=14, so we have (Linux+bash) 142. -TIMEOUT_RET = $(shell cat $(top_builddir)/t0.val) top_builddir = . @@ -59,18 +58,17 @@ tests-pretty: CFLAGS += -D_POSIX_C_SOURCE=200112L # add -std=c99, -std=gnu99 if compiler supports it (gcc-2.95.3 does not). -check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi) -CFLAGS += $(call check_gcc,-std=c99,) -CFLAGS += $(call check_gcc,-std=gnu99,) +CFLAGS += `$(CC) -std=c99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=c99"` +CFLAGS += `$(CC) -std=gnu99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=gnu99"` INCLUDE = -Iinclude # FIXME: exhaust cmd line length clean: @rm -f $(LOGFILE) -# Timeout helper files - @rm -f $(top_builddir)/t0{,.val} -# Built runnable tests + @# Timeout helper files + @rm -f $(top_builddir)/t0.val $(top_builddir)/t0 + @# Build runnable tests @find $(top_builddir) -iname \*.test | xargs -n 40 rm -f {} @find $(top_builddir) -iname \*~ -o -iname \*.o | xargs -n 40 rm -f {} @$(foreach DIR,$(FUNCTIONAL_MAKE),$(MAKE) -C $(DIR) clean >> /dev/null 2>&1;) >> /dev/null 2>&1 @@ -80,18 +78,19 @@ clean: .PRECIOUS: %.test %.test: %.o $(top_builddir)/t0 @COMPLOG=$(LOGFILE).$$$$; \ + TEST=`echo "$@" | sed -e 's,.test$$,,'`; \ [ -f $< ] || exit 0; \ { nm -g $< | grep -q ' T main\| D main'; } || \ - { echo "$(@:.test=): link: SKIP" | tee -a $(LOGFILE) && exit 0; }; \ + { echo "$$TEST: link: SKIP" | tee -a $(LOGFILE) && exit 0; }; \ if $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) > $$COMPLOG 2>&1; \ then \ - echo "$(@:.test=): link: PASS" | tee -a $(LOGFILE); \ + echo "$$TEST: link: PASS" | tee -a $(LOGFILE); \ else \ ( \ echo "$(@:.test=): link: FAILED. Linker output: "; \ cat $$COMPLOG; \ ) >> $(LOGFILE); \ - echo "$(@:.test=): link: FAILED "; \ + echo "$$TEST: link: FAILED "; \ fi; \ rm -f $$COMPLOG; @@ -100,6 +99,8 @@ clean: .PHONY: %.run-test %.run-test: %.test $(top_builddir)/t0.val @COMPLOG=$(LOGFILE).$$$$; \ + TEST=`echo "$@" | sed -e 's,.run-test$$,,'`; \ + TIMEOUT_RET=`cat $(top_builddir)/t0.val`; \ [ -f $< ] || exit 0; \ $(TIMEOUT) $< > $$COMPLOG 2>&1; \ RESULT=$$?; \ @@ -119,47 +120,48 @@ clean: then \ MSG="UNTESTED"; \ fi; \ - if [ $$RESULT -eq $(TIMEOUT_RET) ]; \ + if [ $$RESULT -eq $$TIMEOUT_RET ]; \ then \ MSG="HUNG"; \ fi; \ - if [ $$RESULT -gt 5 -a $$RESULT -ne $(TIMEOUT_RET) ]; \ + if [ $$RESULT -gt 5 -a $$RESULT -ne $$TIMEOUT_RET ]; \ then \ MSG="INTERRUPTED"; \ fi; \ if [ $$RESULT -eq 0 ]; \ then \ - echo "$(@:.run-test=): execution: PASS" | tee -a $(LOGFILE); \ + echo "$$TEST: execution: PASS" | tee -a $(LOGFILE); \ else \ ( \ - echo "$(@:.run-test=): execution: $$MSG: Output: "; \ + echo "$$TEST: execution: $$MSG: Output: "; \ cat $$COMPLOG; \ ) >> $(LOGFILE); \ - echo "$(@:.run-test=): execution: $$MSG "; \ + echo "$$TEST: execution: $$MSG "; \ fi; \ rm -f $$COMPLOG; $(top_builddir)/t0: $(top_builddir)/t0.c @echo Building timeout helper files; \ $(CC) -O2 -o $@ $< - + $(top_builddir)/t0.val: $(top_builddir)/t0 echo `$(top_builddir)/t0 0; echo $$?` > $(top_builddir)/t0.val - + %.run-test: %.sh $(top_builddir)/t0.val @COMPLOG=$(LOGFILE).$$$$; \ + TEST=`echo "$@" | sed -e 's,.run-test$$,,'`; \ chmod +x $<; \ $(TIMEOUT) $< > $$COMPLOG 2>&1; \ RESULT=$$?; \ if [ $$RESULT -eq 0 ]; \ then \ - echo "$(@:.run-test=): execution: PASS" | tee -a $(LOGFILE);\ + echo "$$TEST: execution: PASS" | tee -a $(LOGFILE);\ else \ ( \ - echo "$(@:.run-test=): execution: FAILED: Output: ";\ + echo "$$TEST: execution: FAILED: Output: ";\ cat $$COMPLOG; \ ) >> $(LOGFILE); \ - echo "$(@:.run-test=): execution: FAILED "; \ + echo "$$TEST: execution: FAILED "; \ fi; \ rm -f $$COMPLOG; @@ -167,15 +169,16 @@ $(top_builddir)/t0.val: $(top_builddir)/t0 .PRECIOUS: %.o %.o: %.c @COMPLOG=$(LOGFILE).$$$$; \ + TEST=`echo "$@" | sed -e 's,.o$$,,'`; \ if $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ $(LDFLAGS) > $$COMPLOG 2>&1; \ then \ - echo "$(@:.o=): build: PASS" | tee -a $(LOGFILE); \ + echo "$$TEST: build: PASS" | tee -a $(LOGFILE); \ else \ ( \ - echo "$(@:.o=): build: FAILED: Compiler output: "; \ + echo "$$TEST: build: FAILED: Compiler output: "; \ cat $$COMPLOG; \ ) >> $(LOGFILE); \ - echo "$(@:.o=): build: FAILED "; \ + echo "$$TEST: build: FAILED "; \ fi; \ rm -f $$COMPLOG; @@ -201,4 +204,3 @@ stress-run: $(STRESS_RUN) $(STRESS_RUN): cd $@; ./run.sh cd $(PWD) - diff --git a/testcases/open_posix_testsuite/LDFLAGS b/testcases/open_posix_testsuite/LDFLAGS deleted file mode 100644 index 9a8842c..0000000 --- a/testcases/open_posix_testsuite/LDFLAGS +++ /dev/null @@ -1,16 +0,0 @@ -#This file contains all lines needed for linking the test suites. -#These may be on one line or multiple lines. -# -#Place the -l, -L, or -D piece before the item to link. -#Lines beginning with # are comments. -# -#For example, -#-lpthread -D_GNU_SOURCE -# -#Recommended flags: --D_XOPEN_SOURCE=600 -lpthread -lrt -lm -# -# For use with Linux, you may try the following flags to -# allow for the NPTL-specific compilation (used in some test cases) -# Note: this sometimes require the package nptl-devel.*.rpm to be installed. -#-I /usr/include/nptl -L /usr/lib/nptl -D_XOPEN_SOURCE=600 -lpthread -lrt -lm diff --git a/testcases/open_posix_testsuite/locate-test b/testcases/open_posix_testsuite/locate-test index ce898c1..9e246e2 100755 --- a/testcases/open_posix_testsuite/locate-test +++ b/testcases/open_posix_testsuite/locate-test @@ -42,6 +42,8 @@ not support TESTs compiled from many different sources. EOF } +MAKEFILE=GNUmakefile + buildable=""; execs="" print_execs=0 @@ -60,7 +62,7 @@ do shift; ;; "--fmake") - find functional/ -maxdepth 2 -mindepth 2 -type f -name "Makefile" -exec dirname '{}' ';' + find functional/ -maxdepth 2 -mindepth 2 -type f -name $MAKEFILE -exec dirname '{}' ';' exit 0; ;; "--frun") @@ -68,7 +70,7 @@ do exit 0; ;; "--smake") - find stress/ -maxdepth 2 -mindepth 2 -type f -name "Makefile" -exec dirname '{}' ';' + find stress/ -maxdepth 2 -mindepth 2 -type f -name $MAKEFILE -exec dirname '{}' ';' exit 0; ;; "--srun") diff --git a/testcases/open_posix_testsuite/t0.c b/testcases/open_posix_testsuite/t0.c index 6b6b00e..89b47ff 100644 --- a/testcases/open_posix_testsuite/t0.c +++ b/testcases/open_posix_testsuite/t0.c @@ -38,28 +38,25 @@ #define _POSIX_C_SOURCE 200112L #include <pthread.h> +#include <signal.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <unistd.h> -#include <signal.h> - -#include <assert.h> int main (int argc, char * argv[]) { int ret, timeout; /* Special case: t0 0 */ - if (argc==2 && (strcmp(argv[1], "0") == 0)) - { + if (argc == 2 && (strncmp(argv[1], "0", 1) == 0)) { kill(getpid(), SIGALRM); sleep(1); - return 2; + return 1; } /* General case */ - if (argc < 3) - { + if (argc < 3) { printf("\nUsage: \n"); printf(" $ %s n exe arglist\n", argv[0]); printf(" $ %s 0\n", argv[0]); @@ -68,14 +65,14 @@ int main (int argc, char * argv[]) printf(" exe is the executable filename to run,\n"); printf(" arglist is the arguments to be passed to executable.\n\n"); printf(" The second use case will emulate an immediate timeout.\n\n"); - return 2; + return 1; } timeout = atoi(argv[1]); if (timeout < 1) { fprintf(stderr, "Invalid timeout value \"%s\". Timeout must be a positive integer.\n", argv[1]); - return 2; + return 1; } /* Set the timeout */ @@ -83,15 +80,8 @@ int main (int argc, char * argv[]) /* Execute the command */ ret = execvp(argv[2], &argv[2]); - if (ret == -1) - { - /* Application was not launched */ - perror("Unable to run child application"); - return 2; - } - - assert(0); - perror("Should not see me"); - return 2; + + /* Application was not launched */ + perror("Unable to run child application"); + return 1; } - hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 12:12:25
|
The branch, pu, has been updated via 336190574a34bd7327c67635725f09b2457b32d0 (commit) from f73e148e8146a7492aded2908f1a4a1a4a860d5b (commit) - Log ----------------------------------------------------------------- commit 336190574a34bd7327c67635725f09b2457b32d0 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 05:11:01 2010 -0700 Clean up Makefile a bit. Basically remove GNU make-isms and although I introduced a few, they're much easier to unwind than the previously provided custom rules. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/GNUmakefile | 83 +++++++++++++--------------- 1 files changed, 38 insertions(+), 45 deletions(-) diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile index f151ecd..43df8aa 100644 --- a/testcases/open_posix_testsuite/GNUmakefile +++ b/testcases/open_posix_testsuite/GNUmakefile @@ -26,22 +26,16 @@ TIMEOUT_VAL = 240 top_builddir = . -LOGFILE = $(top_builddir)/logfile +LOGFILE= $(top_builddir)/logfile -LDFLAGS := $(shell cat LDFLAGS | grep -v \^\#) - -LDLIBS= -lrt - -RUN_TESTS := $(shell $(top_builddir)/locate-test \ - --execs $(top_builddir)/$(POSIX_TARGET)) -BUILD_TESTS := $(shell $(top_builddir)/locate-test \ - --buildable $(top_builddir)/$(POSIX_TARGET)) -FUNCTIONAL_MAKE := $(shell $(top_builddir)/locate-test --fmake) -FUNCTIONAL_RUN := $(shell $(top_builddir)/locate-test --frun) -STRESS_MAKE := $(shell $(top_builddir)/locate-test --smake) -STRESS_RUN := $(shell $(top_builddir)/locate-test --srun) -PWD := $(shell pwd) -TIMEOUT = $(top_builddir)/t0 $(TIMEOUT_VAL) +RUN_TESTS= $(shell $(top_builddir)/locate-test --execs $(top_builddir)/$(POSIX_TARGET)) +BUILD_TESTS= $(shell $(top_builddir)/locate-test --buildable $(top_builddir)/$(POSIX_TARGET)) +FUNCTIONAL_MAKE=`$(top_builddir)/locate-test --fmake` +FUNCTIONAL_RUN= $(shell $(top_builddir)/locate-test --frun) +STRESS_MAKE= `$(top_builddir)/locate-test --smake` +STRESS_RUN= $(shell $(top_builddir)/locate-test --srun) +PWD= `pwd` +TIMEOUT= $(top_builddir)/t0 $(TIMEOUT_VAL) all: build-tests run-tests @@ -55,23 +49,26 @@ stress-tests: stress-make stress-run tests-pretty: $(MAKE) all | column -t -s: -CFLAGS += -D_POSIX_C_SOURCE=200112L - # add -std=c99, -std=gnu99 if compiler supports it (gcc-2.95.3 does not). -CFLAGS += `$(CC) -std=c99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=c99"` -CFLAGS += `$(CC) -std=gnu99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=gnu99"` +CPPFLAGS+= `$(CC) -std=c99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=c99"` +CPPFLAGS+= `$(CC) -std=gnu99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=gnu99"` +CPPFLAGS+= -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 +CPPFLAGS+= -I$(PWD)/include -INCLUDE = -Iinclude +LDFLAGS+= +LDLIBS+= -lpthread -lrt -lm # FIXME: exhaust cmd line length clean: - @rm -f $(LOGFILE) - @# Timeout helper files - @rm -f $(top_builddir)/t0.val $(top_builddir)/t0 - @# Build runnable tests - @find $(top_builddir) -iname \*.test | xargs -n 40 rm -f {} - @find $(top_builddir) -iname \*~ -o -iname \*.o | xargs -n 40 rm -f {} - @$(foreach DIR,$(FUNCTIONAL_MAKE),$(MAKE) -C $(DIR) clean >> /dev/null 2>&1;) >> /dev/null 2>&1 + -@rm -f $(LOGFILE)* + -@# Timeout helper files + -@rm -f $(top_builddir)/t0.val $(top_builddir)/t0 + -@# Build runnable tests + -@find $(top_builddir) -iname \*.test | xargs -n 40 rm -f {} + -@find $(top_builddir) -iname \*~ -o -iname \*.o | xargs -n 40 rm -f {} + -@for d in $(FUNCTIONAL_MAKE); do \ + $(MAKE) -C $$d clean; \ + done # Rule to run a build test # If the .o doesn't export main, then we don't need to link @@ -82,7 +79,7 @@ clean: [ -f $< ] || exit 0; \ { nm -g $< | grep -q ' T main\| D main'; } || \ { echo "$$TEST: link: SKIP" | tee -a $(LOGFILE) && exit 0; }; \ - if $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) > $$COMPLOG 2>&1; \ + if $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ >$$COMPLOG 2>&1; \ then \ echo "$$TEST: link: PASS" | tee -a $(LOGFILE); \ else \ @@ -107,28 +104,22 @@ clean: if [ $$RESULT -eq 1 ]; \ then \ MSG="FAILED"; \ - fi; \ - if [ $$RESULT -eq 2 ]; \ + elif [ $$RESULT -eq 2 ]; \ then \ MSG="UNRESOLVED"; \ - fi; \ - if [ $$RESULT -eq 4 ]; \ + elif [ $$RESULT -eq 4 ]; \ then \ MSG="UNSUPPORTED"; \ - fi; \ - if [ $$RESULT -eq 5 ]; \ + elif [ $$RESULT -eq 5 ]; \ then \ MSG="UNTESTED"; \ - fi; \ - if [ $$RESULT -eq $$TIMEOUT_RET ]; \ + elif [ $$RESULT -eq $$TIMEOUT_RET ]; \ then \ MSG="HUNG"; \ - fi; \ - if [ $$RESULT -gt 5 -a $$RESULT -ne $$TIMEOUT_RET ]; \ + elif [ $$RESULT -gt 5 -a $$RESULT -ne $$TIMEOUT_RET ]; \ then \ MSG="INTERRUPTED"; \ - fi; \ - if [ $$RESULT -eq 0 ]; \ + elif [ $$RESULT -eq 0 ]; \ then \ echo "$$TEST: execution: PASS" | tee -a $(LOGFILE); \ else \ @@ -170,7 +161,7 @@ $(top_builddir)/t0.val: $(top_builddir)/t0 %.o: %.c @COMPLOG=$(LOGFILE).$$$$; \ TEST=`echo "$@" | sed -e 's,.o$$,,'`; \ - if $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ $(LDFLAGS) > $$COMPLOG 2>&1; \ + if $(COMPILE.c) $(OUTPUT_OPTION) $< >$$COMPLOG 2>&1; \ then \ echo "$$TEST: build: PASS" | tee -a $(LOGFILE); \ else \ @@ -184,7 +175,9 @@ $(top_builddir)/t0.val: $(top_builddir)/t0 # Functional/Stress test build and execution functional-make: - $(foreach DIR,$(FUNCTIONAL_MAKE),$(MAKE) -C $(DIR);) + @for d in $(FUNCTIONAL_MAKE); do \ + $(MAKE) -C $$d; \ + done .PHONY: $(FUNCTIONAL_RUN) @@ -192,10 +185,11 @@ functional-run: $(FUNCTIONAL_RUN) $(FUNCTIONAL_RUN): cd $@; ./run.sh - cd $(PWD) stress-make: - $(foreach DIR,$(STRESS_MAKE),$(MAKE) -C $(DIR);) + for d in $(STRESS_MAKE); do \ + $(MAKE) -C $$d; \ + done .PHONY: $(STRESS_RUN) @@ -203,4 +197,3 @@ stress-run: $(STRESS_RUN) $(STRESS_RUN): cd $@; ./run.sh - cd $(PWD) hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 12:17:26
|
The branch, pu, has been updated via b90b372e4a1e06c7a1e08ca0e2f291b543592faf (commit) from 336190574a34bd7327c67635725f09b2457b32d0 (commit) - Log ----------------------------------------------------------------- commit b90b372e4a1e06c7a1e08ca0e2f291b543592faf Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 05:15:36 2010 -0700 Revert _BSD_SOURCE vs _GNU_SOURCE check. The _GNU_SOURCE guard in ctypes enables the kitchen sink as far as standards are concerned, which enables _BSD_SOURCE. So let's note the real culprit for non-compliance. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/include/posixtest.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/testcases/open_posix_testsuite/include/posixtest.h b/testcases/open_posix_testsuite/include/posixtest.h index c71e037..f22a1e7 100644 --- a/testcases/open_posix_testsuite/include/posixtest.h +++ b/testcases/open_posix_testsuite/include/posixtest.h @@ -10,10 +10,10 @@ * return codes */ -#if defined(_BSD_SOURCE) -#error "Contains BSD-isms that need fixing." -#elif defined(_GNU_SOURCE) +#if defined(_GNU_SOURCE) #error "Contains GNU-isms that need fixing." +#elif defined(_BSD_SOURCE) +#error "Contains BSD-isms that need fixing." #endif #define PTS_PASS 0 hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 12:39:08
|
The branch, pu, has been updated via cfa4725eebab047fed5abe607404eb21a1a30619 (commit) from b90b372e4a1e06c7a1e08ca0e2f291b543592faf (commit) - Log ----------------------------------------------------------------- commit cfa4725eebab047fed5abe607404eb21a1a30619 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 05:36:27 2010 -0700 Yank bashisms and cleanup script inconsistencies. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: .../open_posix_testsuite/functional/mqueues/run.sh | 35 ++++++++++--------- .../functional/semaphores/run.sh | 33 ++++++++++-------- .../open_posix_testsuite/functional/threads/run.sh | 2 +- .../open_posix_testsuite/functional/timers/run.sh | 36 +++++++++++-------- 4 files changed, 59 insertions(+), 47 deletions(-) diff --git a/testcases/open_posix_testsuite/functional/mqueues/run.sh b/testcases/open_posix_testsuite/functional/mqueues/run.sh index 2f3135c..95606df 100755 --- a/testcases/open_posix_testsuite/functional/mqueues/run.sh +++ b/testcases/open_posix_testsuite/functional/mqueues/run.sh @@ -11,39 +11,42 @@ RunTest() { echo "TEST: " $1 - TOTAL=$TOTAL+1 + : $(( TOTAL += 1 )) ./$1 - if [ $? == 0 ]; then - PASS=$PASS+1 - echo -ne "\t\t\t***TEST PASSED***\n\n" + if [ $? -eq 0 ]; then + : $(( PASS += 1 )) + echo " ***TEST PASSED***" + echo "" else - FAIL=$FAIL+1 - echo -ne "\t\t\t***TEST FAILED***\n\n" + : $(( FAIL += 1 )) + echo " ***TEST FAILED***" + echo "" fi } # Main program -declare -i TOTAL=0 -declare -i PASS=0 -declare -i FAIL=0 +TOTAL=0 +PASS=0 +FAIL=0 # Add lists of tests to these variables for execution TESTS="notify.test send_rev_1.test send_rev_2.test" echo "Run the message queue functional tests" -echo "==========================================" +echo "=====================" for test in $TESTS; do RunTest $test done -echo -echo -ne "\t\t****************\n" -echo -ne "\t\t* TOTAL: " $TOTAL "\n" -echo -ne "\t\t* PASSED: " $PASS "\n" -echo -ne "\t\t* FAILED: " $FAIL "\n" -echo -ne "\t\t****************\n" +cat <<EOF + **************** + * TOTAL: $TOTAL + * PASSED: $PASS + * FAILED: $FAIL + **************** +EOF exit 0 diff --git a/testcases/open_posix_testsuite/functional/semaphores/run.sh b/testcases/open_posix_testsuite/functional/semaphores/run.sh index a25e411..955b5b8 100755 --- a/testcases/open_posix_testsuite/functional/semaphores/run.sh +++ b/testcases/open_posix_testsuite/functional/semaphores/run.sh @@ -13,37 +13,40 @@ RunTest() echo "TEST: " $1 TOTAL=$TOTAL+1 ./$1 - if [ $? == 0 ]; then - PASS=$PASS+1 - echo -ne "\t\t\t***TEST PASSED***\n\n" + if [ $? -eq 0 ]; then + : $(( PASS += 1 )) + echo " ***TEST PASSED***" + echo "" else - FAIL=$FAIL+1 - echo -ne "\t\t\t***TEST FAILED***\n\n" + : $(( FAIL += 1 )) + echo " ***TEST FAILED***" + echo "" fi } # Main program -declare -i TOTAL=0 -declare -i PASS=0 -declare -i FAIL=0 +TOTAL=0 +PASS=0 +FAIL=0 # Add lists of tests to these variables for execution TESTS="sem_conpro.test sem_lock.test sem_philosopher.test sem_readerwriter.test sem_sleepingbarber.test" echo "Run the semaphore functional tests" -echo "==========================================" +echo "=====================" for test in $TESTS; do RunTest $test done -echo -echo -ne "\t\t****************\n" -echo -ne "\t\t* TOTAL: " $TOTAL "\n" -echo -ne "\t\t* PASSED: " $PASS "\n" -echo -ne "\t\t* FAILED: " $FAIL "\n" -echo -ne "\t\t****************\n" +cat <<EOF + **************** + * TOTAL: $TOTAL + * PASSED: $PASS + * FAILED: $FAIL + **************** +EOF exit 0 diff --git a/testcases/open_posix_testsuite/functional/threads/run.sh b/testcases/open_posix_testsuite/functional/threads/run.sh index d5f1081..eaf3313 100755 --- a/testcases/open_posix_testsuite/functional/threads/run.sh +++ b/testcases/open_posix_testsuite/functional/threads/run.sh @@ -7,7 +7,7 @@ for test_dir in $TEST_DIRS; do echo "" echo "Run $test_dir tests" -echo "==============================" +echo "===============" echo "" cd $CURRENT_DIR/$test_dir; ./run.sh diff --git a/testcases/open_posix_testsuite/functional/timers/run.sh b/testcases/open_posix_testsuite/functional/timers/run.sh index 62c1f32..8832eca 100755 --- a/testcases/open_posix_testsuite/functional/timers/run.sh +++ b/testcases/open_posix_testsuite/functional/timers/run.sh @@ -11,46 +11,52 @@ RunTest() { echo "TEST: " $1 + : $(( TOTAL += 1 )) $1 - if [ $? == 0 ]; then - PASS=$PASS+1 - echo -ne "\t\t\t***TEST PASSED***\n\n" + if [ $? -eq 0 ]; then + : $(( PASS += 1 )) + echo " ***TEST PASSED***" + echo "" else - FAIL=$FAIL+1 - echo -ne "\t\t\t***TEST FAILED***\n\n" + : $(( FAIL += 1 )) + echo " ***TEST FAILED***" + echo "" fi } # Main program -declare -i PASS=0 -declare -i FAIL=0 +TOTAL=0 +PASS=0 +FAIL=0 # Add lists of tests to these variables for execution CLOCKSTESTS="clocks/twopsetclock.test" TIMERSTESTS="timers/twoevtimers.test timers/twoptimers.test" echo "Run the clocks and timers functional tests" -echo "==========================================" +echo "=====================" echo "Run clocks tests" -echo "================" +echo "========" for test in $CLOCKSTESTS; do RunTest $test done echo "Run timers tests" -echo "================" +echo "========" for test in $TIMERSTESTS; do RunTest $test done -echo -echo -ne "\t\t\t****************\n" -echo -ne "\t\t\t* PASSED: " $PASS "\n" -echo -ne "\t\t\t* FAILED: " $FAIL "\n" -echo -ne "\t\t\t****************\n" +cat <<EOF + **************** + * TOTAL: $TOTAL + * PASSED: $PASS + * FAILED: $FAIL + **************** +EOF exit 0 hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 21:15:44
|
The branch, pu, has been updated via 796175696e5a0bdef6a0a0de6dd4ffd3208c9d23 (commit) via 866fc6a28d590ad871c50a0afb05c6d1ace6b260 (commit) via e79cac0c77edf6ad9361abfe53302fe88b6338b7 (commit) via 7489873d46f8428f71a413629e427f39ff8c4db8 (commit) via 91325b11bbfeb29a4a9dd28f46dd7de0b5e24177 (commit) via 8d785b4e9eda424552e5bd87883826c615c10f8d (commit) via d49548d6749359c86d4ac2a5a22a3f5fad383ba5 (commit) from cfa4725eebab047fed5abe607404eb21a1a30619 (commit) - Log ----------------------------------------------------------------- commit 796175696e5a0bdef6a0a0de6dd4ffd3208c9d23 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 14:13:23 2010 -0700 Remove dead file. Signed-off-by: Garrett Cooper <yan...@gm...> commit 866fc6a28d590ad871c50a0afb05c6d1ace6b260 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 14:12:52 2010 -0700 Note GNU-isms. Signed-off-by: Garrett Cooper <yan...@gm...> commit e79cac0c77edf6ad9361abfe53302fe88b6338b7 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 14:10:30 2010 -0700 Remove gmake-isms. Improve diags during the build. Signed-off-by: Garrett Cooper <yan...@gm...> commit 7489873d46f8428f71a413629e427f39ff8c4db8 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 14:07:42 2010 -0700 Remove gmake-isms; don't assume make is GNU make. Signed-off-by: Garrett Cooper <yan...@gm...> commit 91325b11bbfeb29a4a9dd28f46dd7de0b5e24177 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 13:52:41 2010 -0700 Remove some gmake-isms. Signed-off-by: Garrett Cooper <yan...@gm...> commit 8d785b4e9eda424552e5bd87883826c615c10f8d Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 13:51:45 2010 -0700 Block off and note all Linux-isms. Signed-off-by: Garrett Cooper <yan...@gm...> commit d49548d6749359c86d4ac2a5a22a3f5fad383ba5 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 13:29:53 2010 -0700 Note GNU-isms in code that need replacing. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/GNUmakefile | 16 ++++++++------ .../functional/threads/GNUmakefile | 17 +++++++-------- .../functional/threads/Makefile.inc | 8 ------- .../functional/threads/condvar/GNUmakefile | 11 +++------ .../functional/threads/pi_test/GNUmakefile | 12 ++++------ .../functional/threads/pi_test/pitest-1.c | 20 ++++++++++++------ .../functional/threads/pi_test/pitest-2.c | 17 ++++++++++----- .../functional/threads/pi_test/pitest-3.c | 9 ++++++- .../functional/threads/pi_test/pitest-4.c | 15 ++++++++----- .../functional/threads/pi_test/pitest-5.c | 21 ++++++++++++------- .../functional/threads/pi_test/pitest-6.c | 19 +++++++++++------ .../functional/threads/robust_test/GNUmakefile | 13 +++++------ .../functional/threads/robust_test/robust1-mode2.c | 11 ++++++++- .../functional/threads/robust_test/robust1-sun.c | 12 +++++++++- .../functional/threads/robust_test/robust2-mode2.c | 11 ++++++++- .../functional/threads/robust_test/robust2-sun.c | 12 +++++++++- .../functional/threads/robust_test/robust3-mode2.c | 11 ++++++++- .../functional/threads/schedule/GNUmakefile | 9 +++---- .../functional/timers/GNUmakefile | 11 ++++----- 19 files changed, 153 insertions(+), 102 deletions(-) delete mode 100644 testcases/open_posix_testsuite/functional/threads/Makefile.inc diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile index 43df8aa..e1775ff 100644 --- a/testcases/open_posix_testsuite/GNUmakefile +++ b/testcases/open_posix_testsuite/GNUmakefile @@ -78,13 +78,14 @@ clean: TEST=`echo "$@" | sed -e 's,.test$$,,'`; \ [ -f $< ] || exit 0; \ { nm -g $< | grep -q ' T main\| D main'; } || \ - { echo "$$TEST: link: SKIP" | tee -a $(LOGFILE) && exit 0; }; \ + { echo "$$TEST: link: SKIP" >> $(LOGFILE) && exit 0; }; \ if $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ >$$COMPLOG 2>&1; \ then \ - echo "$$TEST: link: PASS" | tee -a $(LOGFILE); \ + echo "$$TEST: link: PASS" >> $(LOGFILE); \ + echo "$$TEST: link: PASS"; \ else \ ( \ - echo "$(@:.test=): link: FAILED. Linker output: "; \ + echo "$$TEST: link: FAILED. Linker output: "; \ cat $$COMPLOG; \ ) >> $(LOGFILE); \ echo "$$TEST: link: FAILED "; \ @@ -121,7 +122,7 @@ clean: MSG="INTERRUPTED"; \ elif [ $$RESULT -eq 0 ]; \ then \ - echo "$$TEST: execution: PASS" | tee -a $(LOGFILE); \ + echo "$$TEST: execution: PASS" >> $(LOGFILE); \ else \ ( \ echo "$$TEST: execution: $$MSG: Output: "; \ @@ -146,7 +147,7 @@ $(top_builddir)/t0.val: $(top_builddir)/t0 RESULT=$$?; \ if [ $$RESULT -eq 0 ]; \ then \ - echo "$$TEST: execution: PASS" | tee -a $(LOGFILE);\ + echo "$$TEST: execution: PASS" >> $(LOGFILE);\ else \ ( \ echo "$$TEST: execution: FAILED: Output: ";\ @@ -163,7 +164,8 @@ $(top_builddir)/t0.val: $(top_builddir)/t0 TEST=`echo "$@" | sed -e 's,.o$$,,'`; \ if $(COMPILE.c) $(OUTPUT_OPTION) $< >$$COMPLOG 2>&1; \ then \ - echo "$$TEST: build: PASS" | tee -a $(LOGFILE); \ + echo "$$TEST: build: PASS" >> $(LOGFILE); \ + echo "$$TEST: build: PASS"; \ else \ ( \ echo "$$TEST: build: FAILED: Compiler output: "; \ @@ -184,7 +186,7 @@ functional-make: functional-run: $(FUNCTIONAL_RUN) $(FUNCTIONAL_RUN): - cd $@; ./run.sh + cd $@ && ./run.sh stress-make: for d in $(STRESS_MAKE); do \ diff --git a/testcases/open_posix_testsuite/functional/threads/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/GNUmakefile index 733cb69..04e94df 100644 --- a/testcases/open_posix_testsuite/functional/threads/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/threads/GNUmakefile @@ -1,13 +1,12 @@ -include Makefile.inc -SUBDIRS=robust_test pi_test +SUBDIRS= robust_test pi_test -.PHONY : all +all install: + for d in $(SUBDIRS); do \ + $(MAKE) -C $$d $@; \ + done -all: - $(foreach SUBDIR,$(SUBDIRS),make -C $(SUBDIR);) -install: - $(foreach SUBDIR,$(SUBDIRS),make -C $(SUBDIR) install;) clean: rm -f *~ - $(foreach SUBDIR,$(SUBDIRS),make -C $(SUBDIR) clean;) - + for d in $(SUBDIRS); do \ + $(MAKE) -C $$d $@; \ + done diff --git a/testcases/open_posix_testsuite/functional/threads/Makefile.inc b/testcases/open_posix_testsuite/functional/threads/Makefile.inc deleted file mode 100644 index 9c781e8..0000000 --- a/testcases/open_posix_testsuite/functional/threads/Makefile.inc +++ /dev/null @@ -1,8 +0,0 @@ -# -# Include this file in your Makefile for linking against the built NPTL -# and GLIBC -# -# NOTE: Before making the test suite, you need to build glibc. $LIBC_PATCH -# stands for the path of GLIBC, please export it first. - -LDFLAGS += -lpthread diff --git a/testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile index fd08a4e..c5cae98 100644 --- a/testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile @@ -4,14 +4,11 @@ # of this license, see the COPYING file at the top level of this # source tree. -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -include /opt/libc/Makefile.inc - -TARGETS := pthread_cond_wait_1 pthread_cond_wait_2 +CFLAGS= -I../../../include +LDLIBS= -lpthread -lrt +TARGETS= pthread_cond_wait_1 pthread_cond_wait_2 all: $(TARGETS) clean: - rm -f $(TARGETS) + -rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile index dde0684..7423b04 100644 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile @@ -1,10 +1,8 @@ -include ../Makefile.inc +CFLAGS+= -I../include +LDLIBS= -lpthread +TARGETS= pitest-1 pitest-2 pitest-3 pitest-4 pitest-5 pitest-6 -SRCS=$(wildcard *.c) -TARGETS=$(patsubst %.c,%,$(SRCS)) -CFLAGS+=-Wall -D_GNU_SOURCE -g -I../include - -all:$(TARGETS) +all: $(TARGETS) clean: - rm -rf $(TARGETS) + -rm -rf $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-1.c b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-1.c index 5b51aea..b8969a8 100644 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-1.c +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-1.c @@ -33,14 +33,17 @@ * Thanks Inaky.Perez-Gonzalez's suggestion and code */ + +#warning "Contains Linux-isms that need fixing." + +#include <errno.h> #include <pthread.h> +#include <sched.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> #include <time.h> -#include <sched.h> -#include <errno.h> +#include <unistd.h> #include "test.h" #include "pitest.h" @@ -62,10 +65,9 @@ struct thread_param volatile unsigned futex; volatile unsigned should_stall; volatile unsigned progress; -} tp[] = -{ +} tp[] = { { 0, 0, 0, 1, SCHED_FIFO, "TL", 0, 0, 0, 0 }, - { 1, 0, 50, 2, SCHED_FIFO, "TP", 0, 0, 0, 0 }, + { 1, 0, 50, 2, SCHED_FIFO, "TP", 0, 0, 0, 0 }, { 2, 0, 0, 3, SCHED_FIFO, "TF", 1, 0, 0, 0 }, { 3, 0, 0, 3, SCHED_FIFO, "TF", 2, 0, 0, 0 }, { 4, 0, 0, 3, SCHED_FIFO, "TF", 3, 0, 0, 0 }, @@ -97,12 +99,14 @@ void *thread_fn(void *param) int rc; unsigned long mask = 1 << tp->cpu; +#if __linux__ rc = sched_setaffinity(0, sizeof(mask), &mask); if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: " "%d %s", tp->name, tp->index, rc, strerror(rc)); exit(UNRESOLVED); } +#endif test_set_priority(pthread_self(), SCHED_FIFO, tp->priority); DPRINTF(stdout, "#EVENT %f %s Thread Started\n", @@ -133,7 +137,9 @@ void *thread_tl(void *param) unsigned long mask = 1 << tp->cpu; int rc; +#if __linux__ rc = sched_setaffinity((pid_t)0, sizeof(mask), &mask); +#endif test_set_priority(pthread_self(), SCHED_FIFO, tp->priority); if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: %d %s", diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-2.c b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-2.c index b565af1..47b8591 100644 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-2.c +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-2.c @@ -35,14 +35,16 @@ * */ +#warning "Contains Linux-isms that need fixing." + +#include <errno.h> #include <pthread.h> +#include <sched.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> #include <time.h> -#include <sched.h> -#include <errno.h> +#include <unistd.h> #include "test.h" #include "pitest.h" @@ -63,8 +65,7 @@ struct thread_param volatile unsigned futex; volatile unsigned should_stall; volatile unsigned progress; -} tp[] = -{ +} tp[] = { { 0, 0, 0, 1, SCHED_FIFO, "TL", 0, 0, 0, 0 }, { 1, 0, 100, 2, SCHED_FIFO, "TP1", 0, 0, 0, 0 }, { 2, 0, 100, 5, SCHED_FIFO, "TP2", 0, 0, 0, 0 }, @@ -99,7 +100,9 @@ void *thread_fn(void *param) int rc; unsigned long mask = 1 << tp->cpu; +#if __linux__ rc = sched_setaffinity(0, sizeof(mask), &mask); +#endif if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: " "%d %s", tp->name, tp->index, rc, strerror(rc)); @@ -134,7 +137,9 @@ void *thread_tl(void *param) unsigned long mask = 1 << tp->cpu; int rc; +#if __linux__ rc = sched_setaffinity((pid_t)0, sizeof(mask), &mask); +#endif test_set_priority(pthread_self(),SCHED_FIFO, tp->priority); DPRINTF(stdout, "#EVENT %f Thread TL Started\n", diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-3.c b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-3.c index a331c3b..0826a55 100644 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-3.c +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-3.c @@ -35,6 +35,8 @@ * */ +#warning "Contains Linux-isms that need fixing." + #include <pthread.h> #include <stdio.h> #include <unistd.h> @@ -64,8 +66,7 @@ struct thread_param volatile unsigned futex; volatile unsigned should_stall; volatile unsigned progress; -} tp[] = -{ +} tp[] = { { 0, 0, 0, 1, SCHED_FIFO, "TL", 0, 0, 0, 0 }, { 1, 0, 100, 2, SCHED_FIFO, "TP1", 0, 0, 0, 0 }, { 1, 0, 100, 5, SCHED_FIFO, "TP2", 0, 0, 0, 0 }, @@ -101,12 +102,14 @@ void *thread_fn(void *param) int rc; unsigned long mask = 1 << tp->cpu; +#if __linux__ rc = sched_setaffinity(0, sizeof(mask), &mask); if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: " "%d %s", tp->name, tp->index, rc, strerror(rc)); exit(UNRESOLVED); } +#endif test_set_priority(pthread_self(),SCHED_FIFO, tp->priority); DPRINTF(stdout, "#EVENT %f Thread %s Started\n", @@ -140,12 +143,14 @@ void *thread_tl(void *param) unsigned long mask = 1 << tp->cpu; int rc; +#if __linux__ rc = sched_setaffinity((pid_t)0, sizeof(mask), &mask); if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: %d %s", tp->name, tp->index, rc, strerror(rc)); exit(UNRESOLVED); } +#endif test_set_priority(pthread_self(),SCHED_FIFO, tp->priority); DPRINTF(stdout, "#EVENT %f Thread TL Started\n", diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-4.c b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-4.c index 75c11a2..5259eb7 100644 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-4.c +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-4.c @@ -36,14 +36,16 @@ * */ +#warning "Contains Linux-isms that need fixing." + +#include <errno.h> #include <pthread.h> +#include <sched.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> #include <time.h> -#include <sched.h> -#include <errno.h> +#include <unistd.h> #include "test.h" #include "pitest.h" @@ -65,8 +67,7 @@ struct thread_param volatile unsigned futex; volatile unsigned should_stall; volatile unsigned progress; -} tp[] = -{ +} tp[] = { { 0, 0, 0, 1, SCHED_FIFO, "TL", 0, 0, 0, 0 }, { 1, 0, 100, 3, SCHED_FIFO, "TP", 0, 0, 0, 0 }, { 2, 0, 0, 4, SCHED_FIFO, "TF", 1, 0, 0, 0 }, @@ -101,12 +102,14 @@ void *thread_fn(void *param) int rc; unsigned long mask = 1 << tp->cpu; +#if __linux__ rc = sched_setaffinity(0, sizeof(mask), &mask); if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: " "%d %s", tp->name, tp->index, rc, strerror(rc)); exit(UNRESOLVED); } +#endif test_set_priority(pthread_self(),SCHED_FIFO, tp->priority); DPRINTF(stdout, "#EVENT %f Thread %s Started\n", diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-5.c b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-5.c index 9e41fe8..ae8e17e 100644 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-5.c +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-5.c @@ -34,14 +34,16 @@ * NOTE: Most of the code is ported from test-11 written by inkay. */ +#warning "Contains Linux-isms that need fixing." + +#include <errno.h> #include <pthread.h> +#include <sched.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> #include <time.h> -#include <sched.h> -#include <errno.h> +#include <unistd.h> #include "test.h" #include "pitest.h" @@ -63,8 +65,7 @@ struct thread_param volatile unsigned futex; volatile unsigned should_stall; volatile unsigned progress; -} tp[] = -{ +} tp[] = { { 0, 0, 0, 1, SCHED_FIFO, "TL", 0, 0, 0, 0 }, { 1, 0, 200, 2, SCHED_FIFO, "TP", 0, 0, 0, 0 }, { 2, 0, 0, 3, SCHED_FIFO, "TF", 1, 0, 0, 0 }, @@ -100,13 +101,15 @@ void *thread_fn(void *param) unsigned long mask = 1 << tp->cpu; test_set_priority(pthread_self(),SCHED_FIFO, tp->priority); +#if __linux__ rc = sched_setaffinity(0, sizeof(mask), &mask); if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: " "%d %s", tp->name, tp->index, rc, strerror(rc)); exit(UNRESOLVED); } - +#endif + DPRINTF(stdout, "#EVENT %f Thread %s started\n", seconds_read() - base_time, tp->name); DPRINTF(stderr,"Thread %s index %d: started\n", tp->name, tp->index); @@ -139,13 +142,15 @@ void *thread_tl(void *param) int rc; test_set_priority(pthread_self(),SCHED_FIFO, tp->priority); +#if __linux__ rc = sched_setaffinity((pid_t)0, sizeof(mask), &mask); if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: %d %s", tp->name, tp->index, rc, strerror(rc)); exit(UNRESOLVED); } - +#endif + DPRINTF(stdout, "#EVENT %f Thread TL started\n", seconds_read() - base_time); DPRINTF(stderr,"Thread %s index %d: started\n", tp->name, tp->index); diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-6.c b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-6.c index c9028ab..dfd2253 100644 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-6.c +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-6.c @@ -33,14 +33,16 @@ * NOTE: Most of the code is ported from test-11 written by inkay. */ +#warning "Contains Linux-isms that need fixing." + +#include <errno.h> #include <pthread.h> +#include <sched.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> #include <time.h> -#include <sched.h> -#include <errno.h> +#include <unistd.h> #include "test.h" #include "pitest.h" @@ -61,8 +63,7 @@ struct thread_param volatile unsigned futex; volatile unsigned should_stall; volatile unsigned progress; -} tp[] = -{ +} tp[] = { { 0, 0, 0, 1, SCHED_FIFO, "TL", 0, 0, 0, 0 }, { 1, 0, 200, 2, SCHED_FIFO, "TP", 0, 0, 0, 0 }, { 2, 0, 0, 3, SCHED_FIFO, "TF", 1, 0, 0, 0 }, @@ -96,12 +97,14 @@ void *thread_fn(void *param) int rc; unsigned long mask = 1 << tp->cpu; +#if __linux__ rc = sched_setaffinity(0, sizeof(mask), &mask); if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: " "%d %s", tp->name, tp->index, rc, strerror(rc)); exit(UNRESOLVED); } +#endif test_set_priority(pthread_self(), SCHED_FIFO, tp->priority); DPRINTF(stderr,"Thread %s index %d: started\n", tp->name, tp->index); DPRINTF(stdout, "#EVENT %f Thread %s Started\n", @@ -133,13 +136,15 @@ void *thread_tl(void *param) unsigned long mask = 1 << tp->cpu; int rc; +#if __linux__ rc = sched_setaffinity((pid_t)0, sizeof(mask), &mask); if (rc < 0) { EPRINTF("UNRESOLVED: Thread %s index %d: Can't set affinity: %d %s", tp->name, tp->index, rc, strerror(rc)); exit(UNRESOLVED); } - +#endif + test_set_priority(pthread_self(), SCHED_FIFO, tp->priority); DPRINTF(stderr,"Thread %s index %d: started\n", tp->name, tp->index); diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile index b296317..e4490cf 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile @@ -1,10 +1,9 @@ -include ../Makefile.inc +CFLAGS+= -I../include +LDLIBS= -lpthread +TARGETS= robust1-mode2 robust1-sun robust2-mode2 robust2-sun \ + robust3-mode2 -SRCS=$(wildcard *.c) -TARGETS=$(patsubst %.c,%,$(SRCS)) -CFLAGS+=-Wall -g -I../include - -all:$(TARGETS) +all: $(TARGETS) clean: - rm -rf $(TARGETS) + -rm -rf $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c index 48a9f34..b75f319 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c @@ -15,11 +15,18 @@ * ENOTRECOVERABLE state after unlock. */ +/* + * XXX: pthread_mutexattr_setrobust_np and PTHREAD_MUTEX_ROBUST_NP isn't POSIX. + */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE 1 +#warning "Uses GNU-isms; needs fixing." +#endif #include <pthread.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "test.h" #define THREAD_NUM 2 diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c index 933f25b..b71b650 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c @@ -14,11 +14,19 @@ * ENOTRECOVERABLE state when unlocked automatically. */ +/* + * XXX: pthread_mutexattr_setrobust_np and PTHREAD_MUTEX_ROBUST_SUN_NP isn't + * POSIX. + */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE 1 +#warning "Uses GNU-isms; needs fixing." +#endif #include <pthread.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "test.h" #define THREAD_NUM 2 diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c index 2e34a93..a54cf38 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c @@ -16,11 +16,18 @@ * will change back to normal. */ +/* + * XXX: pthread_mutexattr_setrobust_np and PTHREAD_MUTEX_ROBUST_NP isn't POSIX. + */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE 1 +#warning "Uses GNU-isms; needs fixing." +#endif #include <pthread.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "test.h" #define THREAD_NUM 2 diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c index 43ed368..2532194 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c @@ -17,11 +17,19 @@ * will remain as EOWNERDEAD. */ +/* + * XXX: pthread_mutexattr_setrobust_np and PTHREAD_MUTEX_ROBUST_SUN_NP isn't + * POSIX. + */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE 1 +#warning "Uses GNU-isms; needs fixing." +#endif #include <pthread.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "test.h" #define THREAD_NUM 2 diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c index 94f70a0..8facd26 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c @@ -16,11 +16,18 @@ * ENOTRECOVERABLE. */ +/* + * XXX: pthread_mutexattr_setrobust_np and PTHREAD_MUTEX_ROBUST_NP isn't POSIX. + */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE 1 +#warning "Uses GNU-isms; needs fixing." +#endif #include <pthread.h> #include <stdio.h> -#include <unistd.h> -#include <string.h> #include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "test.h" #define THREAD_NUM 2 diff --git a/testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile index 2c7b97d..e348117 100644 --- a/testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile @@ -4,12 +4,11 @@ # of this license, see the COPYING file at the top level of this # source tree. -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := 1-1 1-2 +CFLAGS= -I../../../include +LDLIBS= -lpthread -lrt +TARGETS= 1-1 1-2 all: $(TARGETS) clean: - rm -f $(TARGETS) + -rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/timers/GNUmakefile b/testcases/open_posix_testsuite/functional/timers/GNUmakefile index 63bc007..0d484da 100644 --- a/testcases/open_posix_testsuite/functional/timers/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/timers/GNUmakefile @@ -5,10 +5,9 @@ # source tree. # -all: - make -C clocks - make -C timers +SUBDIRS= clocks timers -clean : - make -C clocks clean - make -C timers clean +all clean: + for d in $(SUBDIRS); do \ + $(MAKE) -C $$d $@; \ + done hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 22:51:10
|
The branch, pu, has been updated via 3cc6f028b8eeda2e20f308dc8a81020332d8c524 (commit) via b4fcfce584f11cca39fba11d17fef6637ed41a9e (commit) via 5e6a5f8ad3be208d14826f77111d512c8758bc04 (commit) via 1caa7da8563958edbc538c22caffad1baf34855e (commit) via 8ef4bbfddc7922d8978d53f972c50024e6a10729 (commit) from 796175696e5a0bdef6a0a0de6dd4ffd3208c9d23 (commit) - Log ----------------------------------------------------------------- commit 3cc6f028b8eeda2e20f308dc8a81020332d8c524 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 15:48:42 2010 -0700 Revert "Dummy commit." This reverts commit b4fcfce584f11cca39fba11d17fef6637ed41a9e. commit b4fcfce584f11cca39fba11d17fef6637ed41a9e Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 15:44:07 2010 -0700 Dummy commit. commit 5e6a5f8ad3be208d14826f77111d512c8758bc04 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 15:05:39 2010 -0700 Default to $PWD if a directory is not specified. Signed-off-by: Garrett Cooper <yan...@gm...> commit 1caa7da8563958edbc538c22caffad1baf34855e Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 15:04:07 2010 -0700 Clean up test. Signed-off-by: Garrett Cooper <yan...@gm...> commit 8ef4bbfddc7922d8978d53f972c50024e6a10729 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 14:45:34 2010 -0700 Fix Makefile so that it actually compiles again. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: .../functional/mqueues/GNUmakefile | 16 ++-- .../functional/mqueues/send_rev_1.c | 78 +++++++++++--------- testcases/open_posix_testsuite/locate-test | 28 +++---- 3 files changed, 64 insertions(+), 58 deletions(-) diff --git a/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile b/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile index dd01e42..cf1e447 100644 --- a/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile @@ -1,13 +1,11 @@ -INCLUDE = -I../../include -LIB=-lrt -lpthread - -CFLAGS=-Wall -O2 -g +CFLAGS+= -Wall +CPPFLAGS+= -I../../include +LDLIBS= -lrt -lpthread all: send_rev_1.test send_rev_2.test -%.test : %.c - $(CC) $(CFLAGS) $(INCLUDE) $< -o $@ $(LIB) -clean: - rm *.test +%.test: %.o + $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ - +clean: + rm -f *.test diff --git a/testcases/open_posix_testsuite/functional/mqueues/send_rev_1.c b/testcases/open_posix_testsuite/functional/mqueues/send_rev_1.c index 03385ae..7d45cc6 100644 --- a/testcases/open_posix_testsuite/functional/mqueues/send_rev_1.c +++ b/testcases/open_posix_testsuite/functional/mqueues/send_rev_1.c @@ -10,32 +10,31 @@ * */ -#include <stdio.h> -#include <unistd.h> -#include <fcntl.h> -#include <stdlib.h> -#include <sys/wait.h> #include <sys/mman.h> -#include <string.h> -#include <getopt.h> +#include <sys/wait.h> +#include <fcntl.h> #include <limits.h> #include <mqueue.h> - +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" -#define MQ_NAME "/testmsg" +#define MQ_NAME "/testmsg" #define MSG_SIZE 128 #define MAX_MSG 3 int main(int argc, char *argv[]) { - mqd_t mq = 0; - pid_t pid; struct mq_attr mqstat, attr; - int oflag = O_CREAT|O_RDWR; - const char *s_msg_ptr[] = {"msg test 1", "msg test 2", "msg test 3"}; char r_msg_ptr[MAX_MSG][MSG_SIZE]; + const char *s_msg_ptr[] = {"msg test 1", "msg test 2", "msg test 3"}; int i; + int oflag = O_CREAT|O_RDWR; + int ret_code = PTS_PASS; + mqd_t mq = 0; + pid_t pid; memset(&mqstat, 0, sizeof(mqstat)); mqstat.mq_maxmsg = MAX_MSG; @@ -47,43 +46,54 @@ int main(int argc, char *argv[]) return PTS_UNRESOLVED; #endif */ - if( ((mqd_t) -1) == (mq = mq_open(MQ_NAME,oflag,0777, &mqstat)) ) { + if(((mqd_t) -1) == (mq = mq_open(MQ_NAME, oflag, 0777, &mqstat))) { perror("mq_open doesn't return success \n"); return PTS_UNRESOLVED; } - - if ( 0 != (pid = fork() )) { + + switch ((pid = fork())) { + case -1: + perror("fork"); + ret_code = PTS_UNRESOLVED; + break; + case 0: mq_getattr(mq, &attr); - for (i=0; i < MAX_MSG; i++) { + for (i = 0; i < MAX_MSG && ret_code == PTS_PASS; i++) { printf("[%d] s_msg_ptr is '%s' \n", i+1, s_msg_ptr[i]); printf("Prepare to send message...\n"); if ( -1 == mq_send(mq, s_msg_ptr[i], attr.mq_msgsize, 1)) { perror("mq_send doesn't return success \n"); - mq_close(mq); - mq_unlink(MQ_NAME); - return PTS_UNRESOLVED; + ret_code = PTS_UNRESOLVED; + } else { + printf("Process %ld send message '%s' to " + "process %ld \n", + (long)getpid(), s_msg_ptr[i], (long)pid); } - printf("Process %ld send message '%s' to process %ld \n", (long)getpid(), s_msg_ptr[i], (long)pid); } - wait(NULL); - } - else { + (void)wait(NULL); + break; + default: printf("Enter into child process...\n"); mq_getattr(mq, &attr); - for (i = 0; i < MAX_MSG; i++) { + for (i = 0; i < MAX_MSG && ret_code == PTS_PASS; i++) { printf("Prepare to receive [%d] messages...\n", i+1); if (-1 == mq_receive(mq, r_msg_ptr[i], attr.mq_msgsize, NULL)) { perror("mq_receive doesn't return success \n"); - mq_close(mq); - mq_unlink(MQ_NAME); - return PTS_UNRESOLVED; + ret_code = PTS_UNRESOLVED; + } else { + printf("process %ld receive message '%s' from " + "process %ld \n", + (long)getpid(), r_msg_ptr[i], (long)getppid()); } - printf("process %ld receive message '%s' from process %ld \n", (long)getpid(), r_msg_ptr[i], (long)getppid()); } + exit(ret_code); + /* NOTREACHED */ + break; } - - mq_close(mq); - mq_unlink(MQ_NAME); - return PTS_PASS; -} + (void) mq_close(mq); + (void) mq_unlink(MQ_NAME); + + return ret_code; + +} diff --git a/testcases/open_posix_testsuite/locate-test b/testcases/open_posix_testsuite/locate-test index 9e246e2..3d8c8ee 100755 --- a/testcases/open_posix_testsuite/locate-test +++ b/testcases/open_posix_testsuite/locate-test @@ -92,17 +92,17 @@ do esac done +# Simple version right now, just locate all: +WHERE=${1:-$PWD} + # Need the DIRECTORY arg ... -if [ -z "$1" ] +if [ ! -d "$WHERE" ] then echo "Error: no root directory specified" 1>&2 - usage 1>&2; - exit 1; + usage >&2 + exit 1 fi -# Simple version right now, just locate all: -WHERE="$1" - # Force something .c or .sh # Avoid .o, backups # IF --execs, force it has no "-buildonly" @@ -112,12 +112,10 @@ find "$WHERE" -type f \ \( -name "[0-9]*-*.c" -o -name "[0-9]*-[0-9]*.sh" \) \ ! -name \*.o ! -name \*~ \ \) \ - $buildable $execs \ - | if [ $print_execs -eq 1 ] - then - sed 's/\.\(sh\|c\)$/.test/' - else - cat - fi - - + $buildable $execs | \ + if [ $print_execs -eq 1 ] + then + sed 's/\.\(sh\|c\)$/.test/' + else + cat + fi hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 23:05:32
|
The branch, pu, has been updated via c54cefe1191a6d959eace2812d27e406e176b122 (commit) via 1b8bcedd85f2c99d2850b4eb23ba8a83e5b4f16a (commit) from 3cc6f028b8eeda2e20f308dc8a81020332d8c524 (commit) - Log ----------------------------------------------------------------- commit c54cefe1191a6d959eace2812d27e406e176b122 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 16:02:39 2010 -0700 Mute stdout noise from make clean for functional. Signed-off-by: Garrett Cooper <yan...@gm...> commit 1b8bcedd85f2c99d2850b4eb23ba8a83e5b4f16a Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 15:58:34 2010 -0700 Mop up makefiles. 1. make clean was failing unnecessarily because rm was being called instead of rm -f. 2. Clean up Makefiles to make the style consistent across the board. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/GNUmakefile | 4 +- .../functional/semaphores/GNUmakefile | 18 +++++++--------- .../functional/timers/clocks/GNUmakefile | 22 ++++++++----------- .../functional/timers/timers/GNUmakefile | 19 +++++++---------- 4 files changed, 27 insertions(+), 36 deletions(-) diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile index e1775ff..fe49195 100644 --- a/testcases/open_posix_testsuite/GNUmakefile +++ b/testcases/open_posix_testsuite/GNUmakefile @@ -66,8 +66,8 @@ clean: -@# Build runnable tests -@find $(top_builddir) -iname \*.test | xargs -n 40 rm -f {} -@find $(top_builddir) -iname \*~ -o -iname \*.o | xargs -n 40 rm -f {} - -@for d in $(FUNCTIONAL_MAKE); do \ - $(MAKE) -C $$d clean; \ + @for d in $(FUNCTIONAL_MAKE); do \ + $(MAKE) -C $$d clean >/dev/null; \ done # Rule to run a build test diff --git a/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile b/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile index d944b86..348585c 100644 --- a/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile @@ -1,15 +1,13 @@ +CPPFLAGS+= -I../../include +LDLIBS+= -lpthread -INCLUDE = -I../../include -LIB= +TARGETS= sem_lock.test sem_conpro.test sem_readerwriter.test \ + sem_philosopher.test sem_sleepingbarber.test -CFLAGS=-Wall -O2 -g +all: $(TARGETS) -all: make-test -make-test: sem_lock.test sem_conpro.test sem_readerwriter.test sem_philosopher.test sem_sleepingbarber.test +%.test: %.o + $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ -%.test : %.c - $(CC) $(CFLAGS) $(INCLUDE) $< -o $@ $(LIB) -lpthread clean: - rm *.test - - + rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile b/testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile index e63c977..805a496 100644 --- a/testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile @@ -5,19 +5,15 @@ # source tree. # -#CFLAGS = -g -O2 -Wall -Werror -CFLAGS = -g -O2 -Wall -Werror -DDEBUG +CPPFLAGS+= -I../../../include +LDLIBS+= -lrt -INCLUDE = -I../../../include +TARGETS= twopsetclock.test invaliddates.test -LDPATH = +all: $(TARGETS) -LIB = -lrt - -all: twopsetclock.test invaliddates.test - -%.test : %.c - $(CC) $(CFLAGS) $(INCLUDE) $< -o $@ $(LDPATH) $(LIB) - -clean : - rm *.test +%.test: %.o + $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ + +clean: + rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile b/testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile index cdd1154..edbb35d 100644 --- a/testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile @@ -5,18 +5,15 @@ # source tree. # -CFLAGS = -g -O2 -Wall -Werror +CPPFLAGS+= -I../../../include +LDLIBS= -lrt -INCLUDE = -I../../../include +TARGETS= twoevtimers.test twoptimers.test -LDPATH = +all: $(TARGETS) -LIB = -lrt +%.test: %.o + $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ -all: twoevtimers.test twoptimers.test - -%.test : %.c - $(CC) $(CFLAGS) $(INCLUDE) $< -o $@ $(LDPATH) $(LIB) - -clean : - rm *.test +clean: + rm -f $(TARGETS) hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-20 23:07:17
|
The branch, pu, has been updated via e6933b95841581fdb6eb3f06e29b592716a95cb8 (commit) from c54cefe1191a6d959eace2812d27e406e176b122 (commit) - Log ----------------------------------------------------------------- commit e6933b95841581fdb6eb3f06e29b592716a95cb8 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 16:04:39 2010 -0700 Readd `-' in front of recursive make clean. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/GNUmakefile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile index fe49195..42e1fa8 100644 --- a/testcases/open_posix_testsuite/GNUmakefile +++ b/testcases/open_posix_testsuite/GNUmakefile @@ -66,7 +66,7 @@ clean: -@# Build runnable tests -@find $(top_builddir) -iname \*.test | xargs -n 40 rm -f {} -@find $(top_builddir) -iname \*~ -o -iname \*.o | xargs -n 40 rm -f {} - @for d in $(FUNCTIONAL_MAKE); do \ + -@for d in $(FUNCTIONAL_MAKE); do \ $(MAKE) -C $$d clean >/dev/null; \ done hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-21 03:14:15
|
The branch, pu, has been updated via 4aaa81f17ce66894139a1e27eccba85dae34ea54 (commit) via 37f653f5c41b6a347ab382ee75c15acf3a82978b (commit) via 1c385e70b81f9580841f12eaa3106a5f2ace9534 (commit) via b62095f93c4c4e34edc948cbd4d9f39f92a4d290 (commit) via 38bbac335cc10b0db007e871393c216d4bba7143 (commit) via 1e1a3fd3eec33ea81d8a912c569eb57a41b9faab (commit) via 246c55b6ff11862d61341f13ffa19a59c8ec64d6 (commit) via 6f2d70d4a671cdf121c8301db093b86a0e080ea6 (commit) via 4065c2f47676a1b3590ad569feb07e6993167533 (commit) via 6f5eda9e882257afd6ddded59fa8a293e6c11c0e (commit) via c580fbc0a607da39a438af4d78a85f64171af6bf (commit) via 200d76535a50ffd4d06f54933479a8696267d303 (commit) via b8139e0b5a8f20cbd9bbc97528679dc2fcd430a0 (commit) via a147804a653f2e528ce508a4e251c69e7a57c473 (commit) from e6933b95841581fdb6eb3f06e29b592716a95cb8 (commit) - Log ----------------------------------------------------------------- commit 4aaa81f17ce66894139a1e27eccba85dae34ea54 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 20:09:56 2010 -0700 No need to use --[fs]{make,run} anymore. The make targets are now officially in recursive Makefiles, so no need to build the logic into locate-test. An excellent opportunity to remove some gmake-isms too. Signed-off-by: Garrett Cooper <yan...@gm...> commit 37f653f5c41b6a347ab382ee75c15acf3a82978b Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 20:08:04 2010 -0700 Complete the switchover from gmake to POSIX make. Signed-off-by: Garrett Cooper <yan...@gm...> commit 1c385e70b81f9580841f12eaa3106a5f2ace9534 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 20:07:24 2010 -0700 Block off Linux-isms. Signed-off-by: Garrett Cooper <yan...@gm...> commit b62095f93c4c4e34edc948cbd4d9f39f92a4d290 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 20:05:40 2010 -0700 Remove a reference to chrt(1): a linux only util. Signed-off-by: Garrett Cooper <yan...@gm...> commit 38bbac335cc10b0db007e871393c216d4bba7143 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 19:56:04 2010 -0700 Add test targets. Signed-off-by: Garrett Cooper <yan...@gm...> commit 1e1a3fd3eec33ea81d8a912c569eb57a41b9faab Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 19:55:02 2010 -0700 Add test target. Signed-off-by: Garrett Cooper <yan...@gm...> commit 246c55b6ff11862d61341f13ffa19a59c8ec64d6 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 19:53:54 2010 -0700 Yank gmake-isms. Signed-off-by: Garrett Cooper <yan...@gm...> commit 6f2d70d4a671cdf121c8301db093b86a0e080ea6 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 19:50:54 2010 -0700 Add test target for Makefiles to execute run.sh. Signed-off-by: Garrett Cooper <yan...@gm...> commit 4065c2f47676a1b3590ad569feb07e6993167533 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 19:45:32 2010 -0700 Change install target to test. Signed-off-by: Garrett Cooper <yan...@gm...> commit 6f5eda9e882257afd6ddded59fa8a293e6c11c0e Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 19:37:21 2010 -0700 Properly block off linux-isms. Signed-off-by: Garrett Cooper <yan...@gm...> commit c580fbc0a607da39a438af4d78a85f64171af6bf Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 19:27:55 2010 -0700 Make test wrapper scripts more portable. 1. Remove bashisms. 2. Remove a useless wrapper (because the logic will soon be embedded in the Makefile). 3. Make the scripts more consistent. Signed-off-by: Garrett Cooper <yan...@gm...> commit 200d76535a50ffd4d06f54933479a8696267d303 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 19:07:40 2010 -0700 Get rid of leftover bashism. Signed-off-by: Garrett Cooper <yan...@gm...> commit b8139e0b5a8f20cbd9bbc97528679dc2fcd430a0 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 19:04:55 2010 -0700 Clean up testcase. It started with a usage message and then evolved to fix some corner cases and moved on to style changes. Signed-off-by: Garrett Cooper <yan...@gm...> commit a147804a653f2e528ce508a4e251c69e7a57c473 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 16:26:18 2010 -0700 Add make agnostic Makefile. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/GNUmakefile | 32 ++++---------- .../functional/mqueues/GNUmakefile | 3 + .../functional/semaphores/GNUmakefile | 3 + .../functional/semaphores/run.sh | 2 +- .../functional/semaphores/sem_lock.c | 39 ++++++++++------ .../functional/threads/GNUmakefile | 12 ----- .../functional/threads/Makefile | 12 +++++ .../functional/threads/pi_test/GNUmakefile | 8 --- .../functional/threads/pi_test/Makefile | 11 +++++ .../functional/threads/pi_test/run.sh | 47 ++++++++++--------- .../functional/threads/robust_test/GNUmakefile | 9 ---- .../functional/threads/robust_test/Makefile | 12 +++++ .../functional/threads/robust_test/robust1-mode2.c | 6 ++- .../functional/threads/robust_test/robust1-sun.c | 6 ++- .../functional/threads/robust_test/robust2-mode2.c | 6 ++- .../functional/threads/robust_test/robust2-sun.c | 6 ++- .../functional/threads/robust_test/robust3-mode2.c | 8 +++- .../functional/threads/robust_test/run.sh | 44 ++++++++++--------- .../open_posix_testsuite/functional/threads/run.sh | 15 ------ .../functional/timers/GNUmakefile | 3 + testcases/open_posix_testsuite/locate-test | 16 ------- testcases/open_posix_testsuite/stress/Makefile | 6 +++ .../stress/mqueues/GNUmakefile | 21 +++++--- .../stress/semaphores/GNUmakefile | 17 ++++--- 24 files changed, 182 insertions(+), 162 deletions(-) delete mode 100644 testcases/open_posix_testsuite/functional/threads/GNUmakefile create mode 100644 testcases/open_posix_testsuite/functional/threads/Makefile delete mode 100644 testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile create mode 100644 testcases/open_posix_testsuite/functional/threads/pi_test/Makefile delete mode 100644 testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile create mode 100644 testcases/open_posix_testsuite/functional/threads/robust_test/Makefile delete mode 100755 testcases/open_posix_testsuite/functional/threads/run.sh create mode 100644 testcases/open_posix_testsuite/stress/Makefile diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile index 42e1fa8..fd11733 100644 --- a/testcases/open_posix_testsuite/GNUmakefile +++ b/testcases/open_posix_testsuite/GNUmakefile @@ -30,10 +30,6 @@ LOGFILE= $(top_builddir)/logfile RUN_TESTS= $(shell $(top_builddir)/locate-test --execs $(top_builddir)/$(POSIX_TARGET)) BUILD_TESTS= $(shell $(top_builddir)/locate-test --buildable $(top_builddir)/$(POSIX_TARGET)) -FUNCTIONAL_MAKE=`$(top_builddir)/locate-test --fmake` -FUNCTIONAL_RUN= $(shell $(top_builddir)/locate-test --frun) -STRESS_MAKE= `$(top_builddir)/locate-test --smake` -STRESS_RUN= $(shell $(top_builddir)/locate-test --srun) PWD= `pwd` TIMEOUT= $(top_builddir)/t0 $(TIMEOUT_VAL) @@ -66,7 +62,7 @@ clean: -@# Build runnable tests -@find $(top_builddir) -iname \*.test | xargs -n 40 rm -f {} -@find $(top_builddir) -iname \*~ -o -iname \*.o | xargs -n 40 rm -f {} - -@for d in $(FUNCTIONAL_MAKE); do \ + -@for d in functional stress; do \ $(MAKE) -C $$d clean >/dev/null; \ done @@ -177,25 +173,15 @@ $(top_builddir)/t0.val: $(top_builddir)/t0 # Functional/Stress test build and execution functional-make: - @for d in $(FUNCTIONAL_MAKE); do \ - $(MAKE) -C $$d; \ - done - -.PHONY: $(FUNCTIONAL_RUN) - -functional-run: $(FUNCTIONAL_RUN) + $(MAKE) -C functional all -$(FUNCTIONAL_RUN): - cd $@ && ./run.sh +.PHONY: functional-test +functional-test: functional-make + $(MAKE) -C functional test stress-make: - for d in $(STRESS_MAKE); do \ - $(MAKE) -C $$d; \ - done - -.PHONY: $(STRESS_RUN) - -stress-run: $(STRESS_RUN) + $(MAKE) -C stress all -$(STRESS_RUN): - cd $@; ./run.sh +.PHONY: stress-test +stress-test: stress-make + $(MAKE) -C stress test diff --git a/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile b/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile index cf1e447..f99ec61 100644 --- a/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile @@ -9,3 +9,6 @@ all: send_rev_1.test send_rev_2.test clean: rm -f *.test + +test: + ./run.sh diff --git a/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile b/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile index 348585c..59271be 100644 --- a/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile @@ -11,3 +11,6 @@ all: $(TARGETS) clean: rm -f $(TARGETS) + +test: + ./run.sh diff --git a/testcases/open_posix_testsuite/functional/semaphores/run.sh b/testcases/open_posix_testsuite/functional/semaphores/run.sh index 955b5b8..282c64e 100755 --- a/testcases/open_posix_testsuite/functional/semaphores/run.sh +++ b/testcases/open_posix_testsuite/functional/semaphores/run.sh @@ -11,7 +11,7 @@ RunTest() { echo "TEST: " $1 - TOTAL=$TOTAL+1 + : $(( TOTAL += 1 )) ./$1 if [ $? -eq 0 ]; then : $(( PASS += 1 )) diff --git a/testcases/open_posix_testsuite/functional/semaphores/sem_lock.c b/testcases/open_posix_testsuite/functional/semaphores/sem_lock.c index d35a180..be95d08 100644 --- a/testcases/open_posix_testsuite/functional/semaphores/sem_lock.c +++ b/testcases/open_posix_testsuite/functional/semaphores/sem_lock.c @@ -30,8 +30,8 @@ int main(int argc, char *argv[]) sem_t *sem_lock; int shared = 1; int value = 1; - pid_t pid=0; - int i, num=0; + pid_t pid = 0; + int i, num = 0; char buf[BUF_SIZE]; char *c; @@ -40,29 +40,40 @@ int main(int argc, char *argv[]) return PTS_UNRESOLVED; #endif if ( (2 != argc) || (( num = atoi(argv[1])) <= 0)) { - fprintf(stdout, "Usage: %s number_of_processes\n", argv[0]); - printf("Set num_of_processes to default value %d \n", DEFAULT_THREADS); + printf("Setting num_of_processes to default value: %d\n", + DEFAULT_THREADS); num = DEFAULT_THREADS; } - sem_lock = (sem_t *)malloc(sizeof(sem_t)); - if (-1 == sem_init(sem_lock, shared, value)) { + if ((sem_lock = (sem_t *)malloc(sizeof(sem_t))) == NULL) { + perror("malloc"); + return PTS_UNRESOLVED; + } + if (sem_init(sem_lock, shared, value) == -1) { perror("sem_init didn't return success\n"); return PTS_UNRESOLVED; } - for (i=1; i<num; i++) - if ((pid = fork())!=0) - { + for (i = 1; i < num; i++) + switch ((pid = fork())) { + case -1: + perror("fork"); + return PTS_UNRESOLVED; + case 0: + break; + default: sleep(2); break; } - sprintf(buf, "%d process_ID:%ld parent_process_ID:%ld child_process_ID:%ld \n", i, (long)getpid(), (long)getppid(), (long)pid); - if (-1 == sem_wait(sem_lock)) { + sprintf(buf, "%d process_ID: %ld parent_process_ID: %ld " + "child_process_ID: %ld\n", i, (long)getpid(), + (long)getppid(), (long)pid); + + if (sem_wait(sem_lock) == -1) { perror("sem_wait didn't return success\n"); return PTS_UNRESOLVED; } - for (i = 1; i<= 10; i++) { - c=buf; + for (i = 1; i <= 10; i++) { + c = buf; while (*c != '\n') { fputc(*c, stdout); c++; @@ -70,7 +81,7 @@ int main(int argc, char *argv[]) fputc('\n', stdout); } - if (-1 == sem_post(sem_lock)) { + if (sem_post(sem_lock) == -1) { perror("sem_wait didn't return success\n"); return PTS_UNRESOLVED; } diff --git a/testcases/open_posix_testsuite/functional/threads/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/GNUmakefile deleted file mode 100644 index 04e94df..0000000 --- a/testcases/open_posix_testsuite/functional/threads/GNUmakefile +++ /dev/null @@ -1,12 +0,0 @@ -SUBDIRS= robust_test pi_test - -all install: - for d in $(SUBDIRS); do \ - $(MAKE) -C $$d $@; \ - done - -clean: - rm -f *~ - for d in $(SUBDIRS); do \ - $(MAKE) -C $$d $@; \ - done diff --git a/testcases/open_posix_testsuite/functional/threads/Makefile b/testcases/open_posix_testsuite/functional/threads/Makefile new file mode 100644 index 0000000..e8cc701 --- /dev/null +++ b/testcases/open_posix_testsuite/functional/threads/Makefile @@ -0,0 +1,12 @@ +SUBDIRS= robust_test pi_test + +all test: + for d in $(SUBDIRS); do \ + $(MAKE) -C $$d $@; \ + done + +clean: + rm -f *~ + for d in $(SUBDIRS); do \ + $(MAKE) -C $$d $@; \ + done diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile deleted file mode 100644 index 7423b04..0000000 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile +++ /dev/null @@ -1,8 +0,0 @@ -CFLAGS+= -I../include -LDLIBS= -lpthread -TARGETS= pitest-1 pitest-2 pitest-3 pitest-4 pitest-5 pitest-6 - -all: $(TARGETS) - -clean: - -rm -rf $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile b/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile new file mode 100644 index 0000000..c887ef2 --- /dev/null +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile @@ -0,0 +1,11 @@ +CFLAGS+= -I../include +LDLIBS= -lpthread +TARGETS= pitest-1 pitest-2 pitest-3 pitest-4 pitest-5 pitest-6 + +all: $(TARGETS) + +clean: + -rm -rf $(TARGETS) + +test: + ./run.sh diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/run.sh b/testcases/open_posix_testsuite/functional/threads/pi_test/run.sh index 7300cb8..1f95c55 100755 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/run.sh +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/run.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh PRIORITY=20 # If users run pi tests from sshd, they need to improve the priority # sshd using the following command. @@ -12,23 +12,26 @@ PRIORITY=20 killall -9 watchdogtimer.sh rm -rf output.* -chrt -f $PRIORITY ../tools/watchdogtimer.sh & +../tools/watchdogtimer.sh & + +TOTAL=0 +FAIL=0 +PASS=0 -declare -i TOTAL=0 -declare -i FAIL=0 -declare -i PASS=0 Run() { - echo "TEST: " $1 - TOTAL=$TOTAL+1 - ./$1 > output.$1 - if [ $? == 0 ]; then - PASS=$PASS+1 - echo -ne "\t\t\t***TEST PASSED***\n\n" - else - FAIL=$FAIL+1 - echo -ne "\t\t\t***TEST FAILED***\n\n" - fi + echo "TEST: " $1 + : $(( TOTAL += 1 )) + ./$1 > output.$1 + if [ $? -eq 0 ]; then + : $(( PASS += 1 )) + echo " ***TEST PASSED***" + echo "" + else + : $(( FAIL += 1 )) + echo " ***TEST FAILED***" + echo "" + fi } TESTS="pitest-1 pitest-2 pitest-3 pitest-4 pitest-5 pitest-6" @@ -37,10 +40,10 @@ for test in $TESTS; do Run $test done -echo -ne "\t\t*****************\n" -echo -ne "\t\t* TOTAL: " $TOTAL *"\n" -echo -ne "\t\t* PASSED: " $PASS *"\n" -echo -ne "\t\t* FAILED: " $FAIL *"\n" -echo -ne "\t\t*****************\n" - - +cat <<EOF + ***************** + * TOTAL: $TOTAL * + * PASSED: $PASS * + * FAILED: $FAIL * + ***************** +EOF diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile deleted file mode 100644 index e4490cf..0000000 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile +++ /dev/null @@ -1,9 +0,0 @@ -CFLAGS+= -I../include -LDLIBS= -lpthread -TARGETS= robust1-mode2 robust1-sun robust2-mode2 robust2-sun \ - robust3-mode2 - -all: $(TARGETS) - -clean: - -rm -rf $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile b/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile new file mode 100644 index 0000000..0c3ba1b --- /dev/null +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile @@ -0,0 +1,12 @@ +CFLAGS+= -I../include +LDLIBS= -lpthread +TARGETS= robust1-mode2 robust1-sun robust2-mode2 robust2-sun \ + robust3-mode2 + +all: $(TARGETS) + +clean: + -rm -rf $(TARGETS) + +test: + ./run.sh diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c index b75f319..9d2e4c4 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c @@ -55,6 +55,7 @@ void *thread_2(void *arg) rc, strerror(rc)); exit(UNRESOLVED); } +#if __linux__ rc = pthread_mutex_lock(&mutex); if (rc != EOWNERDEAD) { EPRINTF("FAIL: pthread_mutex_lock didn't return EOWNERDEAD"); @@ -62,7 +63,7 @@ void *thread_2(void *arg) } DPRINTF(stdout,"Thread 2 lock the mutex and return EOWNERDEAD\n"); pthread_mutex_unlock(&mutex); - + rc = pthread_mutex_lock(&mutex); if (rc != EOWNERDEAD) { EPRINTF("FAIL:The mutex shall remain the state EOWNERDEAD " @@ -70,6 +71,7 @@ void *thread_2(void *arg) pthread_mutex_unlock(&mutex); exit(FAIL); } +#endif pthread_exit(NULL); return NULL; } @@ -87,6 +89,7 @@ int main() rc, strerror(rc)); return UNRESOLVED; } +#if __linux__ rc = pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP); if (rc != 0) { @@ -94,6 +97,7 @@ int main() rc, strerror(rc)); return UNRESOLVED; } +#endif rc = pthread_mutex_init(&mutex, &attr); if (rc != 0) { EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c index b71b650..50dbb13 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c @@ -56,11 +56,12 @@ void *thread_2(void *arg) exit(UNRESOLVED); } +#if __linux__ if (pthread_mutex_lock(&mutex) != EOWNERDEAD) { EPRINTF("FAIL: pthread_mutex_lock didn't return EOWNERDEAD"); exit(FAIL); } - DPRINTF(stdout,"Thread 2 lock the mutex and return EOWNERDEAD\n"); + DPRINTF(stdout, "Thread 2 lock the mutex and return EOWNERDEAD\n"); pthread_mutex_unlock(&mutex); if (pthread_mutex_lock(&mutex) != ENOTRECOVERABLE) { @@ -69,6 +70,7 @@ void *thread_2(void *arg) pthread_mutex_unlock(&mutex); exit(FAIL); } +#endif pthread_exit(NULL); return NULL; } @@ -86,12 +88,14 @@ int main() rc, strerror(rc)); return UNRESOLVED; } +#if __linux__ rc = pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_SUN_NP); if (rc != 0) { EPRINTF("UNRESOLVED: pthread_mutexattr_setrobust_np %d %s", rc, strerror(rc)); return UNRESOLVED; } +#endif rc = pthread_mutex_init(&mutex, &attr); if (rc != 0) { EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c index a54cf38..0559c19 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c @@ -55,6 +55,7 @@ void *thread_2(void *arg) rc, strerror(rc)); exit(UNRESOLVED); } +#if __linux__ if (pthread_mutex_lock(&mutex) != EOWNERDEAD) { EPRINTF("FAIL:pthread_mutex_lock didn't return EOWNERDEAD"); exit(FAIL); @@ -97,7 +98,8 @@ void *thread_2(void *arg) "(why fails?) in x-mode\n"); pthread_mutex_unlock(&mutex); } - } + } +#endif pthread_exit(NULL); return NULL; } @@ -115,12 +117,14 @@ int main() rc, strerror(rc)); return UNRESOLVED; } +#if __linux__ rc = pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP); if (rc != 0) { EPRINTF("UNRESOLVED: pthread_mutexattr_setrobust_np %d %s", rc, strerror(rc)); return UNRESOLVED; } +#endif rc = pthread_mutex_init(&mutex, &attr); if (rc != 0) { EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c index 2532194..690306e 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c @@ -57,12 +57,13 @@ void *thread_2(void *arg) rc, strerror(rc)); exit(UNRESOLVED); } +#if __linux__ if (pthread_mutex_lock(&mutex) != EOWNERDEAD) { EPRINTF("FAIL:pthread_mutex_lock didn't return EOWNERDEAD"); exit(FAIL); } DPRINTF(stdout,"Thread 2 locked the mutex and return EOWNERDEAD\n"); - + if (pthread_mutex_consistent_np(&mutex) == 0) { pthread_mutex_unlock(&mutex); if (pthread_mutex_lock(&mutex) != 0) { @@ -96,6 +97,7 @@ void *thread_2(void *arg) pthread_mutex_unlock(&mutex); } } +#endif pthread_exit(NULL); return NULL; } @@ -113,12 +115,14 @@ int main() rc, strerror(rc)); return UNRESOLVED; } +#if __linux__ rc = pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_SUN_NP); if (rc != 0) { EPRINTF("UNRESOLVED: pthread_mutexattr_setrobust_np %d %s", rc, strerror(rc)); return UNRESOLVED; } +#endif rc = pthread_mutex_init(&mutex, &attr); if (rc != 0) { EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c index 8facd26..a3d0669 100644 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c @@ -58,6 +58,7 @@ void *thread_2(void *arg) exit(UNRESOLVED); } +#if __linux__ rc = pthread_mutex_lock(&mutex); if (rc != EOWNERDEAD) { EPRINTF("FAIL:pthread_mutex_lock didn't return EOWNERDEAD \n"); @@ -102,6 +103,7 @@ void *thread_2(void *arg) pthread_mutex_unlock(&mutex); } } +#endif pthread_exit(NULL); return NULL; } @@ -119,12 +121,14 @@ int main() rc, strerror(rc)); return UNRESOLVED; } +#if __linux__ rc = pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP); if (rc != 0) { EPRINTF("UNRESOLVED: pthread_mutexattr_setrobust_np %d %s", rc, strerror(rc)); return UNRESOLVED; } +#endif rc = pthread_mutex_init(&mutex, &attr); if (rc != 0) { EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", @@ -144,7 +148,7 @@ int main() return UNRESOLVED; } pthread_join(threads[0], NULL); - DPRINTF(stdout,"Thread 1 exit without unlock the mutex...\n "); + DPRINTF(stdout, "Thread 1 exit without unlock the mutex...\n"); rc = pthread_create(&threads[1], &threadattr, thread_2, NULL); if (rc != 0) { @@ -153,7 +157,7 @@ int main() return UNRESOLVED; } pthread_join(threads[1], NULL ); - DPRINTF(stdout,"Thread 2 exit ...\n "); + DPRINTF(stdout, "Thread 2 exit ...\n"); DPRINTF(stdout,"PASS: Test PASSED\n"); return PASS; diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/run.sh b/testcases/open_posix_testsuite/functional/threads/robust_test/run.sh index 85df8a3..bb04519 100755 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/run.sh +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/run.sh @@ -1,20 +1,22 @@ -#!/bin/bash +#!/bin/sh -declare -i TOTAL=0 -declare -i FAIL=0 -declare -i PASS=0 +TOTAL=0 +FAIL=0 +PASS=0 Run() { - echo "TEST: " $1 - TOTAL=$TOTAL+1 - ./$1 - if [ $? == 0 ]; then - PASS=$PASS+1 - echo -ne "\t\t\t***TEST PASSED***\n\n" - else - FAIL=$FAIL+1 - echo -ne "\t\t\t***TEST FAILED***\n\n" - fi + echo "TEST: " $1 + : $(( TOTAL += 1 )) + ./$1 + if [ $? -eq 0 ]; then + : $(( PASS += 1 )) + echo " ***TEST PASSED***" + echo "" + else + : $(( FAIL += 1 )) + echo " ***TEST FAILED***" + echo "" + fi } TESTS="robust1-sun robust2-sun robust1-mode2 robust2-mode2 robust3-mode2" @@ -22,10 +24,10 @@ for test in $TESTS; do Run $test done -echo -ne "\t\t*****************\n" -echo -ne "\t\t* TOTAL: " $TOTAL *"\n" -echo -ne "\t\t* PASSED: " $PASS *"\n" -echo -ne "\t\t* FAILED: " $FAIL *"\n" -echo -ne "\t\t*****************\n" - - +cat <<EOF + ***************** + * TOTAL: $TOTAL * + * PASSED: $PASS * + * FAILED: $FAIL * + ***************** +EOF diff --git a/testcases/open_posix_testsuite/functional/threads/run.sh b/testcases/open_posix_testsuite/functional/threads/run.sh deleted file mode 100755 index eaf3313..0000000 --- a/testcases/open_posix_testsuite/functional/threads/run.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -CURRENT_DIR=$(pwd) -TEST_DIRS="robust_test pi_test" - -for test_dir in $TEST_DIRS; do - -echo "" -echo "Run $test_dir tests" -echo "===============" -echo "" - cd $CURRENT_DIR/$test_dir; - ./run.sh -done - diff --git a/testcases/open_posix_testsuite/functional/timers/GNUmakefile b/testcases/open_posix_testsuite/functional/timers/GNUmakefile index 0d484da..653fe64 100644 --- a/testcases/open_posix_testsuite/functional/timers/GNUmakefile +++ b/testcases/open_posix_testsuite/functional/timers/GNUmakefile @@ -11,3 +11,6 @@ all clean: for d in $(SUBDIRS); do \ $(MAKE) -C $$d $@; \ done + +test: + ./run.sh diff --git a/testcases/open_posix_testsuite/locate-test b/testcases/open_posix_testsuite/locate-test index 3d8c8ee..47386c9 100755 --- a/testcases/open_posix_testsuite/locate-test +++ b/testcases/open_posix_testsuite/locate-test @@ -61,22 +61,6 @@ do execs="( ( -name [0-9]*-[0-9]*.c -o -name [0-9]*-[0-9]*.sh ) -a ! -name *-buildonly* )"; shift; ;; - "--fmake") - find functional/ -maxdepth 2 -mindepth 2 -type f -name $MAKEFILE -exec dirname '{}' ';' - exit 0; - ;; - "--frun") - find functional/ -maxdepth 2 -mindepth 2 -type f -name "run.sh" -exec dirname '{}' ';' - exit 0; - ;; - "--smake") - find stress/ -maxdepth 2 -mindepth 2 -type f -name $MAKEFILE -exec dirname '{}' ';' - exit 0; - ;; - "--srun") - find stress/ -maxdepth 2 -mindepth 2 -type f -name "run.sh" -exec dirname '{}' ';' - exit 0; - ;; "--help") usage; exit 0; diff --git a/testcases/open_posix_testsuite/stress/Makefile b/testcases/open_posix_testsuite/stress/Makefile new file mode 100644 index 0000000..6b989fc --- /dev/null +++ b/testcases/open_posix_testsuite/stress/Makefile @@ -0,0 +1,6 @@ +SUBDIRS= mqueues semaphores + +all clean test: + for d in $(SUBDIRS); do \ + $(MAKE) -C $$d $@; \ + done diff --git a/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile b/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile index e014ea9..40380d6 100644 --- a/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile +++ b/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile @@ -1,13 +1,18 @@ -INCLUDE = -I../../include -LIB=-lrt +CFLAGS+= -I../../include +LDLIBS+= -lrt -CFLAGS=-Wall -O2 -g +TARGETS= multi_send_rev_1.test multi_send_rev_2.test -all: multi_send_rev_1.test multi_send_rev_2.test +all: $(TARGETS) + +multi_send_rev_1.test: multi_send_rev_1.c + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) + +multi_send_rev_2.test: multi_send_rev_2.c + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) -%.test : %.c - $(CC) $(CFLAGS) $(INCLUDE) $< -o $@ $(LIB) clean: - rm *.test + rm -f $(TARGETS) - +test: + @./run.sh diff --git a/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile b/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile index 017c014..da410b0 100644 --- a/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile +++ b/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile @@ -1,12 +1,15 @@ -INCLUDE = -I../../include +CFLAGS+= -I../../include +LDLIBS+= -lpthread -CFLAGS=-Wall -O2 -g +TARGETS+= multi_con_pro.test -all: multi_con_pro.test +all: $(TARGETS) + +multi_con_pro.test: multi_con_pro.c + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) -%.test : %.c - $(CC) $(CFLAGS) $(INCLUDE) $< -o $@ -lpthread clean: - rm *.test + rm -f $(TARGETS) - +test: + @./run.sh hooks/post-receive -- ltp |
From: Subrata M. <su...@li...> - 2010-06-21 17:23:13
|
I guess you are back again. Good to know that. I will be doing LTP again though with little reduced attention (direction from my manager) ;-) Meanwhile how do you manage to use Rishiś e-mail ID ?? It will bounce back if somebody replies :-) Regards-- Subrata On Mon, 2010-06-21 at 03:14 +0000, Garrett Cooper wrote: > The branch, pu, has been updated > via 4aaa81f17ce66894139a1e27eccba85dae34ea54 (commit) > via 37f653f5c41b6a347ab382ee75c15acf3a82978b (commit) > via 1c385e70b81f9580841f12eaa3106a5f2ace9534 (commit) > via b62095f93c4c4e34edc948cbd4d9f39f92a4d290 (commit) > via 38bbac335cc10b0db007e871393c216d4bba7143 (commit) > via 1e1a3fd3eec33ea81d8a912c569eb57a41b9faab (commit) > via 246c55b6ff11862d61341f13ffa19a59c8ec64d6 (commit) > via 6f2d70d4a671cdf121c8301db093b86a0e080ea6 (commit) > via 4065c2f47676a1b3590ad569feb07e6993167533 (commit) > via 6f5eda9e882257afd6ddded59fa8a293e6c11c0e (commit) > via c580fbc0a607da39a438af4d78a85f64171af6bf (commit) > via 200d76535a50ffd4d06f54933479a8696267d303 (commit) > via b8139e0b5a8f20cbd9bbc97528679dc2fcd430a0 (commit) > via a147804a653f2e528ce508a4e251c69e7a57c473 (commit) > from e6933b95841581fdb6eb3f06e29b592716a95cb8 (commit) > > > - Log ----------------------------------------------------------------- > commit 4aaa81f17ce66894139a1e27eccba85dae34ea54 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 20:09:56 2010 -0700 > > No need to use --[fs]{make,run} anymore. > > The make targets are now officially in recursive Makefiles, so no need > to build the logic into locate-test. > > An excellent opportunity to remove some gmake-isms too. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit 37f653f5c41b6a347ab382ee75c15acf3a82978b > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 20:08:04 2010 -0700 > > Complete the switchover from gmake to POSIX make. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit 1c385e70b81f9580841f12eaa3106a5f2ace9534 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 20:07:24 2010 -0700 > > Block off Linux-isms. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit b62095f93c4c4e34edc948cbd4d9f39f92a4d290 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 20:05:40 2010 -0700 > > Remove a reference to chrt(1): a linux only util. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit 38bbac335cc10b0db007e871393c216d4bba7143 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 19:56:04 2010 -0700 > > Add test targets. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit 1e1a3fd3eec33ea81d8a912c569eb57a41b9faab > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 19:55:02 2010 -0700 > > Add test target. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit 246c55b6ff11862d61341f13ffa19a59c8ec64d6 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 19:53:54 2010 -0700 > > Yank gmake-isms. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit 6f2d70d4a671cdf121c8301db093b86a0e080ea6 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 19:50:54 2010 -0700 > > Add test target for Makefiles to execute run.sh. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit 4065c2f47676a1b3590ad569feb07e6993167533 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 19:45:32 2010 -0700 > > Change install target to test. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit 6f5eda9e882257afd6ddded59fa8a293e6c11c0e > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 19:37:21 2010 -0700 > > Properly block off linux-isms. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit c580fbc0a607da39a438af4d78a85f64171af6bf > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 19:27:55 2010 -0700 > > Make test wrapper scripts more portable. > > 1. Remove bashisms. > 2. Remove a useless wrapper (because the logic will soon be embedded in > the Makefile). > 3. Make the scripts more consistent. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit 200d76535a50ffd4d06f54933479a8696267d303 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 19:07:40 2010 -0700 > > Get rid of leftover bashism. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit b8139e0b5a8f20cbd9bbc97528679dc2fcd430a0 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 19:04:55 2010 -0700 > > Clean up testcase. > > It started with a usage message and then evolved to fix some corner > cases and moved on to style changes. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > commit a147804a653f2e528ce508a4e251c69e7a57c473 > Author: Garrett Cooper <yan...@gm...> > Date: Sun Jun 20 16:26:18 2010 -0700 > > Add make agnostic Makefile. > > Signed-off-by: Garrett Cooper <yan...@gm...> > > ----------------------------------------------------------------------- > > Summary of changes: > testcases/open_posix_testsuite/GNUmakefile | 32 ++++---------- > .../functional/mqueues/GNUmakefile | 3 + > .../functional/semaphores/GNUmakefile | 3 + > .../functional/semaphores/run.sh | 2 +- > .../functional/semaphores/sem_lock.c | 39 ++++++++++------ > .../functional/threads/GNUmakefile | 12 ----- > .../functional/threads/Makefile | 12 +++++ > .../functional/threads/pi_test/GNUmakefile | 8 --- > .../functional/threads/pi_test/Makefile | 11 +++++ > .../functional/threads/pi_test/run.sh | 47 ++++++++++--------- > .../functional/threads/robust_test/GNUmakefile | 9 ---- > .../functional/threads/robust_test/Makefile | 12 +++++ > .../functional/threads/robust_test/robust1-mode2.c | 6 ++- > .../functional/threads/robust_test/robust1-sun.c | 6 ++- > .../functional/threads/robust_test/robust2-mode2.c | 6 ++- > .../functional/threads/robust_test/robust2-sun.c | 6 ++- > .../functional/threads/robust_test/robust3-mode2.c | 8 +++- > .../functional/threads/robust_test/run.sh | 44 ++++++++++--------- > .../open_posix_testsuite/functional/threads/run.sh | 15 ------ > .../functional/timers/GNUmakefile | 3 + > testcases/open_posix_testsuite/locate-test | 16 ------- > testcases/open_posix_testsuite/stress/Makefile | 6 +++ > .../stress/mqueues/GNUmakefile | 21 +++++--- > .../stress/semaphores/GNUmakefile | 17 ++++--- > 24 files changed, 182 insertions(+), 162 deletions(-) > delete mode 100644 testcases/open_posix_testsuite/functional/threads/GNUmakefile > create mode 100644 testcases/open_posix_testsuite/functional/threads/Makefile > delete mode 100644 testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile > create mode 100644 testcases/open_posix_testsuite/functional/threads/pi_test/Makefile > delete mode 100644 testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile > create mode 100644 testcases/open_posix_testsuite/functional/threads/robust_test/Makefile > delete mode 100755 testcases/open_posix_testsuite/functional/threads/run.sh > create mode 100644 testcases/open_posix_testsuite/stress/Makefile > > diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile > index 42e1fa8..fd11733 100644 > --- a/testcases/open_posix_testsuite/GNUmakefile > +++ b/testcases/open_posix_testsuite/GNUmakefile > @@ -30,10 +30,6 @@ LOGFILE= $(top_builddir)/logfile > > RUN_TESTS= $(shell $(top_builddir)/locate-test --execs $(top_builddir)/$(POSIX_TARGET)) > BUILD_TESTS= $(shell $(top_builddir)/locate-test --buildable $(top_builddir)/$(POSIX_TARGET)) > -FUNCTIONAL_MAKE=`$(top_builddir)/locate-test --fmake` > -FUNCTIONAL_RUN= $(shell $(top_builddir)/locate-test --frun) > -STRESS_MAKE= `$(top_builddir)/locate-test --smake` > -STRESS_RUN= $(shell $(top_builddir)/locate-test --srun) > PWD= `pwd` > TIMEOUT= $(top_builddir)/t0 $(TIMEOUT_VAL) > > @@ -66,7 +62,7 @@ clean: > -@# Build runnable tests > -@find $(top_builddir) -iname \*.test | xargs -n 40 rm -f {} > -@find $(top_builddir) -iname \*~ -o -iname \*.o | xargs -n 40 rm -f {} > - -@for d in $(FUNCTIONAL_MAKE); do \ > + -@for d in functional stress; do \ > $(MAKE) -C $$d clean >/dev/null; \ > done > > @@ -177,25 +173,15 @@ $(top_builddir)/t0.val: $(top_builddir)/t0 > > # Functional/Stress test build and execution > functional-make: > - @for d in $(FUNCTIONAL_MAKE); do \ > - $(MAKE) -C $$d; \ > - done > - > -.PHONY: $(FUNCTIONAL_RUN) > - > -functional-run: $(FUNCTIONAL_RUN) > + $(MAKE) -C functional all > > -$(FUNCTIONAL_RUN): > - cd $@ && ./run.sh > +.PHONY: functional-test > +functional-test: functional-make > + $(MAKE) -C functional test > > stress-make: > - for d in $(STRESS_MAKE); do \ > - $(MAKE) -C $$d; \ > - done > - > -.PHONY: $(STRESS_RUN) > - > -stress-run: $(STRESS_RUN) > + $(MAKE) -C stress all > > -$(STRESS_RUN): > - cd $@; ./run.sh > +.PHONY: stress-test > +stress-test: stress-make > + $(MAKE) -C stress test > diff --git a/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile b/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile > index cf1e447..f99ec61 100644 > --- a/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile > +++ b/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile > @@ -9,3 +9,6 @@ all: send_rev_1.test send_rev_2.test > > clean: > rm -f *.test > + > +test: > + ./run.sh > diff --git a/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile b/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile > index 348585c..59271be 100644 > --- a/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile > +++ b/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile > @@ -11,3 +11,6 @@ all: $(TARGETS) > > clean: > rm -f $(TARGETS) > + > +test: > + ./run.sh > diff --git a/testcases/open_posix_testsuite/functional/semaphores/run.sh b/testcases/open_posix_testsuite/functional/semaphores/run.sh > index 955b5b8..282c64e 100755 > --- a/testcases/open_posix_testsuite/functional/semaphores/run.sh > +++ b/testcases/open_posix_testsuite/functional/semaphores/run.sh > @@ -11,7 +11,7 @@ > RunTest() > { > echo "TEST: " $1 > - TOTAL=$TOTAL+1 > + : $(( TOTAL += 1 )) > ./$1 > if [ $? -eq 0 ]; then > : $(( PASS += 1 )) > diff --git a/testcases/open_posix_testsuite/functional/semaphores/sem_lock.c b/testcases/open_posix_testsuite/functional/semaphores/sem_lock.c > index d35a180..be95d08 100644 > --- a/testcases/open_posix_testsuite/functional/semaphores/sem_lock.c > +++ b/testcases/open_posix_testsuite/functional/semaphores/sem_lock.c > @@ -30,8 +30,8 @@ int main(int argc, char *argv[]) > sem_t *sem_lock; > int shared = 1; > int value = 1; > - pid_t pid=0; > - int i, num=0; > + pid_t pid = 0; > + int i, num = 0; > char buf[BUF_SIZE]; > char *c; > > @@ -40,29 +40,40 @@ int main(int argc, char *argv[]) > return PTS_UNRESOLVED; > #endif > if ( (2 != argc) || (( num = atoi(argv[1])) <= 0)) { > - fprintf(stdout, "Usage: %s number_of_processes\n", argv[0]); > - printf("Set num_of_processes to default value %d \n", DEFAULT_THREADS); > + printf("Setting num_of_processes to default value: %d\n", > + DEFAULT_THREADS); > num = DEFAULT_THREADS; > } > - sem_lock = (sem_t *)malloc(sizeof(sem_t)); > - if (-1 == sem_init(sem_lock, shared, value)) { > + if ((sem_lock = (sem_t *)malloc(sizeof(sem_t))) == NULL) { > + perror("malloc"); > + return PTS_UNRESOLVED; > + } > + if (sem_init(sem_lock, shared, value) == -1) { > perror("sem_init didn't return success\n"); > return PTS_UNRESOLVED; > } > - for (i=1; i<num; i++) > - if ((pid = fork())!=0) > - { > + for (i = 1; i < num; i++) > + switch ((pid = fork())) { > + case -1: > + perror("fork"); > + return PTS_UNRESOLVED; > + case 0: > + break; > + default: > sleep(2); > break; > } > - sprintf(buf, "%d process_ID:%ld parent_process_ID:%ld child_process_ID:%ld \n", i, (long)getpid(), (long)getppid(), (long)pid); > > - if (-1 == sem_wait(sem_lock)) { > + sprintf(buf, "%d process_ID: %ld parent_process_ID: %ld " > + "child_process_ID: %ld\n", i, (long)getpid(), > + (long)getppid(), (long)pid); > + > + if (sem_wait(sem_lock) == -1) { > perror("sem_wait didn't return success\n"); > return PTS_UNRESOLVED; > } > - for (i = 1; i<= 10; i++) { > - c=buf; > + for (i = 1; i <= 10; i++) { > + c = buf; > while (*c != '\n') { > fputc(*c, stdout); > c++; > @@ -70,7 +81,7 @@ int main(int argc, char *argv[]) > fputc('\n', stdout); > } > > - if (-1 == sem_post(sem_lock)) { > + if (sem_post(sem_lock) == -1) { > perror("sem_wait didn't return success\n"); > return PTS_UNRESOLVED; > } > diff --git a/testcases/open_posix_testsuite/functional/threads/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/GNUmakefile > deleted file mode 100644 > index 04e94df..0000000 > --- a/testcases/open_posix_testsuite/functional/threads/GNUmakefile > +++ /dev/null > @@ -1,12 +0,0 @@ > -SUBDIRS= robust_test pi_test > - > -all install: > - for d in $(SUBDIRS); do \ > - $(MAKE) -C $$d $@; \ > - done > - > -clean: > - rm -f *~ > - for d in $(SUBDIRS); do \ > - $(MAKE) -C $$d $@; \ > - done > diff --git a/testcases/open_posix_testsuite/functional/threads/Makefile b/testcases/open_posix_testsuite/functional/threads/Makefile > new file mode 100644 > index 0000000..e8cc701 > --- /dev/null > +++ b/testcases/open_posix_testsuite/functional/threads/Makefile > @@ -0,0 +1,12 @@ > +SUBDIRS= robust_test pi_test > + > +all test: > + for d in $(SUBDIRS); do \ > + $(MAKE) -C $$d $@; \ > + done > + > +clean: > + rm -f *~ > + for d in $(SUBDIRS); do \ > + $(MAKE) -C $$d $@; \ > + done > diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile > deleted file mode 100644 > index 7423b04..0000000 > --- a/testcases/open_posix_testsuite/functional/threads/pi_test/GNUmakefile > +++ /dev/null > @@ -1,8 +0,0 @@ > -CFLAGS+= -I../include > -LDLIBS= -lpthread > -TARGETS= pitest-1 pitest-2 pitest-3 pitest-4 pitest-5 pitest-6 > - > -all: $(TARGETS) > - > -clean: > - -rm -rf $(TARGETS) > diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile b/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile > new file mode 100644 > index 0000000..c887ef2 > --- /dev/null > +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile > @@ -0,0 +1,11 @@ > +CFLAGS+= -I../include > +LDLIBS= -lpthread > +TARGETS= pitest-1 pitest-2 pitest-3 pitest-4 pitest-5 pitest-6 > + > +all: $(TARGETS) > + > +clean: > + -rm -rf $(TARGETS) > + > +test: > + ./run.sh > diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/run.sh b/testcases/open_posix_testsuite/functional/threads/pi_test/run.sh > index 7300cb8..1f95c55 100755 > --- a/testcases/open_posix_testsuite/functional/threads/pi_test/run.sh > +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/run.sh > @@ -1,4 +1,4 @@ > -#!/bin/bash > +#!/bin/sh > PRIORITY=20 > # If users run pi tests from sshd, they need to improve the priority > # sshd using the following command. > @@ -12,23 +12,26 @@ PRIORITY=20 > > killall -9 watchdogtimer.sh > rm -rf output.* > -chrt -f $PRIORITY ../tools/watchdogtimer.sh & > +../tools/watchdogtimer.sh & > + > +TOTAL=0 > +FAIL=0 > +PASS=0 > > -declare -i TOTAL=0 > -declare -i FAIL=0 > -declare -i PASS=0 > Run() > { > - echo "TEST: " $1 > - TOTAL=$TOTAL+1 > - ./$1 > output.$1 > - if [ $? == 0 ]; then > - PASS=$PASS+1 > - echo -ne "\t\t\t***TEST PASSED***\n\n" > - else > - FAIL=$FAIL+1 > - echo -ne "\t\t\t***TEST FAILED***\n\n" > - fi > + echo "TEST: " $1 > + : $(( TOTAL += 1 )) > + ./$1 > output.$1 > + if [ $? -eq 0 ]; then > + : $(( PASS += 1 )) > + echo " ***TEST PASSED***" > + echo "" > + else > + : $(( FAIL += 1 )) > + echo " ***TEST FAILED***" > + echo "" > + fi > } > > TESTS="pitest-1 pitest-2 pitest-3 pitest-4 pitest-5 pitest-6" > @@ -37,10 +40,10 @@ for test in $TESTS; do > Run $test > done > > -echo -ne "\t\t*****************\n" > -echo -ne "\t\t* TOTAL: " $TOTAL *"\n" > -echo -ne "\t\t* PASSED: " $PASS *"\n" > -echo -ne "\t\t* FAILED: " $FAIL *"\n" > -echo -ne "\t\t*****************\n" > - > - > +cat <<EOF > + ***************** > + * TOTAL: $TOTAL * > + * PASSED: $PASS * > + * FAILED: $FAIL * > + ***************** > +EOF > diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile > deleted file mode 100644 > index e4490cf..0000000 > --- a/testcases/open_posix_testsuite/functional/threads/robust_test/GNUmakefile > +++ /dev/null > @@ -1,9 +0,0 @@ > -CFLAGS+= -I../include > -LDLIBS= -lpthread > -TARGETS= robust1-mode2 robust1-sun robust2-mode2 robust2-sun \ > - robust3-mode2 > - > -all: $(TARGETS) > - > -clean: > - -rm -rf $(TARGETS) > diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile b/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile > new file mode 100644 > index 0000000..0c3ba1b > --- /dev/null > +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile > @@ -0,0 +1,12 @@ > +CFLAGS+= -I../include > +LDLIBS= -lpthread > +TARGETS= robust1-mode2 robust1-sun robust2-mode2 robust2-sun \ > + robust3-mode2 > + > +all: $(TARGETS) > + > +clean: > + -rm -rf $(TARGETS) > + > +test: > + ./run.sh > diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c > index b75f319..9d2e4c4 100644 > --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c > +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-mode2.c > @@ -55,6 +55,7 @@ void *thread_2(void *arg) > rc, strerror(rc)); > exit(UNRESOLVED); > } > +#if __linux__ > rc = pthread_mutex_lock(&mutex); > if (rc != EOWNERDEAD) { > EPRINTF("FAIL: pthread_mutex_lock didn't return EOWNERDEAD"); > @@ -62,7 +63,7 @@ void *thread_2(void *arg) > } > DPRINTF(stdout,"Thread 2 lock the mutex and return EOWNERDEAD\n"); > pthread_mutex_unlock(&mutex); > - > + > rc = pthread_mutex_lock(&mutex); > if (rc != EOWNERDEAD) { > EPRINTF("FAIL:The mutex shall remain the state EOWNERDEAD " > @@ -70,6 +71,7 @@ void *thread_2(void *arg) > pthread_mutex_unlock(&mutex); > exit(FAIL); > } > +#endif > pthread_exit(NULL); > return NULL; > } > @@ -87,6 +89,7 @@ int main() > rc, strerror(rc)); > return UNRESOLVED; > } > +#if __linux__ > rc = pthread_mutexattr_setrobust_np(&attr, > PTHREAD_MUTEX_ROBUST_NP); > if (rc != 0) { > @@ -94,6 +97,7 @@ int main() > rc, strerror(rc)); > return UNRESOLVED; > } > +#endif > rc = pthread_mutex_init(&mutex, &attr); > if (rc != 0) { > EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", > diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c > index b71b650..50dbb13 100644 > --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c > +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust1-sun.c > @@ -56,11 +56,12 @@ void *thread_2(void *arg) > exit(UNRESOLVED); > } > > +#if __linux__ > if (pthread_mutex_lock(&mutex) != EOWNERDEAD) { > EPRINTF("FAIL: pthread_mutex_lock didn't return EOWNERDEAD"); > exit(FAIL); > } > - DPRINTF(stdout,"Thread 2 lock the mutex and return EOWNERDEAD\n"); > + DPRINTF(stdout, "Thread 2 lock the mutex and return EOWNERDEAD\n"); > pthread_mutex_unlock(&mutex); > > if (pthread_mutex_lock(&mutex) != ENOTRECOVERABLE) { > @@ -69,6 +70,7 @@ void *thread_2(void *arg) > pthread_mutex_unlock(&mutex); > exit(FAIL); > } > +#endif > pthread_exit(NULL); > return NULL; > } > @@ -86,12 +88,14 @@ int main() > rc, strerror(rc)); > return UNRESOLVED; > } > +#if __linux__ > rc = pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_SUN_NP); > if (rc != 0) { > EPRINTF("UNRESOLVED: pthread_mutexattr_setrobust_np %d %s", > rc, strerror(rc)); > return UNRESOLVED; > } > +#endif > rc = pthread_mutex_init(&mutex, &attr); > if (rc != 0) { > EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", > diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c > index a54cf38..0559c19 100644 > --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c > +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-mode2.c > @@ -55,6 +55,7 @@ void *thread_2(void *arg) > rc, strerror(rc)); > exit(UNRESOLVED); > } > +#if __linux__ > if (pthread_mutex_lock(&mutex) != EOWNERDEAD) { > EPRINTF("FAIL:pthread_mutex_lock didn't return EOWNERDEAD"); > exit(FAIL); > @@ -97,7 +98,8 @@ void *thread_2(void *arg) > "(why fails?) in x-mode\n"); > pthread_mutex_unlock(&mutex); > } > - } > + } > +#endif > pthread_exit(NULL); > return NULL; > } > @@ -115,12 +117,14 @@ int main() > rc, strerror(rc)); > return UNRESOLVED; > } > +#if __linux__ > rc = pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP); > if (rc != 0) { > EPRINTF("UNRESOLVED: pthread_mutexattr_setrobust_np %d %s", > rc, strerror(rc)); > return UNRESOLVED; > } > +#endif > rc = pthread_mutex_init(&mutex, &attr); > if (rc != 0) { > EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", > diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c > index 2532194..690306e 100644 > --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c > +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust2-sun.c > @@ -57,12 +57,13 @@ void *thread_2(void *arg) > rc, strerror(rc)); > exit(UNRESOLVED); > } > +#if __linux__ > if (pthread_mutex_lock(&mutex) != EOWNERDEAD) { > EPRINTF("FAIL:pthread_mutex_lock didn't return EOWNERDEAD"); > exit(FAIL); > } > DPRINTF(stdout,"Thread 2 locked the mutex and return EOWNERDEAD\n"); > - > + > if (pthread_mutex_consistent_np(&mutex) == 0) { > pthread_mutex_unlock(&mutex); > if (pthread_mutex_lock(&mutex) != 0) { > @@ -96,6 +97,7 @@ void *thread_2(void *arg) > pthread_mutex_unlock(&mutex); > } > } > +#endif > pthread_exit(NULL); > return NULL; > } > @@ -113,12 +115,14 @@ int main() > rc, strerror(rc)); > return UNRESOLVED; > } > +#if __linux__ > rc = pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_SUN_NP); > if (rc != 0) { > EPRINTF("UNRESOLVED: pthread_mutexattr_setrobust_np %d %s", > rc, strerror(rc)); > return UNRESOLVED; > } > +#endif > rc = pthread_mutex_init(&mutex, &attr); > if (rc != 0) { > EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", > diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c b/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c > index 8facd26..a3d0669 100644 > --- a/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c > +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/robust3-mode2.c > @@ -58,6 +58,7 @@ void *thread_2(void *arg) > exit(UNRESOLVED); > } > > +#if __linux__ > rc = pthread_mutex_lock(&mutex); > if (rc != EOWNERDEAD) { > EPRINTF("FAIL:pthread_mutex_lock didn't return EOWNERDEAD \n"); > @@ -102,6 +103,7 @@ void *thread_2(void *arg) > pthread_mutex_unlock(&mutex); > } > } > +#endif > pthread_exit(NULL); > return NULL; > } > @@ -119,12 +121,14 @@ int main() > rc, strerror(rc)); > return UNRESOLVED; > } > +#if __linux__ > rc = pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP); > if (rc != 0) { > EPRINTF("UNRESOLVED: pthread_mutexattr_setrobust_np %d %s", > rc, strerror(rc)); > return UNRESOLVED; > } > +#endif > rc = pthread_mutex_init(&mutex, &attr); > if (rc != 0) { > EPRINTF("UNRESOLVED: pthread_mutex_init %d %s", > @@ -144,7 +148,7 @@ int main() > return UNRESOLVED; > } > pthread_join(threads[0], NULL); > - DPRINTF(stdout,"Thread 1 exit without unlock the mutex...\n "); > + DPRINTF(stdout, "Thread 1 exit without unlock the mutex...\n"); > > rc = pthread_create(&threads[1], &threadattr, thread_2, NULL); > if (rc != 0) { > @@ -153,7 +157,7 @@ int main() > return UNRESOLVED; > } > pthread_join(threads[1], NULL ); > - DPRINTF(stdout,"Thread 2 exit ...\n "); > + DPRINTF(stdout, "Thread 2 exit ...\n"); > > DPRINTF(stdout,"PASS: Test PASSED\n"); > return PASS; > diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/run.sh b/testcases/open_posix_testsuite/functional/threads/robust_test/run.sh > index 85df8a3..bb04519 100755 > --- a/testcases/open_posix_testsuite/functional/threads/robust_test/run.sh > +++ b/testcases/open_posix_testsuite/functional/threads/robust_test/run.sh > @@ -1,20 +1,22 @@ > -#!/bin/bash > +#!/bin/sh > > -declare -i TOTAL=0 > -declare -i FAIL=0 > -declare -i PASS=0 > +TOTAL=0 > +FAIL=0 > +PASS=0 > Run() > { > - echo "TEST: " $1 > - TOTAL=$TOTAL+1 > - ./$1 > - if [ $? == 0 ]; then > - PASS=$PASS+1 > - echo -ne "\t\t\t***TEST PASSED***\n\n" > - else > - FAIL=$FAIL+1 > - echo -ne "\t\t\t***TEST FAILED***\n\n" > - fi > + echo "TEST: " $1 > + : $(( TOTAL += 1 )) > + ./$1 > + if [ $? -eq 0 ]; then > + : $(( PASS += 1 )) > + echo " ***TEST PASSED***" > + echo "" > + else > + : $(( FAIL += 1 )) > + echo " ***TEST FAILED***" > + echo "" > + fi > } > TESTS="robust1-sun robust2-sun robust1-mode2 robust2-mode2 robust3-mode2" > > @@ -22,10 +24,10 @@ for test in $TESTS; do > Run $test > done > > -echo -ne "\t\t*****************\n" > -echo -ne "\t\t* TOTAL: " $TOTAL *"\n" > -echo -ne "\t\t* PASSED: " $PASS *"\n" > -echo -ne "\t\t* FAILED: " $FAIL *"\n" > -echo -ne "\t\t*****************\n" > - > - > +cat <<EOF > + ***************** > + * TOTAL: $TOTAL * > + * PASSED: $PASS * > + * FAILED: $FAIL * > + ***************** > +EOF > diff --git a/testcases/open_posix_testsuite/functional/threads/run.sh b/testcases/open_posix_testsuite/functional/threads/run.sh > deleted file mode 100755 > index eaf3313..0000000 > --- a/testcases/open_posix_testsuite/functional/threads/run.sh > +++ /dev/null > @@ -1,15 +0,0 @@ > -#!/bin/bash > - > -CURRENT_DIR=$(pwd) > -TEST_DIRS="robust_test pi_test" > - > -for test_dir in $TEST_DIRS; do > - > -echo "" > -echo "Run $test_dir tests" > -echo "===============" > -echo "" > - cd $CURRENT_DIR/$test_dir; > - ./run.sh > -done > - > diff --git a/testcases/open_posix_testsuite/functional/timers/GNUmakefile b/testcases/open_posix_testsuite/functional/timers/GNUmakefile > index 0d484da..653fe64 100644 > --- a/testcases/open_posix_testsuite/functional/timers/GNUmakefile > +++ b/testcases/open_posix_testsuite/functional/timers/GNUmakefile > @@ -11,3 +11,6 @@ all clean: > for d in $(SUBDIRS); do \ > $(MAKE) -C $$d $@; \ > done > + > +test: > + ./run.sh > diff --git a/testcases/open_posix_testsuite/locate-test b/testcases/open_posix_testsuite/locate-test > index 3d8c8ee..47386c9 100755 > --- a/testcases/open_posix_testsuite/locate-test > +++ b/testcases/open_posix_testsuite/locate-test > @@ -61,22 +61,6 @@ do > execs="( ( -name [0-9]*-[0-9]*.c -o -name [0-9]*-[0-9]*.sh ) -a ! -name *-buildonly* )"; > shift; > ;; > - "--fmake") > - find functional/ -maxdepth 2 -mindepth 2 -type f -name $MAKEFILE -exec dirname '{}' ';' > - exit 0; > - ;; > - "--frun") > - find functional/ -maxdepth 2 -mindepth 2 -type f -name "run.sh" -exec dirname '{}' ';' > - exit 0; > - ;; > - "--smake") > - find stress/ -maxdepth 2 -mindepth 2 -type f -name $MAKEFILE -exec dirname '{}' ';' > - exit 0; > - ;; > - "--srun") > - find stress/ -maxdepth 2 -mindepth 2 -type f -name "run.sh" -exec dirname '{}' ';' > - exit 0; > - ;; > "--help") > usage; > exit 0; > diff --git a/testcases/open_posix_testsuite/stress/Makefile b/testcases/open_posix_testsuite/stress/Makefile > new file mode 100644 > index 0000000..6b989fc > --- /dev/null > +++ b/testcases/open_posix_testsuite/stress/Makefile > @@ -0,0 +1,6 @@ > +SUBDIRS= mqueues semaphores > + > +all clean test: > + for d in $(SUBDIRS); do \ > + $(MAKE) -C $$d $@; \ > + done > diff --git a/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile b/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile > index e014ea9..40380d6 100644 > --- a/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile > +++ b/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile > @@ -1,13 +1,18 @@ > -INCLUDE = -I../../include > -LIB=-lrt > +CFLAGS+= -I../../include > +LDLIBS+= -lrt > > -CFLAGS=-Wall -O2 -g > +TARGETS= multi_send_rev_1.test multi_send_rev_2.test > > -all: multi_send_rev_1.test multi_send_rev_2.test > +all: $(TARGETS) > + > +multi_send_rev_1.test: multi_send_rev_1.c > + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) > + > +multi_send_rev_2.test: multi_send_rev_2.c > + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) > > -%.test : %.c > - $(CC) $(CFLAGS) $(INCLUDE) $< -o $@ $(LIB) > clean: > - rm *.test > + rm -f $(TARGETS) > > - > +test: > + @./run.sh > diff --git a/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile b/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile > index 017c014..da410b0 100644 > --- a/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile > +++ b/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile > @@ -1,12 +1,15 @@ > -INCLUDE = -I../../include > +CFLAGS+= -I../../include > +LDLIBS+= -lpthread > > -CFLAGS=-Wall -O2 -g > +TARGETS+= multi_con_pro.test > > -all: multi_con_pro.test > +all: $(TARGETS) > + > +multi_con_pro.test: multi_con_pro.c > + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) > > -%.test : %.c > - $(CC) $(CFLAGS) $(INCLUDE) $< -o $@ -lpthread > clean: > - rm *.test > + rm -f $(TARGETS) > > - > +test: > + @./run.sh > > > hooks/post-receive |
From: Garrett C. <yan...@gm...> - 2010-06-21 18:27:05
|
On Mon, Jun 21, 2010 at 10:22 AM, Subrata Modak <su...@li...> wrote: > I guess you are back again. Good to know that. I will be doing LTP again > though with little reduced attention (direction from my manager) ;-) Heh... yeah. I'm doing this in part as a favor for some folks in the FreeBSD project, but the end-goal is to remove glibc-isms and Linux-isms so that the open_posix_testsuite is really _POSIX_ and not tied to a particular platform (setpgrp seems to be the only exception so far that I can't step around... but I'll have to look into that a bit more). > Meanwhile how do you manage to use Rishiś e-mail ID ?? It will bounce > back if somebody replies :-) I have no bloody clue... lol. Garrett != Rishi :o... -Garrett |
From: Garrett C. <yan...@gm...> - 2010-06-21 18:35:27
|
On Mon, Jun 21, 2010 at 11:26 AM, Garrett Cooper <yan...@gm...> wrote: > On Mon, Jun 21, 2010 at 10:22 AM, Subrata Modak > <su...@li...> wrote: >> I guess you are back again. Good to know that. I will be doing LTP again >> though with little reduced attention (direction from my manager) ;-) > > Heh... yeah. I'm doing this in part as a favor for some folks in the > FreeBSD project, but the end-goal is to remove glibc-isms and > Linux-isms so that the open_posix_testsuite is really _POSIX_ and not > tied to a particular platform (setpgrp seems to be the only exception > so far that I can't step around... but I'll have to look into that a > bit more). > >> Meanwhile how do you manage to use Rishiś e-mail ID ?? It will bounce >> back if somebody replies :-) > > I have no bloody clue... lol. Garrett != Rishi :o... Oh wait... it's probably some whackiness with the git triggers in place. Ugh... could you check whether or not that's the case :/...? Thanks, -Garrett |
From: Subrata <ris...@li...> - 2010-05-28 08:07:46
|
The branch, master, has been updated via 91f337f9ee05b028af8506c7e83dc1b8c23a3b32 (commit) via 6a19cb6ea8f0b160438288f87a96f57d8e63aad2 (commit) via 4e94765d753c0ea91b4745ffac30df427a4d9202 (commit) via 82f8e8fdfe892266d7346792b71783ac23bfa1a2 (commit) via e1c39ef4f1d61c05f176d063d1afa6f704bc6740 (commit) via c81df6233bca8b3ad601a3a7dd6c02319a32a76b (commit) via 4aafc2802f0c2c05e4891cea1f721f414b41ac67 (commit) from e75668f99ade62e18e34891b2c522c8d97ee982b (commit) - Log ----------------------------------------------------------------- commit 91f337f9ee05b028af8506c7e83dc1b8c23a3b32 Author: Subrata Modak <sub...@su...> Date: Fri May 28 12:57:36 2010 +0530 fix io_xxxx Makefiles: Makefiles for io_xxx syscall tests contains line: LDFLAGS += $(AIO_LIBS) Which leads to wrong order of flags passed to the linker and compilation failure on certain linux systems. Changing these lines to: LDLIBS += $(AIO_LIBS) Fixes this problem. Patch is attached. Signed-off-by: Cyril Hrubis ch...@su... commit 6a19cb6ea8f0b160438288f87a96f57d8e63aad2 Author: Subrata Modak <sub...@su...> Date: Fri May 28 12:53:59 2010 +0530 It seems like file runtest/fs_perms_simple doesn't made it into ltp-dev git tree (also it seems to be included in the patch). see: http://ltp.git.sourceforge.net/git/gitweb.cgi?p=ltp/ltp-dev.git;a=commit;h=ca758b73afff8200df5e1a24e9abe8a6468c9e06 -- Cyril Hrubis ch...@su... commit 4e94765d753c0ea91b4745ffac30df427a4d9202 Author: Subrata Modak <sub...@su...> Date: Fri May 28 12:50:38 2010 +0530 Timer related syscalls for LTP test: Signed-off-by: Suzuki K P <su...@in...>, Fix timer_t argument for timer related direct syscalls. The tests timer_getoverrun and timer_gettime should be moved to testcases/kernel/timers directory. If that is done, then we could use the definition in the common_timers.h, like the other tests. /* Description */ There is a mismatch in the "timer_t" type defined by the Linux kernel and the GNU Libc. Linux kernel defines it as an int for all architectures. include/linux/types.h : typedef __kernel_timer_t timer_t; arch/powerpc/include/asm/posix_types.h : typedef int __kernel_timer_t; Now, the glibc provides a wrapper to the timer related system calls. While providing the wrapper, Glibc stores some internal data associated with the timer. So it defines the "timer_t" as a pointer (void*) as below: /usr/include/time.h : /* Timer ID returned by `timer_create'. */ typedef __timer_t timer_t; in /usr/include/bits/types.h : /* Timer ID returned by `timer_create'. */ __STD_TYPE __TIMER_T_TYPE __timer_t; in /usr/include/bits/typesizes.h So that leads to the definiton of timer_t as void* by glibc. And this cannot be changed. But the glibc uses the "proper" typed argument for the syscalls it issues by defining a kernel_timer_t. On 32bit machines the difference is not noticed, since both the timer_t in userspace and the kernel space are of the same size. But on 64bit machines this is different. Userspace has a width of 64bit and the kernel has 32bit width. Now, when we pass the pointer to timer_t to the kernel, things get complicated and on Big endian machines, ppc64, s390x, this leads to a problem. As the value kept is not available when we try to dereference it as a 32bit and this leads to undesired results. commit 82f8e8fdfe892266d7346792b71783ac23bfa1a2 Author: Subrata Modak <sub...@su...> Date: Fri May 28 12:45:16 2010 +0530 Following set of patches applies functional changes in pi-tests for better reliability in recent kernels and their order is: [PATCH 1/6] realtime: reuse init_pi_mutex from librttest [PATCH 2/6] realtime: add test descriptions [PATCH 3/6] realtime: threads need not set cpu affinity while main does [PATCH 4/6] realtime: use busy_work_ms from librttest to burn cpu cycles [PATCH 5/6] realtime: remove thread_stop which is not used anywhere [PATCH 6/6] realtime: synchronization fixes for high priority noise thread All need to be applied in their order on top or code clean up patch series sent previously. Signed-off-by: Gowrishankar <gow...@in...>, Tested-by: Gowrishankar <gow...@in...>, Acked-by: Darren Hart <dv...@us...>, commit e1c39ef4f1d61c05f176d063d1afa6f704bc6740 Author: Subrata Modak <sub...@su...> Date: Fri May 28 12:36:06 2010 +0530 realtime: code cleanup on pi-tests to adapt C coding standard: Following bulk of patches applies the coding style in pi-tests to follow the C coding standard. All are tested and they go in order: [PATCH 1/5] realtime: code cleanup on pi-test 0 [PATCH 2/5] realtime: code cleanup on pi-test 1 [PATCH 3/5] realtime: code cleanup on pi-test 2 [PATCH 4/5] realtime: code cleanup on pi-test 5 [PATCH 5/5] realtime: code cleanup on pi-test 6 Signed-off-by: Gowrishankar <gow...@in...>, Tested-by: Gowrishankar <gow...@in...>, Acked-by: John Stultz <joh...@us...>, Acked-by: Darren Hart <dv...@us...>, commit c81df6233bca8b3ad601a3a7dd6c02319a32a76b Author: Subrata Modak <sub...@su...> Date: Fri May 28 12:25:20 2010 +0530 Following patch adds "return NULL;" to the function returning void* in math float tests. This change silences compiler warnings. Signed-off-by: Cyril Hrubis ch...@su.... commit 4aafc2802f0c2c05e4891cea1f721f414b41ac67 Author: Subrata Modak <sub...@su...> Date: Fri May 28 12:22:02 2010 +0530 The mq_timedreceive01.c test defines _XOPEN_SOURCE 500 on the beginning but this causes missing prototypes for seteuid() and mq_timedreceive() as they need _XOPEN_SOURCE >= 600. Following patch fixes that. Signed-off-by: Cyril Hrubis ch...@su.... ----------------------------------------------------------------------- Summary of changes: runtest/fs_perms_simple | 26 ++ testcases/kernel/syscalls/io_cancel/Makefile | 2 +- testcases/kernel/syscalls/io_destroy/Makefile | 2 +- testcases/kernel/syscalls/io_getevents/Makefile | 2 +- testcases/kernel/syscalls/io_setup/Makefile | 2 +- testcases/kernel/syscalls/io_submit/Makefile | 2 +- .../syscalls/mq_timedreceive/mq_timedreceive01.c | 2 +- .../syscalls/timer_getoverrun/timer_getoverrun01.c | 7 +- .../syscalls/timer_gettime/timer_gettime01.c | 7 +- testcases/kernel/timers/include/common_timers.h | 5 + .../kernel/timers/timer_create/timer_create02.c | 2 +- .../kernel/timers/timer_create/timer_create03.c | 2 +- .../kernel/timers/timer_create/timer_create04.c | 6 +- .../kernel/timers/timer_delete/timer_delete02.c | 2 +- .../kernel/timers/timer_delete/timer_delete03.c | 2 +- .../kernel/timers/timer_settime/timer_settime02.c | 2 +- .../kernel/timers/timer_settime/timer_settime03.c | 4 +- testcases/misc/math/float/main.c | 4 +- testcases/realtime/func/pi-tests/testpi-0.c | 67 +++-- testcases/realtime/func/pi-tests/testpi-1.c | 318 +++++++++----------- testcases/realtime/func/pi-tests/testpi-2.c | 318 +++++++++----------- testcases/realtime/func/pi-tests/testpi-5.c | 80 +++--- testcases/realtime/func/pi-tests/testpi-6.c | 76 +++--- 23 files changed, 473 insertions(+), 467 deletions(-) create mode 100644 runtest/fs_perms_simple diff --git a/runtest/fs_perms_simple b/runtest/fs_perms_simple new file mode 100644 index 0000000..cc986bd --- /dev/null +++ b/runtest/fs_perms_simple @@ -0,0 +1,26 @@ +# +# These tests are setting file permissions/group/uid and are trying to +# open/write/execute the file. +# +# +# +# fs_perms file_mode file_uid file_gid test_uid test_gid mode (r|w|x) expected_result +# +fs_perms01 fs_perms 001 99 99 12 100 x 0 +fs_perms02 fs_perms 010 99 99 200 99 x 0 +fs_perms03 fs_perms 100 99 99 99 500 x 0 +fs_perms04 fs_perms 002 99 99 12 100 w 0 +fs_perms05 fs_perms 020 99 99 200 99 w 0 +fs_perms06 fs_perms 200 99 99 99 500 w 0 +fs_perms07 fs_perms 004 99 99 12 100 r 0 +fs_perms08 fs_perms 040 99 99 200 99 r 0 +fs_perms09 fs_perms 400 99 99 99 500 r 0 +fs_perms10 fs_perms 000 99 99 99 99 r 1 +fs_perms11 fs_perms 000 99 99 99 99 w 1 +fs_perms12 fs_perms 000 99 99 99 99 x 1 +fs_perms13 fs_perms 010 99 99 99 500 x 1 +fs_perms14 fs_perms 100 99 99 200 99 x 1 +fs_perms15 fs_perms 020 99 99 99 500 w 1 +fs_perms16 fs_perms 200 99 99 200 99 w 1 +fs_perms17 fs_perms 040 99 99 99 500 r 1 +fs_perms18 fs_perms 400 99 99 200 99 r 1 diff --git a/testcases/kernel/syscalls/io_cancel/Makefile b/testcases/kernel/syscalls/io_cancel/Makefile index 9b6eae8..268d2e7 100644 --- a/testcases/kernel/syscalls/io_cancel/Makefile +++ b/testcases/kernel/syscalls/io_cancel/Makefile @@ -20,6 +20,6 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/testcases.mk -LDFLAGS += $(AIO_LIBS) +LDLIBS += $(AIO_LIBS) include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/syscalls/io_destroy/Makefile b/testcases/kernel/syscalls/io_destroy/Makefile index 9b6eae8..268d2e7 100644 --- a/testcases/kernel/syscalls/io_destroy/Makefile +++ b/testcases/kernel/syscalls/io_destroy/Makefile @@ -20,6 +20,6 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/testcases.mk -LDFLAGS += $(AIO_LIBS) +LDLIBS += $(AIO_LIBS) include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/syscalls/io_getevents/Makefile b/testcases/kernel/syscalls/io_getevents/Makefile index 9b6eae8..268d2e7 100644 --- a/testcases/kernel/syscalls/io_getevents/Makefile +++ b/testcases/kernel/syscalls/io_getevents/Makefile @@ -20,6 +20,6 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/testcases.mk -LDFLAGS += $(AIO_LIBS) +LDLIBS += $(AIO_LIBS) include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/syscalls/io_setup/Makefile b/testcases/kernel/syscalls/io_setup/Makefile index 9b6eae8..268d2e7 100644 --- a/testcases/kernel/syscalls/io_setup/Makefile +++ b/testcases/kernel/syscalls/io_setup/Makefile @@ -20,6 +20,6 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/testcases.mk -LDFLAGS += $(AIO_LIBS) +LDLIBS += $(AIO_LIBS) include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/syscalls/io_submit/Makefile b/testcases/kernel/syscalls/io_submit/Makefile index 9b6eae8..268d2e7 100644 --- a/testcases/kernel/syscalls/io_submit/Makefile +++ b/testcases/kernel/syscalls/io_submit/Makefile @@ -20,6 +20,6 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/testcases.mk -LDFLAGS += $(AIO_LIBS) +LDLIBS += $(AIO_LIBS) include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/syscalls/mq_timedreceive/mq_timedreceive01.c b/testcases/kernel/syscalls/mq_timedreceive/mq_timedreceive01.c index eb3232f..25f7cb1 100644 --- a/testcases/kernel/syscalls/mq_timedreceive/mq_timedreceive01.c +++ b/testcases/kernel/syscalls/mq_timedreceive/mq_timedreceive01.c @@ -45,7 +45,7 @@ /* History: Porting from Crackerjack to LTP is done by */ /* Manas Kumar Nayak mak...@in...> */ /******************************************************************************/ -#define _XOPEN_SOURCE 500 +#define _XOPEN_SOURCE 600 #include <sys/syscall.h> #include <sys/types.h> #include <sys/stat.h> diff --git a/testcases/kernel/syscalls/timer_getoverrun/timer_getoverrun01.c b/testcases/kernel/syscalls/timer_getoverrun/timer_getoverrun01.c index e303040..a0112e7 100644 --- a/testcases/kernel/syscalls/timer_getoverrun/timer_getoverrun01.c +++ b/testcases/kernel/syscalls/timer_getoverrun/timer_getoverrun01.c @@ -49,6 +49,11 @@ #include "usctest.h" #include "linux_syscall_numbers.h" +/* timer_t in kernel(int) is different from Glibc definition(void*). + * Use the kernel definition. + */ +typedef int kernel_timer_t; + /* Extern Global Variables */ extern int Tst_count; /* counter for tst_xxx routines. */ extern char *TESTDIR; /* temporary dir created by tst_tmpdir() */ @@ -120,7 +125,7 @@ int block = 1; int main(int ac, char **av) { int lc; /* loop counter */ char *msg; /* message returned from parse_opts */ - timer_t created_timer_id; + kernel_timer_t created_timer_id; struct sigevent ev; /* parse standard options */ diff --git a/testcases/kernel/syscalls/timer_gettime/timer_gettime01.c b/testcases/kernel/syscalls/timer_gettime/timer_gettime01.c index 38262ba..23b269e 100644 --- a/testcases/kernel/syscalls/timer_gettime/timer_gettime01.c +++ b/testcases/kernel/syscalls/timer_gettime/timer_gettime01.c @@ -48,6 +48,11 @@ #include "usctest.h" #include "linux_syscall_numbers.h" +/* timer_t in kernel(int) is different from Glibc definition(void*). + * Use the kernel definition. + */ +typedef int kernel_timer_t; + /* Extern Global Variables */ extern int Tst_count; /* counter for tst_xxx routines. */ extern char *TESTDIR; /* temporary dir created by tst_tmpdir() */ @@ -122,7 +127,7 @@ int main(int ac, char **av) { int lc; /* loop counter */ char *msg; /* message returned from parse_opts */ - timer_t created_timer_id; + kernel_timer_t created_timer_id; struct sigevent ev; struct itimerspec spec; diff --git a/testcases/kernel/timers/include/common_timers.h b/testcases/kernel/timers/include/common_timers.h index d9b7cb9..30d2dca 100644 --- a/testcases/kernel/timers/include/common_timers.h +++ b/testcases/kernel/timers/include/common_timers.h @@ -64,4 +64,9 @@ const char *get_clock_str(const int clock_id) #include <time.h> #include <unistd.h> +/* timer_t in kernel(int) is different from Glibc definition(void*). + * Use the kernel definition for syscall tests + */ +typedef int kernel_timer_t; + #endif diff --git a/testcases/kernel/timers/timer_create/timer_create02.c b/testcases/kernel/timers/timer_create/timer_create02.c index cef7cbe..c089562 100755 --- a/testcases/kernel/timers/timer_create/timer_create02.c +++ b/testcases/kernel/timers/timer_create/timer_create02.c @@ -86,7 +86,7 @@ main(int ac, char **av) { int lc, i, j; /* loop counter */ char *msg; /* message returned from parse_opts */ - timer_t created_timer_id; /* holds the returned timer_id */ + kernel_timer_t created_timer_id; /* holds the returned timer_id */ char *message[3] = { "SIGEV_SIGNAL", "NULL", diff --git a/testcases/kernel/timers/timer_create/timer_create03.c b/testcases/kernel/timers/timer_create/timer_create03.c index 521be9a..a46f442 100755 --- a/testcases/kernel/timers/timer_create/timer_create03.c +++ b/testcases/kernel/timers/timer_create/timer_create03.c @@ -100,7 +100,7 @@ main(int ac, char **av) { int lc, i; /* loop counter */ char *msg; /* message returned from parse_opts */ - timer_t created_timer_id; /* holds the returned timer_id */ + kernel_timer_t created_timer_id; /* holds the returned timer_id */ char *message[] = { "SIGEV_SIGNAL", "NULL", diff --git a/testcases/kernel/timers/timer_create/timer_create04.c b/testcases/kernel/timers/timer_create/timer_create04.c index 3b6f6db..b9c6640 100755 --- a/testcases/kernel/timers/timer_create/timer_create04.c +++ b/testcases/kernel/timers/timer_create/timer_create04.c @@ -111,7 +111,7 @@ main(int ac, char **av) { int lc, i; /* loop counter */ char *msg; /* message returned from parse_opts */ - timer_t timer_id, *temp_id; /* stores the returned timer_id */ + kernel_timer_t timer_id, *temp_id; /* stores the returned timer_id */ struct sigevent *temp_ev; /* used for bad address test case */ clockid_t clocks[6] = { @@ -158,7 +158,7 @@ main(int ac, char **av) switch (i) { case 2: /* make the timer_id bad address */ - temp_id = (timer_t *) -1; + temp_id = (kernel_timer_t *) -1; break; case 3: /* make the event bad address */ @@ -167,7 +167,7 @@ main(int ac, char **av) case 4: /* Produce an invalid timer_id address. */ if(tst_kvercmp(2, 6, 12) >= 0) - temp_id = (timer_t *) -1; + temp_id = (kernel_timer_t *) -1; break; case 5: /* Produce an invalid event address. */ diff --git a/testcases/kernel/timers/timer_delete/timer_delete02.c b/testcases/kernel/timers/timer_delete/timer_delete02.c index 159e7d8..3730d91 100755 --- a/testcases/kernel/timers/timer_delete/timer_delete02.c +++ b/testcases/kernel/timers/timer_delete/timer_delete02.c @@ -84,7 +84,7 @@ main(int ac, char **av) { int lc; /* loop counter */ char *msg; /* message returned from parse_opts */ - timer_t timer_id; + kernel_timer_t timer_id; /* parse standard options */ if ((msg = parse_opts (ac, av, (option_t *) NULL, NULL)) != diff --git a/testcases/kernel/timers/timer_delete/timer_delete03.c b/testcases/kernel/timers/timer_delete/timer_delete03.c index d408f65..fbef79b 100755 --- a/testcases/kernel/timers/timer_delete/timer_delete03.c +++ b/testcases/kernel/timers/timer_delete/timer_delete03.c @@ -73,7 +73,7 @@ #include "usctest.h" #include "common_timers.h" -#define INVALID_ID ((timer_t)-1) +#define INVALID_ID ((kernel_timer_t)-1) static void setup(); diff --git a/testcases/kernel/timers/timer_settime/timer_settime02.c b/testcases/kernel/timers/timer_settime/timer_settime02.c index 8dd5bc0..157a960 100755 --- a/testcases/kernel/timers/timer_settime/timer_settime02.c +++ b/testcases/kernel/timers/timer_settime/timer_settime02.c @@ -81,7 +81,7 @@ int TST_TOTAL = 4; /* Total number of test cases. */ extern int Tst_count; /* Test Case counter for tst_* routines */ static struct itimerspec new_set, old_set, *old_temp; -static timer_t timer; +static kernel_timer_t timer; static int flag; int diff --git a/testcases/kernel/timers/timer_settime/timer_settime03.c b/testcases/kernel/timers/timer_settime/timer_settime03.c index e3408ea..e44c85d 100755 --- a/testcases/kernel/timers/timer_settime/timer_settime03.c +++ b/testcases/kernel/timers/timer_settime/timer_settime03.c @@ -81,7 +81,7 @@ int TST_TOTAL; /* Total number of test cases. */ extern int Tst_count; /* Test Case counter for tst_* routines */ static struct itimerspec new_set, old_set, *old_temp, *new_temp; -static timer_t timer, tim; +static kernel_timer_t timer, tim; static int exp_enos[] = {EINVAL, EFAULT, 0}; @@ -168,7 +168,7 @@ setup_test(int option) break; case 3: /* make timer_id invalid */ - tim = (timer_t)-1; + tim = (kernel_timer_t)-1; new_set.it_value.tv_nsec = 0; break; case 4: diff --git a/testcases/misc/math/float/main.c b/testcases/misc/math/float/main.c index 0223219..2b81d51 100644 --- a/testcases/misc/math/float/main.c +++ b/testcases/misc/math/float/main.c @@ -393,7 +393,9 @@ static void *handle_signals (void *arg) default: exit (-1); } - }while (TRUE); + } while (TRUE); + + return NULL; } /*---------------------------------------------------------------------+ | error () | diff --git a/testcases/realtime/func/pi-tests/testpi-0.c b/testcases/realtime/func/pi-tests/testpi-0.c index 3c56588..cf0a24d 100644 --- a/testcases/realtime/func/pi-tests/testpi-0.c +++ b/testcases/realtime/func/pi-tests/testpi-0.c @@ -30,6 +30,7 @@ * * * HISTORY + * 2010-04-22 Code cleanup by Gowrishankar (gow...@in...) * * *****************************************************************************/ @@ -45,53 +46,57 @@ void usage(void) { - rt_help(); - printf("testpi-0 specific options:\n"); - printf("testpi-0 doesn't require any commandline options\n"); + rt_help(); + printf("testpi-0 specific options:\n"); + printf("testpi-0 doesn't require any commandline options\n"); } int parse_args(int c, char *v) { - int handled = 1; - switch (c) { - case 'h': - usage(); - exit(0); - default: - handled = 0; - break; - } - return handled; + int handled = 1; + switch (c) { + case 'h': + usage(); + exit(0); + default: + handled = 0; + break; + } + return handled; } /* * Test pthread creation at different thread priorities. */ -int main(int argc, char* argv[]) +int main(int argc, char *argv[]) { - char *pathbuf; size_t n; + char *pathbuf; size_t n; - rt_init("h",parse_args,argc,argv); + rt_init("h", parse_args, argc, argv); - n = confstr(_CS_GNU_LIBC_VERSION, NULL, (size_t)0); - if ((pathbuf = malloc(n)) == NULL) abort(); - confstr(_CS_GNU_LIBC_VERSION, pathbuf, n); + n = confstr(_CS_GNU_LIBC_VERSION, NULL, (size_t)0); + pathbuf = malloc(n); + if (!pathbuf) + abort(); + confstr(_CS_GNU_LIBC_VERSION, pathbuf, n); - printf("LIBC_VERSION: %s\n", pathbuf); - free(pathbuf); + printf("LIBC_VERSION: %s\n", pathbuf); + free(pathbuf); - n = confstr(_CS_GNU_LIBPTHREAD_VERSION, NULL, (size_t)0); - if ((pathbuf = malloc(n)) == NULL) abort(); - confstr(_CS_GNU_LIBPTHREAD_VERSION, pathbuf, n); + n = confstr(_CS_GNU_LIBPTHREAD_VERSION, NULL, (size_t)0); + pathbuf = malloc(n); + if (!pathbuf) + abort(); + confstr(_CS_GNU_LIBPTHREAD_VERSION, pathbuf, n); - printf("LIBPTHREAD_VERSION: %s\n", pathbuf); - free(pathbuf); + printf("LIBPTHREAD_VERSION: %s\n", pathbuf); + free(pathbuf); - if (sysconf(_SC_THREAD_PRIO_INHERIT) == -1) { - printf("No Prio inheritance support\n"); - } - printf("Prio inheritance support present\n"); + if (sysconf(_SC_THREAD_PRIO_INHERIT) == -1) + printf("No Prio inheritance support\n"); - return 0; + printf("Prio inheritance support present\n"); + + return 0; } diff --git a/testcases/realtime/func/pi-tests/testpi-1.c b/testcases/realtime/func/pi-tests/testpi-1.c index dc6081b..5d18f29 100644 --- a/testcases/realtime/func/pi-tests/testpi-1.c +++ b/testcases/realtime/func/pi-tests/testpi-1.c @@ -20,8 +20,8 @@ * testpi-1.c * * DESCRIPTION - * - * + * This testcase verifies if the low priority SCHED_OTHER thread can preempt + * the high priority SCHED_RR thread via priority inheritance. * * USAGE: * Use run_auto.sh script in current directory to build and run test. @@ -30,7 +30,9 @@ * * * HISTORY - * + * 2010-04-22 Code cleanup and thread synchronization changes by using + * conditional variables, + * by Gowrishankar(gow...@in...). * *****************************************************************************/ @@ -48,23 +50,22 @@ pthread_barrier_t barrier; void usage(void) { - rt_help(); - printf("testpi-1 specific options:\n"); + rt_help(); + printf("testpi-1 specific options:\n"); } int parse_args(int c, char *v) { - - int handled = 1; - switch (c) { - case 'h': - usage(); - exit(0); - default: - handled = 0; - break; - } - return handled; + int handled = 1; + switch (c) { + case 'h': + usage(); + exit(0); + default: + handled = 0; + break; + } + return handled; } int gettid(void) @@ -72,173 +73,148 @@ int gettid(void) return syscall(__NR_gettid); } -typedef void* (*entrypoint_t)(void*); - -#define THREAD_STOP 1 - +typedef void *(*entrypoint_t)(void *); pthread_mutex_t glob_mutex; +static pthread_mutex_t cond_mutex = PTHREAD_MUTEX_INITIALIZER; +static pthread_cond_t cond_var = PTHREAD_COND_INITIALIZER; -void* func_nonrt(void* arg) +void *func_nonrt(void *arg) { - struct thread* pthr = (struct thread* )arg; - int rc, i, j, tid = gettid(); - cpu_set_t mask; - CPU_ZERO(&mask); - CPU_SET(0, &mask); - - rc = sched_setaffinity(0, sizeof(mask), &mask); - if (rc < 0) { - printf("Thread %d: Can't set affinity: %d %s\n", tid, rc, strerror(rc)); - exit(-1); - } - - printf("Thread %d started running with priority %d\n", tid, pthr->priority); - pthread_mutex_lock(&glob_mutex); - printf("Thread %d at start pthread pol %d pri %d - Got global lock\n", tid, pthr->policy, pthr->priority); - /* Wait for other RT threads to start up */ - pthread_barrier_wait(&barrier); - - for (i=0;i<10000;i++) { - if (i%100 == 0) { - printf("Thread %d loop %d pthread pol %d pri %d\n", tid, i, pthr->policy, pthr->priority); - fflush(NULL); - } - pthr->id++; - for (j=0;j<5000;j++) { - pthread_mutex_lock(&(pthr->mutex)); - pthread_mutex_unlock(&(pthr->mutex)); - } - } - pthread_mutex_unlock(&glob_mutex); - return NULL; + struct thread *pthr = (struct thread *)arg; + int i, tid = gettid(); + + printf("Thread %d started running with priority %d\n", tid,\ + pthr->priority); + pthread_mutex_lock(&glob_mutex); + printf("Thread %d at start pthread pol %d pri %d - Got global lock\n",\ + tid, pthr->policy, pthr->priority); + /* Wait for other RT threads to start up */ + pthread_barrier_wait(&barrier); + + /* Wait for the high priority noise thread to start and signal us */ + pthread_mutex_lock(&cond_mutex); + pthread_cond_wait(&cond_var, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + + for (i = 0; i < 10000; i++) { + if (i%100 == 0) { + printf("Thread %d loop %d pthread pol %d pri %d\n",\ + tid, i, pthr->policy, pthr->priority); + fflush(NULL); + } + busy_work_ms(1); + } + pthread_mutex_unlock(&glob_mutex); + return NULL; } -void* func_rt(void* arg) +void *func_rt(void *arg) { - struct thread* pthr = (struct thread* )arg; - int rc, i, j, tid = gettid(); - cpu_set_t mask; - CPU_ZERO(&mask); - CPU_SET(0, &mask); - - rc = sched_setaffinity(0, sizeof(mask), &mask); - if (rc < 0) { - printf("Thread %d: Can't set affinity: %d %s\n", tid, rc, strerror(rc)); - exit(-1); - } - - printf("Thread %d started running with prio %d\n", tid, pthr->priority); - pthread_barrier_wait(&barrier); - pthread_mutex_lock(&glob_mutex); - printf("Thread %d at start pthread pol %d pri %d - Got global lock\n", tid, pthr->policy, pthr->priority); - - /* we just use the mutex as something to slow things down */ - /* say who we are and then do nothing for a while. The aim - * of this is to show that high priority threads make more - * progress than lower priority threads.. - */ - for (i=0;i<1000;i++) { - if (i%100 == 0) { - printf("Thread %d loop %d pthread pol %d pri %d\n", tid, i, pthr->policy, pthr->priority); - fflush(NULL); - } - pthr->id++; - for (j=0;j<5000;j++) { - pthread_mutex_lock(&(pthr->mutex)); - pthread_mutex_unlock(&(pthr->mutex)); - } - } - pthread_mutex_unlock(&glob_mutex); - return NULL; + struct thread *pthr = (struct thread *)arg; + int i, tid = gettid(); + + printf("Thread %d started running with prio %d\n", tid, pthr->priority); + pthread_barrier_wait(&barrier); + pthread_mutex_lock(&glob_mutex); + printf("Thread %d at start pthread pol %d pri %d - Got global lock\n", + tid, pthr->policy, pthr->priority); + + /* We just use the mutex as something to slow things down, + * say who we are and then do nothing for a while. The aim + * of this is to show that high priority threads make more + * progress than lower priority threads.. + */ + for (i = 0; i < 1000; i++) { + if (i%100 == 0) { + printf("Thread %d loop %d pthread pol %d pri %d\n",\ + tid, i, pthr->policy, pthr->priority); + fflush(NULL); + } + busy_work_ms(1); + } + pthread_mutex_unlock(&glob_mutex); + return NULL; } -void* func_noise(void* arg) +void *func_noise(void *arg) { - struct thread* pthr = (struct thread* )arg; - int rc, i, j, tid = gettid(); - cpu_set_t mask; - CPU_ZERO(&mask); - CPU_SET(0, &mask); - - rc = sched_setaffinity(0, sizeof(mask), &mask); - if (rc < 0) { - printf("Thread %d: Can't set affinity: %d %s\n", tid, rc, strerror(rc)); - exit(-1); - } - - printf("Noise Thread %d started running with prio %d\n", tid, pthr->priority); - pthread_barrier_wait(&barrier); - - for (i=0;i<10000;i++) { - if (i%100 == 0) { - printf("Noise Thread %d loop %d pthread pol %d pri %d\n", tid, i, pthr->policy, pthr->priority); - fflush(NULL); - } - pthr->id++; - for (j=0;j<5000;j++) { - pthread_mutex_lock(&(pthr->mutex)); - pthread_mutex_unlock(&(pthr->mutex)); - } - } - return NULL; + struct thread *pthr = (struct thread *)arg; + int i, tid = gettid(); + + printf("Noise Thread %d started running with prio %d\n", tid, + pthr->priority); + pthread_barrier_wait(&barrier); + + /* Let others wait at conditional variable */ + usleep(1000); + + /* Noise thread begins the test */ + pthread_mutex_lock(&cond_mutex); + pthread_cond_broadcast(&cond_var); + pthread_mutex_unlock(&cond_mutex); + + for (i = 0; i < 10000; i++) { + if (i%100 == 0) { + printf("Noise Thread %d loop %d pthread pol %d "\ + "pri %d\n", tid, i, pthr->policy,\ + pthr->priority); + fflush(NULL); + } + busy_work_ms(1); + } + return NULL; } /* * Test pthread creation at different thread priorities. */ -int main(int argc, char* argv[]) { - pthread_mutexattr_t mutexattr; - int i, retc, protocol, nopi = 0; - cpu_set_t mask; - CPU_ZERO(&mask); - CPU_SET(0, &mask); - setup(); - - rt_init("h",parse_args,argc,argv); - - if ((retc = pthread_barrier_init(&barrier, NULL, 5))) { - printf("pthread_barrier_init failed: %s\n", strerror(retc)); - exit(retc); - } - - retc = sched_setaffinity(0, sizeof(mask), &mask); - if (retc < 0) { - printf("Main Thread: Can't set affinity: %d %s\n", retc, strerror(retc)); - exit(-1); - } - for (i=0;i<argc;i++) { - if (strcmp(argv[i],"nopi") == 0) nopi = 1; - } - - printf("Start %s\n",argv[0]); - - if (!nopi) { - if (pthread_mutexattr_init(&mutexattr) != 0) { - printf("Failed to init mutexattr\n"); - } - if (pthread_mutexattr_setprotocol(&mutexattr, PTHREAD_PRIO_INHERIT) != 0) { - printf("Can't set protocol prio inherit\n"); - } - if (pthread_mutexattr_getprotocol(&mutexattr, &protocol) != 0) { - printf("Can't get mutexattr protocol\n"); - } else { - printf("protocol in mutexattr is %d\n", protocol); - } - if ((retc = pthread_mutex_init(&glob_mutex, &mutexattr)) != 0) { - printf("Failed to init mutex: %d\n", retc); - } - } - - create_other_thread(func_nonrt,NULL); - create_rr_thread(func_rt, NULL, 20); - create_rr_thread(func_rt, NULL, 30); - create_rr_thread(func_rt, NULL, 40); - create_rr_thread(func_noise, NULL, 40); - - printf("Joining threads\n"); - join_threads(); - printf("Done\n"); - printf("Criteria:Low Priority Thread should Preempt Higher Priority Noise Thread\n"); - - return 0; +int main(int argc, char *argv[]) +{ + int i, retc, nopi = 0; + cpu_set_t mask; + CPU_ZERO(&mask); + CPU_SET(0, &mask); + setup(); + + rt_init("h", parse_args, argc, argv); + + retc = pthread_barrier_init(&barrier, NULL, 5); + if (retc) { + printf("pthread_barrier_init failed: %s\n", strerror(retc)); + exit(retc); + } + + retc = sched_setaffinity(0, sizeof(mask), &mask); + if (retc < 0) { + printf("Main Thread: Can't set affinity: %d %s\n", retc,\ + strerror(retc)); + exit(-1); + } + + for (i = 0; i < argc; i++) { + if (strcmp(argv[i], "nopi") == 0) + nopi = 1; + } + + printf("Start %s\n", argv[0]); + + if (!nopi) + init_pi_mutex(&glob_mutex); + + create_other_thread(func_nonrt, NULL); + create_rr_thread(func_rt, NULL, 20); + create_rr_thread(func_rt, NULL, 30); + create_rr_thread(func_rt, NULL, 40); + create_rr_thread(func_noise, NULL, 40); + + printf("Joining threads\n"); + join_threads(); + printf("Done\n"); + printf("Criteria:Low Priority Thread should Preempt Higher Priority "\ + "Noise Thread\n"); + + pthread_mutex_destroy(&glob_mutex); + pthread_mutex_destroy(&cond_mutex); + pthread_cond_destroy(&cond_var); + return 0; } diff --git a/testcases/realtime/func/pi-tests/testpi-2.c b/testcases/realtime/func/pi-tests/testpi-2.c index f824c94..55b391b 100644 --- a/testcases/realtime/func/pi-tests/testpi-2.c +++ b/testcases/realtime/func/pi-tests/testpi-2.c @@ -20,8 +20,9 @@ * testpi-2.c * * DESCRIPTION - * - * + * This testcase verifies if the low priority SCHED_RR thread can preempt + * the high priority SCHED_RR thread multiple times via priority + * inheritance. * * USAGE: * Use run_auto.sh script in current directory to build and run test. @@ -30,7 +31,9 @@ * * * HISTORY - * + * 2010-04-22 Code cleanup and thread synchronization changes by using + * conditional variables, + * by Gowrishankar(gow...@in...). * *****************************************************************************/ @@ -48,196 +51,171 @@ pthread_barrier_t barrier; void usage(void) { - rt_help(); - printf("testpi-2 specific options:\n"); + rt_help(); + printf("testpi-2 specific options:\n"); } int parse_args(int c, char *v) { - int handled = 1; - switch (c) { - case 'h': - usage(); - exit(0); - default: - handled = 0; - break; - } - return handled; + int handled = 1; + switch (c) { + case 'h': + usage(); + exit(0); + default: + handled = 0; + break; + } + return handled; } int gettid(void) { - return syscall(__NR_gettid); + return syscall(__NR_gettid); } -typedef void* (*entrypoint_t)(void*); - -#define THREAD_STOP 1 - +typedef void *(*entrypoint_t)(void *); pthread_mutex_t glob_mutex; +static pthread_mutex_t cond_mutex = PTHREAD_MUTEX_INITIALIZER; +static pthread_cond_t cond_var = PTHREAD_COND_INITIALIZER; -void* func_lowrt(void* arg) +void *func_lowrt(void *arg) { - struct thread* pthr = (struct thread* )arg ; - int rc, i, j, tid = gettid(); - cpu_set_t mask; - CPU_ZERO(&mask); - CPU_SET(0, &mask); - - rc = sched_setaffinity(0, sizeof(mask), &mask); - if (rc < 0) { - printf("Thread %d: Can't set affinity: %d %s\n", tid, rc, strerror(rc)); - exit(-1); - } - - printf("Thread %d started running with priority %d\n", tid, pthr->priority); - pthread_mutex_lock(&glob_mutex); - printf("Thread %d at start pthread pol %d pri %d - Got global lock\n", tid, pthr->policy, pthr->priority); - /* Wait for other RT threads to start up */ - pthread_barrier_wait(&barrier); - - for (i=0;i<10000;i++) { - if (i%100 == 0) { - printf("Thread %d loop %d pthread pol %d pri %d\n", tid, i, pthr->policy, pthr->priority); - fflush(NULL); - } - pthr->id++; - for (j=0;j<5000;j++) { - pthread_mutex_lock(&(pthr->mutex)); - pthread_mutex_unlock(&(pthr->mutex)); - } - } - pthread_mutex_unlock(&glob_mutex); - return NULL; + struct thread *pthr = (struct thread *)arg; + int i, tid = gettid(); + + printf("Thread %d started running with priority %d\n", tid,\ + pthr->priority); + pthread_mutex_lock(&glob_mutex); + printf("Thread %d at start pthread pol %d pri %d - Got global lock\n",\ + tid, pthr->policy, pthr->priority); + /* Wait for other RT threads to start up */ + pthread_barrier_wait(&barrier); + + /* Wait for the high priority noise thread to start and signal us */ + pthread_mutex_lock(&cond_mutex); + pthread_cond_wait(&cond_var, &cond_mutex); + pthread_mutex_unlock(&cond_mutex); + + for (i = 0; i < 10000; i++) { + if (i%100 == 0) { + printf("Thread %d loop %d pthread pol %d pri %d\n",\ + tid, i, pthr->policy, pthr->priority); + fflush(NULL); + } + busy_work_ms(1); + } + pthread_mutex_unlock(&glob_mutex); + return NULL; } -void* func_rt(void* arg) +void *func_rt(void *arg) { - struct thread* pthr = (struct thread* )arg; - int rc, i, j, tid = gettid(); - cpu_set_t mask; - CPU_ZERO(&mask); - CPU_SET(0, &mask); - - rc = sched_setaffinity(0, sizeof(mask), &mask); - if (rc < 0) { - printf("Thread %d: Can't set affinity: %d %s\n", tid, rc, strerror(rc)); - exit(-1); - } - - printf("Thread %d started running with prio %d\n", tid, pthr->priority); - pthread_barrier_wait(&barrier); - pthread_mutex_lock(&glob_mutex); - printf("Thread %d at start pthread pol %d pri %d - Got global lock\n", tid, pthr->policy, pthr->priority); - - /* we just use the mutex as something to slow things down */ - /* say who we are and then do nothing for a while. The aim - * of this is to show that high priority threads make more - * progress than lower priority threads.. - */ - for (i=0;i<1000;i++) { - if (i%100 == 0) { - printf("Thread %d loop %d pthread pol %d pri %d\n", tid, i, pthr->policy, pthr->priority); - fflush(NULL); - } - pthr->id++; - for (j=0;j<5000;j++) { - pthread_mutex_lock(&(pthr->mutex)); - pthread_mutex_unlock(&(pthr->mutex)); - } - } - pthread_mutex_unlock(&glob_mutex); - return NULL; + struct thread *pthr = (struct thread *)arg; + int i, tid = gettid(); + + printf("Thread %d started running with prio %d\n", tid, pthr->priority); + pthread_barrier_wait(&barrier); + pthread_mutex_lock(&glob_mutex); + printf("Thread %d at start pthread pol %d pri %d - Got global lock\n",\ + tid, pthr->policy, pthr->priority); + + /* We just use the mutex as something to slow things down, + * say who we are and then do nothing for a while. The aim + * of this is to show that high priority threads make more + * progress than lower priority threads.. + */ + for (i = 0; i < 1000; i++) { + if (i%100 == 0) { + printf("Thread %d loop %d pthread pol %d pri %d\n",\ + tid, i, pthr->policy, pthr->priority); + fflush(NULL); + } + busy_work_ms(1); + } + pthread_mutex_unlock(&glob_mutex); + return NULL; } -void* func_noise(void* arg) +void *func_noise(void *arg) { - struct thread* pthr = (struct thread* )arg; - int rc, i, j, tid = gettid(); - cpu_set_t mask; - CPU_ZERO(&mask); - CPU_SET(0, &mask); - - rc = sched_setaffinity(0, sizeof(mask), &mask); - if (rc < 0) { - printf("Thread %d: Can't set affinity: %d %s\n", tid, rc, strerror(rc)); - exit(-1); - } - - printf("Noise Thread %d started running with prio %d\n", tid, pthr->priority); - pthread_barrier_wait(&barrier); - - for (i=0;i<10000;i++) { - if (i%100 == 0) { - printf("Noise Thread %d loop %d pthread pol %d pri %d\n", tid, i, pthr->policy, pthr->priority); - fflush(NULL); - } - pthr->id++; - for (j=0;j<5000;j++) { - pthread_mutex_lock(&(pthr->mutex)); - pthread_mutex_unlock(&(pthr->mutex)); - } - } - return NULL; + struct thread *pthr = (struct thread *)arg; + int i, tid = gettid(); + + printf("Noise Thread %d started running with prio %d\n", tid,\ + pthr->priority); + pthread_barrier_wait(&barrier); + + /* Let others wait at conditional variable */ + usleep(1000); + + /* Noise thread begins the test */ + pthread_mutex_lock(&cond_mutex); + pthread_cond_broadcast(&cond_var); + pthread_mutex_unlock(&cond_mutex); + + for (i = 0; i < 10000; i++) { + if (i%100 == 0) { + printf("Noise Thread %d loop %d pthread pol %d "\ + "pri %d\n", tid, i, pthr->policy,\ + pthr->priority); + fflush(NULL); + } + busy_work_ms(1); + } + return NULL; } /* * Test pthread creation at different thread priorities. */ -int main(int argc, char* argv[]) { - pthread_mutexattr_t mutexattr; - int i, retc, protocol, nopi = 0; - cpu_set_t mask; - CPU_ZERO(&mask); - CPU_SET(0, &mask); - setup(); - rt_init("h",parse_args,argc,argv); - - if ((retc = pthread_barrier_init(&barrier, NULL, 5))) { - printf("pthread_barrier_init failed: %s\n", strerror(retc)); - exit(retc); - } - - retc = sched_setaffinity(0, sizeof(mask), &mask); - if (retc < 0) { - printf("Main Thread: Can't set affinity: %d %s\n", retc, strerror(retc)); - exit(-1); - } - - for (i=0;i<argc;i++) { - if (strcmp(argv[i],"nopi") == 0) nopi = 1; - } - - printf("Start %s\n",argv[0]); - - if (!nopi) { - if (pthread_mutexattr_init(&mutexattr) != 0) { - printf("Failed to init mutexattr\n"); - }; - if (pthread_mutexattr_setprotocol(&mutexattr, PTHREAD_PRIO_INHERIT) != 0) { - printf("Can't set protocol prio inherit\n"); - } - if (pthread_mutexattr_getprotocol(&mutexattr, &protocol) != 0) { - printf("Can't get mutexattr protocol\n"); - } else { - printf("protocol in mutexattr is %d\n", protocol); - } - if ((retc = pthread_mutex_init(&glob_mutex, &mutexattr)) != 0) { - printf("Failed to init mutex: %d\n", retc); - } - } - - create_rr_thread(func_lowrt, NULL, 10); - create_rr_thread(func_rt, NULL, 20); - create_fifo_thread(func_rt, NULL, 30); - create_fifo_thread(func_rt, NULL, 40); - create_rr_thread(func_noise, NULL, 40); - - printf("Joining threads\n"); - join_threads(); - printf("Done\n"); - printf("Criteria: Low Priority Thread and High Priority Thread should prempt each other multiple times\n"); - return 0; +int main(int argc, char *argv[]) +{ + int i, retc, nopi = 0; + cpu_set_t mask; + CPU_ZERO(&mask); + CPU_SET(0, &mask); + setup(); + rt_init("h", parse_args, argc, argv); + + retc = pthread_barrier_init(&barrier, NULL, 5); + if (retc) { + printf("pthread_barrier_init failed: %s\n", strerror(retc)); + exit(retc); + } + + retc = sched_setaffinity(0, sizeof(mask), &mask); + if (retc < 0) { + printf("Main Thread: Can't set affinity: %d %s\n", retc,\ + strerror(retc)); + exit(-1); + } + + for (i = 0; i < argc; i++) { + if (strcmp(argv[i], "nopi") == 0) + nopi = 1; + } + + printf("Start %s\n", argv[0]); + + if (!nopi) + init_pi_mutex(&glob_mutex); + + create_rr_thread(func_lowrt, NULL, 10); + create_rr_thread(func_rt, NULL, 20); + create_fifo_thread(func_rt, NULL, 30); + create_fifo_thread(func_rt, NULL, 40); + create_rr_thread(func_noise, NULL, 40); + + printf("Joining threads\n"); + join_threads(); + printf("Done\n"); + printf("Criteria: Low Priority Thread and High Priority Thread "\ + "should prempt each other multiple times\n"); + + pthread_mutex_destroy(&glob_mutex); + pthread_mutex_destroy(&cond_mutex); + pthread_cond_destroy(&cond_var); + return 0; } diff --git a/testcases/realtime/func/pi-tests/testpi-5.c b/testcases/realtime/func/pi-tests/testpi-5.c index faf3d8d..1330dfd 100644 --- a/testcases/realtime/func/pi-tests/testpi-5.c +++ b/testcases/realtime/func/pi-tests/testpi-5.c @@ -20,8 +20,8 @@ * testpi-5.c * * DESCRIPTION - * - * + * This testcase verifies if a thread can lock the priority inheritance + * mutex multiple times. * * USAGE: * Use run_auto.sh script in current directory to build and run test. @@ -30,6 +30,7 @@ * * * HISTORY + * 2010-04-22 Code cleanup by Gowrishankar * * *****************************************************************************/ @@ -39,54 +40,55 @@ #include <string.h> #include <unistd.h> #include <librttest.h> -pthread_mutex_t child_mutex; +pthread_mutex_t child_mutex; -void* child_thread (void* arg) +void *child_thread(void *arg) { - int ret; + int ret; - ret = pthread_mutex_lock(&child_mutex); - if (ret != 0) - printf("child thread: Failed to lock child_mutex: %d\n", ret); - else - printf("child_thread: got lock\n"); + ret = pthread_mutex_lock(&child_mutex); + if (ret != 0) + printf("child thread: Failed to lock child_mutex: %d\n", ret); + else + printf("child_thread: got lock\n"); - sleep(2); + sleep(2); - printf("child_thread: Trying to get lock 2nd time\n"); - ret = pthread_mutex_lock(&child_mutex); - if (ret != 0) - printf("child thread: Failed to lock child_mutex: %d\n", ret); - else - printf("child_thread: got lock 2nd time !!\n"); + printf("child_thread: Trying to get lock 2nd time\n"); + ret = pthread_mutex_lock(&child_mutex); + if (ret != 0) + printf("child thread: Failed to lock child_mutex: %d\n", ret); + else + printf("child_thread: got lock 2nd time !!\n"); - return NULL; + return NULL; } -int do_test(int argc, char ** argv) +int do_test(int argc, char **argv) { - pthread_mutexattr_t mutexattr; - int retc, protocol; + pthread_mutexattr_t mutexattr; + int retc, protocol; + + if (pthread_mutexattr_init(&mutexattr) != 0) + printf("Failed to init mutexattr\n"); + + if (pthread_mutexattr_setprotocol(&mutexattr,\ + PTHREAD_PRIO_INHERIT) != 0) + printf("Can't set protocol prio inherit\n"); + + if (pthread_mutexattr_getprotocol(&mutexattr, &protocol) != 0) + printf("Can't get mutexattr protocol\n"); + else + printf("protocol in mutexattr is %d\n", protocol); + + retc = pthread_mutex_init(&child_mutex, &mutexattr); + if (retc != 0) + printf("Failed to init mutex: %d\n", retc); - if (pthread_mutexattr_init(&mutexattr) != 0) { - printf("Failed to init mutexattr\n"); - }; - if (pthread_mutexattr_setprotocol(&mutexattr, PTHREAD_PRIO_INHERIT) != 0) { - printf("Can't set protocol prio inherit\n"); - } - if (pthread_mutexattr_getprotocol(&mutexattr, &protocol) != 0) { - printf("Can't get mutexattr protocol\n"); - } else { - printf("protocol in mutexattr is %d\n", protocol); - } - if ((retc = pthread_mutex_init(&child_mutex, &mutexattr)) != 0) { - printf("Failed to init mutex: %d\n", retc); - } + create_other_thread(child_thread, NULL); + join_threads(); - create_other_thread(child_thread, NULL); - join_threads(); - - return 0; + return 0; } #include "test-skeleton.c" diff --git a/testcases/realtime/func/pi-tests/testpi-6.c b/testcases/realtime/func/pi-tests/testpi-6.c index 560f45f..19c06ea 100644 --- a/testcases/realtime/func/pi-tests/testpi-6.c +++ b/testcases/realtime/func/pi-tests/testpi-6.c @@ -20,8 +20,8 @@ * testpi-6.c * * DESCRIPTION - * - * + * This testcase verifies if a thread can lock the robust mutex multiple + * times. * * USAGE: * Use run_auto.sh script in current directory to build and run test. @@ -30,6 +30,7 @@ * * * HISTORY + * 2010-04-22 Code cleanup by Gowrishankar * * *****************************************************************************/ @@ -39,54 +40,55 @@ #include <string.h> #include <unistd.h> #include <librttest.h> -pthread_mutex_t child_mutex; +pthread_mutex_t child_mutex; -void* child_thread (void* arg) +void *child_thread(void *arg) { - int ret; + int ret; - ret = pthread_mutex_lock(&child_mutex); - if (ret != 0) - printf("child thread: Failed to lock child_mutex: %d\n", ret); - else - printf("child_thread: got lock\n"); + ret = pthread_mutex_lock(&child_mutex); + if (ret != 0) + printf("child thread: Failed to lock child_mutex: %d\n", ret); + else + printf("child_thread: got lock\n"); - sleep(2); + sleep(2); - printf("child_thread: Trying to get lock 2nd time\n"); - ret = pthread_mutex_lock(&child_mutex); - if (ret != 0) - printf("child thread: Failed to lock child_mutex: %d\n", ret); - else - printf("child_thread: got lock 2nd time !!\n"); + printf("child_thread: Trying to get lock 2nd time\n"); + ret = pthread_mutex_lock(&child_mutex); + if (ret != 0) + printf("child thread: Failed to lock child_mutex: %d\n", ret); + else + printf("child_thread: got lock 2nd time !!\n"); - return NULL; + return NULL; } int do_test(int argc, char **argv) { - pthread_mutexattr_t mutexattr; - int retc, robust; + pthread_mutexattr_t mutexattr; + int retc, robust; + + if (pthread_mutexattr_init(&mutexattr) != 0) + printf("Failed to init mutexattr\n"); + + if (pthread_mutexattr_setrobust_np(&mutexattr,\ + PTHREAD_MUTEX_ROBUST_NP) != 0) + printf("Can't set robust mutex\n"); + + if (pthread_mutexattr_getrobust_np(&mutexattr, &robust) != 0) + printf("Can't get mutexattr protocol\n"); + else + printf("robust in mutexattr is %d\n", robust); - if (pthread_mutexattr_init(&mutexattr) != 0) { - printf("Failed to init mutexattr\n"); - }; - if (pthread_mutexattr_setrobust_np(&mutexattr, PTHREAD_MUTEX_ROBUST_NP) != 0) { - printf("Can't set robust mutex\n"); - } - if (pthread_mutexattr_getrobust_np(&mutexattr, &robust) != 0) { - printf("Can't get mutexattr protocol\n"); - } else { - printf("robust in mutexattr is %d\n", robust); - } - if ((retc = pthread_mutex_init(&child_mutex, &mutexattr)) != 0) { - printf("Failed to init mutex: %d\n", retc); - } + retc = pthread_mutex_init(&child_mutex, &mutexattr); + if (retc != 0) + printf("Failed to init mutex: %d\n", retc); - create_other_thread(child_thread, NULL); - join_threads(); + create_other_thread(child_thread, NULL); + join_threads(); - return 0; + return 0; } #include "test-skeleton.c" hooks/post-receive -- ltp |
From: Subrata <ris...@li...> - 2010-06-14 12:34:49
|
The branch, master, has been updated via 95e8b61433efcefb83699aaf859e92ad2b576373 (commit) via 73c785ff2eb296091d06d3b7184bddf9bec8ec7e (commit) via 82d3ded3632c79c62e231f3f8d7a632ce3da4e40 (commit) via a9ff0b53d9e45e89ea4ec794fc87bbf67620e2c4 (commit) via f2e36d93c856782c4292ad0c21729c35776c1e31 (commit) from 7f20a3add6c7f2166dbab5a712713ae8b5943448 (commit) - Log ----------------------------------------------------------------- commit 95e8b61433efcefb83699aaf859e92ad2b576373 Author: Subrata Modak <sub...@su...> Date: Mon Jun 14 17:59:09 2010 +0530 Fix issue where growfiles tests still not creating temp files in directory specified by TMPDIR as expected. This is an updated patch which changes the arguments for gf12, gf13 test to use the named pipes created by mkfifo properly, rather then the ordinary file created by and incorporates the previous changes. Hopefully that catches everything, these fs tests are quite hard to interpret. A previous patch that attempts to force tests to use the TMPDIR env variable is incomplete. This patch fixes growfiles test arguments in the fs scenario. Scripts which use growfiles with command-line file names are not performing the tests in the expected target directory. When file names are provided on the growfiles command line, they are taken relative to the cwd and not the -d auto_dir passed on the command line. This renders many of the test scripts in runtests ineffective in that the tests are not being performed on the expected filesystem. For example, the first line of the fs scenario reads: gf01 growfiles -B 800000 -W gf01 -b -e 1 -u -i 0 -L 20 -w -C 1 -l -I r -T 10 glseek20 glseek20.2 -d $TMPDIR The -d $TMPDIR construct is almost always used in the scripts to point to the filesystem under test. However, the presence of the glseek20 glseek20.2 command line parameters constitute full file names from the test's view, so they will be used as-is (in the current working directory) as opposed to $TMPDIR/glseek20 or $TMPDIR/glseek20.2 as expected by the script. To get the desired behavior, here are the key switches: -f specifies the 'auto_file' which is the base file name (gf is used if it's missing) -d specifies the 'auto_dir' to be used ('.' is used if it's missing) -S specifies the number of 'auto seq' files to be used. These files are of the form: "%s/%s%d" using auto_dir, auto_file, file_number. Signed-off-by: Henry Yei <hy...@mv...>, commit 73c785ff2eb296091d06d3b7184bddf9bec8ec7e Author: Subrata Modak <sub...@su...> Date: Mon Jun 14 17:56:43 2010 +0530 I want to suggest a patch for #2 test of "mail_tests.sh". The failure of #2 is as following: ------------ mail_tests::mail02 0 TINFO : Test #2: mail u...@bad-domain will result in failure mail_tests::mail02 0 TINFO : Test #2: to deliver the mail. Mailer daemon should mail_tests::mail02 0 TINFO : Test #2: report this failure. mail_tests::mail02 2 TFAIL : Test #2: No new mail for root. Reason: No mail for root ------------ I use RHEL5.4, RHEL4.8 systems and x86, x86_64, ia64 architectures. "#2" test failed in all combinations. At "#2" test, there is "No mail for root" in "tst_mail.res" file. I want to add this condition to judgment for "tst_mail.res". The other day, I made a question whether #2 test failed or not in other systems. -->http://www.mail-archive.com/ltp...@li.../msg10184.html. But I have received no reply yet. Therefore I don't know about other systems, and I made this revision to become effective for only RHEL systems. Signed-off-by: Tomonori Mitani <mi...@ry...>. commit 82d3ded3632c79c62e231f3f8d7a632ce3da4e40 Author: Subrata Modak <sub...@su...> Date: Mon Jun 14 17:54:59 2010 +0530 echo test is failing with the below errors as we didn't initialized the 'addrlen' parameter of getsockname. Creating socket ..... echoes 1 TBROK : getsockname call failed (pid=7086): Invalid argument echo: Invalid argument So, attached the patch which initializes the 'addrlen' parameter. Signed-off-by: Munipradeep Beerakam <mpr...@li...>. Please correct if anything is wrong. commit a9ff0b53d9e45e89ea4ec794fc87bbf67620e2c4 Author: Subrata Modak <sub...@su...> Date: Mon Jun 14 17:52:10 2010 +0530 We need to add the below entry: {"read", "/proc/powerpc/rtas/error_log", EINVAL}, to the "Mapping known_issues[]" array, as the new kernels are having /proc/powerpc directory along with /proc/ppc64. Attached the patch to this mail. Signed-off-by: Munipradeep Beerakam <mpr...@li...>. Please correct me if any thing is wrong. commit f2e36d93c856782c4292ad0c21729c35776c1e31 Author: Subrata Modak <sub...@su...> Date: Wed Jun 9 23:45:26 2010 +0530 TOMOYO Linux update. Update test programs for TOMOYO LSM module. This patch updates test programs for TOMOYO 2.3 which will be included into Linux kernel 2.6.36. Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>. ----------------------------------------------------------------------- Summary of changes: runtest/fs | 46 +- testcases/commands/mail/mail_tests.sh | 19 +- testcases/kernel/fs/proc/proc01.c | 1 + testcases/kernel/security/tomoyo/README | 23 +- testcases/kernel/security/tomoyo/include.h | 326 +++++-- testcases/kernel/security/tomoyo/newns.c | 2 +- testcases/kernel/security/tomoyo/testall.sh | 19 +- .../kernel/security/tomoyo/tomoyo_accept_test.c | 145 +++ .../kernel/security/tomoyo/tomoyo_file_test.c | 970 ++------------------ .../security/tomoyo/tomoyo_filesystem_test.c | 632 +++++++++++++ .../kernel/security/tomoyo/tomoyo_new_file_test.c | 631 +++++++++++++ testcases/kernel/security/tomoyo/tomoyo_new_test.c | 682 ++++++++++++++ .../kernel/security/tomoyo/tomoyo_policy_io_test.c | 195 ++++ .../security/tomoyo/tomoyo_policy_memory_test.c | 358 ++++++++ .../kernel/security/tomoyo/tomoyo_rewrite_test.c | 169 ++++ testcases/network/tcp_cmds/echo/echoes.c | 1 + 16 files changed, 3221 insertions(+), 998 deletions(-) create mode 100644 testcases/kernel/security/tomoyo/tomoyo_accept_test.c create mode 100644 testcases/kernel/security/tomoyo/tomoyo_filesystem_test.c create mode 100644 testcases/kernel/security/tomoyo/tomoyo_new_file_test.c create mode 100644 testcases/kernel/security/tomoyo/tomoyo_new_test.c create mode 100644 testcases/kernel/security/tomoyo/tomoyo_policy_io_test.c create mode 100644 testcases/kernel/security/tomoyo/tomoyo_policy_memory_test.c create mode 100644 testcases/kernel/security/tomoyo/tomoyo_rewrite_test.c diff --git a/runtest/fs b/runtest/fs index 2de871d..d7e91a9 100644 --- a/runtest/fs +++ b/runtest/fs @@ -1,34 +1,34 @@ #DESCRIPTION:Filesystem stress tests -gf01 growfiles -W gf01 -b -e 1 -u -i 0 -L 20 -w -C 1 -l -I r -T 10 glseek20 glseek20.2 -d $TMPDIR +gf01 growfiles -W gf01 -b -e 1 -u -i 0 -L 20 -w -C 1 -l -I r -T 10 -f glseek20 -S 2 -d $TMPDIR gf02 growfiles -W gf02 -b -e 1 -L 10 -i 100 -I p -S 2 -u -f gf03_ -d $TMPDIR gf03 growfiles -W gf03 -b -e 1 -g 1 -i 1 -S 150 -u -f gf05_ -d $TMPDIR gf04 growfiles -W gf04 -b -e 1 -g 4090 -i 500 -t 39000 -u -f gf06_ -d $TMPDIR gf05 growfiles -W gf05 -b -e 1 -g 5000 -i 500 -t 49900 -T10 -c9 -I p -u -f gf07_ -d $TMPDIR -gf06 growfiles -W gf06 -b -e 1 -u -r 1-5000 -R 0--1 -i 0 -L 30 -C 1 g_rand10 g_rand10.2 -d $TMPDIR -gf07 growfiles -W gf07 -b -e 1 -u -r 1-5000 -R 0--2 -i 0 -L 30 -C 1 -I p g_rand13 g_rand13.2 -d $TMPDIR -gf08 growfiles -W gf08 -b -e 1 -u -r 1-5000 -R 0--2 -i 0 -L 30 -C 1 g_rand11 g_rand11.2 -d $TMPDIR -gf09 growfiles -W gf09 -b -e 1 -u -r 1-5000 -R 0--1 -i 0 -L 30 -C 1 -I p g_rand12 g_rand12.2 -d $TMPDIR -gf10 growfiles -W gf10 -b -e 1 -u -r 1-5000 -i 0 -L 30 -C 1 -I l g_lio14 g_lio14.2 -d $TMPDIR -gf11 growfiles -W gf11 -b -e 1 -u -r 1-5000 -i 0 -L 30 -C 1 -I L g_lio15 g_lio15.2 -d $TMPDIR -gf12 mkfifo $TMPDIR/gffifo17; growfiles -b -W gf12 -e 1 -u -i 0 -L 30 gffifo17 -d $TMPDIR -gf13 mkfifo $TMPDIR/gffifo18; growfiles -b -W gf13 -e 1 -u -i 0 -L 30 -I r -r 1-4096 gffifo18 -d $TMPDIR -gf14 growfiles -W gf14 -b -e 1 -u -i 0 -L 20 -w -l -C 1 -T 10 glseek19 glseek19.2 -d $TMPDIR -gf15 growfiles -W gf15 -b -e 1 -u -r 1-49600 -I r -u -i 0 -L 120 Lgfile1 -d $TMPDIR +gf06 growfiles -W gf06 -b -e 1 -u -r 1-5000 -R 0--1 -i 0 -L 30 -C 1 -f g_rand10 -S 2 -d $TMPDIR +gf07 growfiles -W gf07 -b -e 1 -u -r 1-5000 -R 0--2 -i 0 -L 30 -C 1 -I p -f g_rand13 -S 2 -d $TMPDIR +gf08 growfiles -W gf08 -b -e 1 -u -r 1-5000 -R 0--2 -i 0 -L 30 -C 1 -f g_rand11 -S 2 -d $TMPDIR +gf09 growfiles -W gf09 -b -e 1 -u -r 1-5000 -R 0--1 -i 0 -L 30 -C 1 -I p -f g_rand12 -S 2 -d $TMPDIR +gf10 growfiles -W gf10 -b -e 1 -u -r 1-5000 -i 0 -L 30 -C 1 -I l -f g_lio14 -S 2 -d $TMPDIR +gf11 growfiles -W gf11 -b -e 1 -u -r 1-5000 -i 0 -L 30 -C 1 -I L -f g_lio15 -S 2 -d $TMPDIR +gf12 mkfifo $TMPDIR/gffifo17; growfiles -b -W gf12 -e 1 -u -i 0 -L 30 $TMPDIR/gffifo17 +gf13 mkfifo $TMPDIR/gffifo18; growfiles -b -W gf13 -e 1 -u -i 0 -L 30 -I r -r 1-4096 $TMPDIR/gffifo18 +gf14 growfiles -W gf14 -b -e 1 -u -i 0 -L 20 -w -l -C 1 -T 10 -f glseek19 -S 2 -d $TMPDIR +gf15 growfiles -W gf15 -b -e 1 -u -r 1-49600 -I r -u -i 0 -L 120 -f Lgfile1 -d $TMPDIR gf16 growfiles -W gf16 -b -e 1 -i 0 -L 120 -u -g 4090 -T 100 -t 408990 -l -C 10 -c 1000 -S 10 -f Lgf02_ -d $TMPDIR gf17 growfiles -W gf17 -b -e 1 -i 0 -L 120 -u -g 5000 -T 100 -t 499990 -l -C 10 -c 1000 -S 10 -f Lgf03_ -d $TMPDIR gf18 growfiles -W gf18 -b -e 1 -i 0 -L 120 -w -u -r 10-5000 -I r -l -S 2 -f Lgf04_ -d $TMPDIR gf19 growfiles -W gf19 -b -e 1 -g 5000 -i 500 -t 49900 -T10 -c9 -I p -o O_RDWR,O_CREAT,O_TRUNC -u -f gf08i_ -d $TMPDIR -gf20 growfiles -W gf20 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 1-256000:512 -R 512-256000 -T 4 gfbigio-$$ -d $TMPDIR -gf21 growfiles -W gf21 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -g 20480 -T 10 -t 20480 gf-bld-$$ -d $TMPDIR -gf22 growfiles -W gf22 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -g 20480 -T 10 -t 20480 gf-bldf-$$ -d $TMPDIR -gf23 growfiles -W gf23 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 512-64000:1024 -R 1-384000 -T 4 gf-inf-$$ -d $TMPDIR -gf24 growfiles -W gf24 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -g 20480 gf-jbld-$$ -d $TMPDIR -gf25 growfiles -W gf25 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 1024000-2048000:2048 -R 4095-2048000 -T 1 gf-large-gs-$$ -d $TMPDIR -gf26 growfiles -W gf26 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 128-32768:128 -R 512-64000 -T 4 gfsmallio-$$ -d $TMPDIR -gf27 growfiles -W gf27 -b -D 0 -w -g 8b -C 1 -b -i 1000 -u gfsparse-1-$$ -d $TMPDIR -gf28 growfiles -W gf28 -b -D 0 -w -g 16b -C 1 -b -i 1000 -u gfsparse-2-$$ -d $TMPDIR -gf29 growfiles -W gf29 -b -D 0 -r 1-4096 -R 0-33554432 -i 0 -L 60 -C 1 -u gfsparse-3-$$ -d $TMPDIR -gf30 growfiles -W gf30 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -o O_RDWR,O_CREAT,O_SYNC -g 20480 -T 10 -t 20480 gf-sync-$$ -d $TMPDIR +gf20 growfiles -W gf20 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 1-256000:512 -R 512-256000 -T 4 -f gfbigio-$$ -d $TMPDIR +gf21 growfiles -W gf21 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -g 20480 -T 10 -t 20480 -f gf-bld-$$ -d $TMPDIR +gf22 growfiles -W gf22 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -g 20480 -T 10 -t 20480 -f gf-bldf-$$ -d $TMPDIR +gf23 growfiles -W gf23 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 512-64000:1024 -R 1-384000 -T 4 -f gf-inf-$$ -d $TMPDIR +gf24 growfiles -W gf24 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -g 20480 -f gf-jbld-$$ -d $TMPDIR +gf25 growfiles -W gf25 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 1024000-2048000:2048 -R 4095-2048000 -T 1 -f gf-large-gs-$$ -d $TMPDIR +gf26 growfiles -W gf26 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 128-32768:128 -R 512-64000 -T 4 -f gfsmallio-$$ -d $TMPDIR +gf27 growfiles -W gf27 -b -D 0 -w -g 8b -C 1 -b -i 1000 -u -f gfsparse-1-$$ -d $TMPDIR +gf28 growfiles -W gf28 -b -D 0 -w -g 16b -C 1 -b -i 1000 -u -f gfsparse-2-$$ -d $TMPDIR +gf29 growfiles -W gf29 -b -D 0 -r 1-4096 -R 0-33554432 -i 0 -L 60 -C 1 -u -f gfsparse-3-$$ -d $TMPDIR +gf30 growfiles -W gf30 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -o O_RDWR,O_CREAT,O_SYNC -g 20480 -T 10 -t 20480 -f gf-sync-$$ -d $TMPDIR rwtest01 export LTPROOT; rwtest -N rwtest01 -c -q -i 60s -f sync 10%25000:$TMPDIR/rw-sync-$$ rwtest02 export LTPROOT; rwtest -N rwtest02 -c -q -i 60s -f buffered 10%25000:$TMPDIR/rw-buffered-$$ rwtest03 export LTPROOT; rwtest -N rwtest03 -c -q -i 60s -n 2 -f buffered -s mmread,mmwrite -m random -Dv 10%25000:$TMPDIR/mm-buff-$$ @@ -64,7 +64,7 @@ writetest01 writetest #Also run the fs_di (Data Integrity tests) fs_di fs_di -d $TMPDIR -# Read every file in /proc. Not likely to crash, but does enough +# Read every file in /proc. Not likely to crash, but does enough # to disturb the kernel. A good kernel latency killer too. # Was not sure why it should reside in runtest/crashme and won´t get tested ever proc01 proc01 diff --git a/testcases/commands/mail/mail_tests.sh b/testcases/commands/mail/mail_tests.sh index 99aa278..53a5d90 100755 --- a/testcases/commands/mail/mail_tests.sh +++ b/testcases/commands/mail/mail_tests.sh @@ -140,14 +140,18 @@ fi export TCID=mail_tests::mail02 export TST_COUNT=2 -RC=0 RC1=0 RC2=0 +RC3=0 +RC4=0 tst_resm TINFO "Test #2: mail user@bad-domain will result in failure" tst_resm TINFO "Test #2: to deliver the mail. Mailer daemon should" tst_resm TINFO "Test #2: report this failure." +tvar=${MACHTYPE%-*} +tvar=${tvar#*-} + # Don't use underscores in domain names (they're illegal)... mail -s "Test" root@thisdomaindoesnotexist < $LTPTMP/tst_mail.in \ > $LTPTMP/tst_mail.out 2>&1 @@ -190,9 +194,16 @@ else $LTPTMP/tst_mail.res) fi if [ -z "$RC1" -a -z "$RC2" -a -z "$RC3" ]; then - tst_res TFAIL $LTPTMP/tst_mail.res \ - "Test #2: No new mail for root. Reason:" - : $(( TFAILCNT += 1 )) + RC4=$(awk '{print match($1 $2 $3, "Nomailfor")}' \ + $LTPTMP/tst_mail.res) + if [ \( "$tvar" = "redhat" -o "$tvar" = "redhat-linux" \) -a -n "$RC4" ]; then + tst_resm TPASS \ + "Test #2: No new mail for root as expected" + else + tst_res TFAIL $LTPTMP/tst_mail.res \ + "Test #2: No new mail for root. Reason:" + : $(( TFAILCNT += 1 )) + fi else if [ $RC1 -ne 0 -a $RC2 -ne 0 ] || [ $RC1 -ne 0 -a $RC3 -ne 0 ]; then diff --git a/testcases/kernel/fs/proc/proc01.c b/testcases/kernel/fs/proc/proc01.c index 2d4a5fd..8864360 100644 --- a/testcases/kernel/fs/proc/proc01.c +++ b/testcases/kernel/fs/proc/proc01.c @@ -96,6 +96,7 @@ const Mapping known_issues[] = { {"read", "/proc/self/attr/*", EINVAL}, {"read", "/proc/self/task/[0-9]*/attr/*", EINVAL}, {"read", "/proc/ppc64/rtas/error_log", EINVAL}, + {"read", "/proc/powerpc/rtas/error_log", EINVAL}, {"read", "/proc/fs/nfsd/unlock_filesystem", EINVAL}, {"read", "/proc/fs/nfsd/unlock_ip", EINVAL}, {"read", "/proc/fs/nfsd/filehandle", EINVAL}, diff --git a/testcases/kernel/security/tomoyo/README b/testcases/kernel/security/tomoyo/README index b112353..0cb5388 100644 --- a/testcases/kernel/security/tomoyo/README +++ b/testcases/kernel/security/tomoyo/README @@ -1,5 +1,5 @@ Always look here for latest version of these tests: -http://sourceforge.jp/projects/tomoyo/svn/view/trunk/2.2.x/kernel_test/?root=tomoyo +http://sourceforge.jp/projects/tomoyo/svn/view/trunk/2.3.x/tomoyo-tools/kernel_test/?root=tomoyo These testcases test the TOMOYO Security Module. And they are not part of default LTP build/install/run. @@ -9,20 +9,19 @@ The securityfs filesystem must be mounted at /sys/kernel/security . Preparation steps are: -1) Download ccs-tools package from http://osdn.dl.sourceforge.jp/tomoyo/30298/ - and extract and build and install. +1) Download tomoyo-tools package and extract and build and install. - # wget http://osdn.dl.sourceforge.jp/tomoyo/30298/ccs-tools-1.6.8-20090623.tar.gz - # tar -zxf ccs-tools-1.6.8-20090623.tar.gz - # make -C ccstools/ install + # wget -O tomoyo-tools.tar.gz 'http://sourceforge.jp/projects/tomoyo/svn/view/trunk/2.3.x/tomoyo-tools.tar.gz?root=tomoyo&view=tar' + # tar -zxf tomoyo-tools.tar.gz + # make -C tomoyo-tools/ install - Programs are installed in /usr/lib/ccs/ directory and some symlinks are - created in /usr/sbin/ directory with prefix "ccs-". + Programs are installed in /usr/sbin/ with prefix "tomoyo-" and + /usr/lib/tomoyo/ directory without prefix "tomoyo-". - You can make a RPM package by "rpmbuild -bb ccstools/ccs-tools.spec" and + You can make a RPM package by "rpmbuild -bb tomoyo-tools/tomoyo-tools.spec" and a DEB package by "alien -k" after "rpmbuild -bb". -2) Run /usr/lib/ccs/tomoyo_init_policy.sh . +2) Run /usr/lib/tomoyo/init_policy . This will take several minutes. @@ -40,10 +39,12 @@ Preparation steps are: 4) Build the tests. # (extract the tar ball containing the tests.) + # make autotools + # ./configure # cd testcases/kernel/security/tomoyo/ # make # find `/bin/pwd` -type f -perm +100 >> /etc/tomoyo/manager.conf - # /usr/sbin/ccs-loadpolicy m + # /usr/sbin/tomoyo-loadpolicy m Test steps are: diff --git a/testcases/kernel/security/tomoyo/include.h b/testcases/kernel/security/tomoyo/include.h index be83a5a..2d3356f 100644 --- a/testcases/kernel/security/tomoyo/include.h +++ b/testcases/kernel/security/tomoyo/include.h @@ -22,10 +22,7 @@ * * Common functions for testing TOMOYO Linux's kernel. * - * Copyright (C) 2005-2009 NTT DATA CORPORATION - * - * Version: 2.2.0 2009/06/23 - * + * Copyright (C) 2005-2010 NTT DATA CORPORATION */ #include <errno.h> #include <fcntl.h> @@ -47,6 +44,13 @@ #include <time.h> #include <unistd.h> #include <utime.h> +#include "test.h" +#include <sched.h> +#include <stdarg.h> +#include <sys/mount.h> +#include <arpa/inet.h> +#include <net/if.h> +#include <linux/ip.h> /* * Some architectures like mips n32 don't have __NR_uselib defined in the @@ -65,53 +69,80 @@ static inline int uselib(const char *library) } #endif -#define proc_policy_dir "/sys/kernel/security/tomoyo/" -#define proc_policy_domain_policy proc_policy_dir "domain_policy" -#define proc_policy_exception_policy proc_policy_dir "exception_policy" -#define proc_policy_profile proc_policy_dir "profile" -#define proc_policy_self_domain proc_policy_dir "self_domain" - -static void fprintf_encoded(FILE *fp, const char *pathname) +/* Is there an architecture without __NR_pivot_root defined? */ +#ifdef __NR_pivot_root +static inline int pivot_root(const char *new_root, const char *put_old) { - while (1) { - unsigned char c = *(const unsigned char *) pathname++; - if (!c) - break; - if (c == '\\') { - fputc('\\', fp); - fputc('\\', fp); - } else if (c > ' ' && c < 127) { - fputc(c, fp); - } else { - fprintf(fp, "\\%c%c%c", (c >> 6) + '0', - ((c >> 3) & 7) + '0', (c & 7) + '0'); - } - } + return syscall(__NR_pivot_root, new_root, put_old); } - -static char self_domain[4096] = ""; -static FILE *fp_domain = NULL; -static FILE *fp_exception = NULL; -static FILE *fp_profile = NULL; - -static void write_profile(const char *cp) +#else +static inline int pivot_root(const char *new_root, const char *put_old) { - fprintf(fp_profile, "%s", cp); - fflush(fp_profile); + errno = ENOSYS; + return -1; } +#endif + +#define proc_policy_dir "/sys/kernel/security/tomoyo/" +#define proc_policy_domain_policy "/sys/kernel/security/tomoyo/domain_policy" +#define proc_policy_exception_policy "/sys/kernel/security/tomoyo/exception_policy" +#define proc_policy_profile "/sys/kernel/security/tomoyo/profile" +#define proc_policy_manager "/sys/kernel/security/tomoyo/manager" +#define proc_policy_query "/sys/kernel/security/tomoyo/query" +#define proc_policy_grant_log "/sys/kernel/security/tomoyo/grant_log" +#define proc_policy_reject_log "/sys/kernel/security/tomoyo/reject_log" +#define proc_policy_domain_status "/sys/kernel/security/tomoyo/.domain_status" +#define proc_policy_process_status "/sys/kernel/security/tomoyo/.process_status" +#define proc_policy_self_domain "/sys/kernel/security/tomoyo/self_domain" + +static FILE *profile_fp = NULL; +static FILE *domain_fp = NULL; +static FILE *exception_fp = NULL; +static char self_domain[4096] = ""; +static pid_t pid = 0; static void clear_status(void) { + static const char *keywords[] = { + "file::execute", + "file::open", + "file::create", + "file::unlink", + "file::mkdir", + "file::rmdir", + "file::mkfifo", + "file::mksock", + "file::truncate", + "file::symlink", + "file::rewrite", + "file::mkblock", + "file::mkchar", + "file::link", + "file::rename", + "file::chmod", + "file::chown", + "file::chgrp", + "file::ioctl", + "file::chroot", + "file::mount", + "file::umount", + "file::pivot_root", + NULL + }; + int i; FILE *fp = fopen(proc_policy_profile, "r"); static char buffer[4096]; if (!fp) { fprintf(stderr, "Can't open %s\n", proc_policy_profile); exit(1); } + for (i = 0; keywords[i]; i++) + fprintf(profile_fp, + "255-CONFIG::%s={ mode=disabled }\n", + keywords[i]); while (memset(buffer, 0, sizeof(buffer)), fgets(buffer, sizeof(buffer) - 10, fp)) { const char *mode; - int v; char *cp = strchr(buffer, '='); if (!cp) continue; @@ -123,61 +154,196 @@ static void clear_status(void) *cp++ = '\0'; if (strcmp(buffer, "0")) continue; + fprintf(profile_fp, "255-%s", cp); if (!strcmp(cp, "COMMENT")) - mode = "=Profile for kernel test"; - else if (sscanf(mode, "%u", &v) == 1) - mode = "=0"; + mode = "Profile for kernel test\n"; else - mode = "=disabled"; - fprintf(fp_profile, "255-%s%s\n", cp, mode); + mode = "{ mode=disabled verbose=no }\n"; + fprintf(profile_fp, "255-%s=%s", cp, mode); } + fprintf(profile_fp, "255-PREFERENCE::learning= verbose=no\n"); + fprintf(profile_fp, "255-PREFERENCE::enforcing= verbose=no\n"); + fprintf(profile_fp, "255-PREFERENCE::permissive= verbose=no\n"); + fprintf(profile_fp, "255-PREFERENCE::disabled= verbose=no\n"); + fprintf(profile_fp, "255-PREFERENCE::learning= max_entry=2048\n"); + fflush(profile_fp); fclose(fp); - fflush(fp_profile); } -static void ccs_test_init(void) +static void tomoyo_test_init(void) { - int fd = open(proc_policy_self_domain, O_RDONLY); - memset(self_domain, 0, sizeof(self_domain)); - read(fd, self_domain, sizeof(self_domain) - 1); - close(fd); - errno = 0; - fp_profile = fopen(proc_policy_profile, "w"); - fp_domain = fopen(proc_policy_domain_policy, "w"); - fp_exception = fopen(proc_policy_exception_policy, "w"); - if (!fp_domain || !fp_exception || !fp_profile) { - if (errno != ENOENT) - fprintf(stderr, "Please run \n" - "# echo 255-MAC_FOR_FILE=disabled | " - "/usr/sbin/ccs-loadpolicy -p\n"); - else - fprintf(stderr, "You can't use this program " - "for this kernel.\n"); + pid = getpid(); + if (access(proc_policy_dir, F_OK)) { + fprintf(stderr, "You can't use this program for this kernel." + "\n"); exit(1); } - if (fwrite("\n", 1, 1, fp_profile) != 1 || fflush(fp_profile)) { - memset(self_domain, 0, sizeof(self_domain)); - readlink("/proc/self/exe", self_domain, - sizeof(self_domain) - 1); - if (self_domain[0] != '/') - snprintf(self_domain, sizeof(self_domain) - 1, - "path_to_this_program"); - fprintf(stderr, "Please do either\n" - "(a) run\n" - " # echo "); - fprintf_encoded(stderr, self_domain); - fprintf(stderr, " >> /etc/tomoyo/manager.conf\n" - " and reboot\n" - "or\n" - "(b) run\n" - " # echo "); - fprintf_encoded(stderr, self_domain); - fprintf(stderr, " | /usr/sbin/ccs-loadpolicy -m\n" - "before running this program.\n"); + profile_fp = fopen(proc_policy_profile, "w"); + if (!profile_fp) { + fprintf(stderr, "Can't open %s .\n", proc_policy_profile); + exit(1); + } + setlinebuf(profile_fp); + domain_fp = fopen(proc_policy_domain_policy, "w"); + if (!domain_fp) { + fprintf(stderr, "Can't open %s .\n", + proc_policy_domain_policy); + exit(1); + } + setlinebuf(domain_fp); + exception_fp = fopen(proc_policy_exception_policy, "w"); + if (!exception_fp) { + fprintf(stderr, "Can't open %s .\n", + proc_policy_exception_policy); + exit(1); + } + setlinebuf(exception_fp); + if (fputc('\n', profile_fp) != '\n' || fflush(profile_fp)) { + fprintf(stderr, "You need to register this program to %s to " + "run this program.\n", proc_policy_manager); exit(1); } clear_status(); - fprintf(fp_domain, "%s\nuse_profile 255\n", self_domain); - fflush(fp_domain); - write_profile("255-TOMOYO_VERBOSE=enabled\n"); + { + FILE *fp = fopen(proc_policy_self_domain, "r"); + memset(self_domain, 0, sizeof(self_domain)); + if (!fp || !fgets(self_domain, sizeof(self_domain) - 1, fp) || + fclose(fp)) { + fprintf(stderr, "Can't open %s .\n", + proc_policy_self_domain); + exit(1); + } + } + fprintf(domain_fp, "select pid=%u\n", pid); + fprintf(domain_fp, "use_profile 255\n"); + fprintf(domain_fp, "allow_read/write /sys/kernel/security/tomoyo/domain_policy\n"); + fprintf(domain_fp, "allow_truncate /sys/kernel/security/tomoyo/domain_policy\n"); + fprintf(domain_fp, "allow_read/write /sys/kernel/security/tomoyo/exception_policy\n"); + fprintf(domain_fp, "allow_truncate /sys/kernel/security/tomoyo/exception_policy\n"); + fprintf(domain_fp, "allow_read/write /sys/kernel/security/tomoyo/profile\n"); + fprintf(domain_fp, "allow_truncate /sys/kernel/security/tomoyo/profile\n"); +} + +static void BUG(const char *fmt, ...) + __attribute__ ((format(printf, 1, 2))); + +static void BUG(const char *fmt, ...) +{ + va_list args; + printf("BUG: "); + va_start(args, fmt); + vprintf(fmt, args); + va_end(args); + putchar('\n'); + fflush(stdout); + while (1) + sleep(100); +} + +static int write_domain_policy(const char *policy, int is_delete) +{ + FILE *fp = fopen(proc_policy_domain_policy, "r"); + char buffer[8192]; + int domain_found = 0; + int policy_found = 0; + memset(buffer, 0, sizeof(buffer)); + if (!fp) { + BUG("Can't read %s", proc_policy_domain_policy); + return 0; + } + if (is_delete) + fprintf(domain_fp, "delete "); + fprintf(domain_fp, "%s\n", policy); + while (fgets(buffer, sizeof(buffer) - 1, fp)) { + char *cp = strchr(buffer, '\n'); + if (cp) + *cp = '\0'; + if (!strncmp(buffer, "<kernel>", 8)) + domain_found = !strcmp(self_domain, buffer); + if (!domain_found) + continue; + /* printf("<%s>\n", buffer); */ + if (strcmp(buffer, policy)) + continue; + policy_found = 1; + break; + } + fclose(fp); + if (policy_found == is_delete) { + BUG("Can't %s %s", is_delete ? "delete" : "append", + policy); + return 0; + } + errno = 0; + return 1; + +} + +static int write_exception_policy(const char *policy, int is_delete) +{ + FILE *fp = fopen(proc_policy_exception_policy, "r"); + char buffer[8192]; + int policy_found = 0; + memset(buffer, 0, sizeof(buffer)); + if (!fp) { + BUG("Can't read %s", proc_policy_exception_policy); + return 0; + } + if (is_delete) + fprintf(exception_fp, "delete "); + fprintf(exception_fp, "%s\n", policy); + while (fgets(buffer, sizeof(buffer) - 1, fp)) { + char *cp = strchr(buffer, '\n'); + if (cp) + *cp = '\0'; + if (strcmp(buffer, policy)) + continue; + policy_found = 1; + break; + } + fclose(fp); + if (policy_found == is_delete) { + BUG("Can't %s %s", is_delete ? "delete" : "append", + policy); + return 0; + } + errno = 0; + return 1; + +} + +static int set_profile(const int mode, const char *name) +{ + static const char *modes[4] = { "disabled", "learning", "permissive", + "enforcing" }; + FILE *fp = fopen(proc_policy_profile, "r"); + char buffer[8192]; + int policy_found = 0; + const int len = strlen(name); + if (!fp) { + BUG("Can't read %s", proc_policy_profile); + return 0; + } + fprintf(profile_fp, "255-CONFIG::%s=%s\n", name, modes[mode]); + while (memset(buffer, 0, sizeof(buffer)), + fgets(buffer, sizeof(buffer) - 1, fp)) { + char *cp = strchr(buffer, '\n'); + if (cp) + *cp = '\0'; + if (strncmp(buffer, "255-CONFIG::", 12) || + strncmp(buffer + 12, name, len) || + buffer[12 + len] != '=') + continue; + if (strstr(buffer + 13 + len, modes[mode])) + policy_found = 1; + break; + } + fclose(fp); + if (!policy_found) { + BUG("Can't change profile to 255-CONFIG::%s=%s", + name, modes[mode]); + return 0; + } + errno = 0; + return 1; } diff --git a/testcases/kernel/security/tomoyo/newns.c b/testcases/kernel/security/tomoyo/newns.c index c170b93..cb93588 100644 --- a/testcases/kernel/security/tomoyo/newns.c +++ b/testcases/kernel/security/tomoyo/newns.c @@ -1,6 +1,6 @@ /******************************************************************************/ /* */ -/* Copyright (c) Tutsi Handa <penguin-kernel@I-love.SAKURA.ne.jp>, 2009 */ +/* Copyright (c) Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>, 2009 */ /* */ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ diff --git a/testcases/kernel/security/tomoyo/testall.sh b/testcases/kernel/security/tomoyo/testall.sh index 3e7049a..325a8d5 100644 --- a/testcases/kernel/security/tomoyo/testall.sh +++ b/testcases/kernel/security/tomoyo/testall.sh @@ -23,7 +23,24 @@ cd ${0%/*} export PATH=$PWD:${PATH} echo "Testing all. (All results are reported)" +newns tomoyo_accept_test +newns tomoyo_filesystem_test newns tomoyo_file_test +newns tomoyo_rewrite_test +newns tomoyo_new_file_test +newns tomoyo_new_test +echo +echo echo echo "Testing all. (Only ERRORS are reported)" -newns tomoyo_file_test | grep -vF OK +newns tomoyo_accept_test | grep -vF Done +newns tomoyo_filesystem_test | grep -vF OK | grep -F '(' +newns tomoyo_file_test | grep -vF OK | grep -F '(' +newns tomoyo_rewrite_test | grep -vF OK | grep -F '(' +newns tomoyo_new_test | grep -vF OK +echo +echo +echo +echo "Testing policy I/O. (Only ERRORS are reported)" +newns tomoyo_policy_io_test | grep -vF OK +newns tomoyo_new_file_test | grep -vF OK diff --git a/testcases/kernel/security/tomoyo/tomoyo_accept_test.c b/testcases/kernel/security/tomoyo/tomoyo_accept_test.c new file mode 100644 index 0000000..1e29505 --- /dev/null +++ b/testcases/kernel/security/tomoyo/tomoyo_accept_test.c @@ -0,0 +1,145 @@ +/******************************************************************************/ +/* This program is free software; you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation; either version 2 of the License, or */ +/* (at your option) any later version. */ +/* */ +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See */ +/* the GNU General Public License for more details. */ +/* */ +/* You should have received a copy of the GNU General Public License */ +/* along with this program; if not, write to the Free Software */ +/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +/* */ +/******************************************************************************/ +/* + * tomoyo_accept_test.c + * + * Testing program for security/tomoyo/ + * + * Copyright (C) 2005-2010 NTT DATA CORPORATION + */ +#include "include.h" + +static void set_level(const int i) +{ + set_profile(i, "file::execute"); + set_profile(i, "file::open"); + set_profile(i, "file::create"); + set_profile(i, "file::unlink"); + set_profile(i, "file::mkdir"); + set_profile(i, "file::rmdir"); + set_profile(i, "file::mkfifo"); + set_profile(i, "file::mksock"); + set_profile(i, "file::truncate"); + set_profile(i, "file::symlink"); + set_profile(i, "file::rewrite"); + set_profile(i, "file::mkblock"); + set_profile(i, "file::mkchar"); + set_profile(i, "file::link"); + set_profile(i, "file::rename"); + set_profile(i, "file::chmod"); + set_profile(i, "file::chown"); + set_profile(i, "file::chgrp"); + set_profile(i, "file::ioctl"); + set_profile(i, "file::chroot"); + set_profile(i, "file::mount"); + set_profile(i, "file::umount"); + set_profile(i, "file::pivot_root"); +} + +static void test(int rw_loop, int truncate_loop, int append_loop, + int create_loop) +{ + static const int rw_flags[4] = { 0, O_RDONLY, O_WRONLY, O_RDWR }; + static const int create_flags[3] = { 0, O_CREAT /* nonexistent*/ , + O_CREAT /* existent */ }; + static const int truncate_flags[2] = { 0, O_TRUNC }; + static const int append_flags[2] = { 0, O_APPEND }; + int level; + int flags; + int i; + int fd; + static char buffer[1024]; + memset(buffer, 0, sizeof(buffer)); + snprintf(buffer, sizeof(buffer) - 1, "/tmp/file:a=%d:t=%d:c=%d:m=%d", + append_loop, truncate_loop, create_loop, rw_loop); + fprintf(exception_fp, "deny_rewrite %s\n", buffer); + flags = rw_flags[rw_loop] | truncate_flags[truncate_loop] | + append_flags[append_loop] | create_flags[create_loop]; + for (i = 1; i < 8; i++) + fprintf(domain_fp, "delete %d %s\n", i, buffer); + for (level = 0; level < 4; level++) { + set_level(0); + if (create_loop == 1) + unlink(buffer); + else + close(open(buffer, O_CREAT, 0644)); + set_level(level); + fd = open(buffer, flags, 0644); + if (fd != EOF) + close(fd); + else + fprintf(stderr, "%d: open(%04o) failed\n", level, + flags); + /* + fd = open(buffer, flags, 0644) + if (fd != EOF) + close(fd); + else + fprintf(stderr, "%d: open(%04o) failed\n", level, flags); + */ + /* + fd = open(buffer, flags, 0644); + if (fd != EOF) + close(fd); + else + fprintf(stderr, "%d: open(%04o) failed\n", level, flags); + */ + } + for (i = 1; i < 8; i++) + fprintf(domain_fp, "delete %d %s\n", i, buffer); + fprintf(domain_fp, "delete allow_truncate %s\n", buffer); + fprintf(domain_fp, "delete allow_create %s 0644\n", buffer); + fprintf(domain_fp, "delete allow_rewrite %s\n", buffer); + fd = open(buffer, flags, 0644); + if (fd != EOF) { + close(fd); + fprintf(stderr, "%d: open(%04o) didn't fail\n", 3, flags); + } +} + +int main(int argc, char *argv[]) +{ + tomoyo_test_init(); + fprintf(profile_fp, "255-PREFERENCE::learning={ verbose=no }\n"); + fprintf(profile_fp, "255-PREFERENCE::enforcing={ verbose=no }\n"); + fprintf(profile_fp, "255-PREFERENCE::permissive={ verbose=no }\n"); + fprintf(profile_fp, "255-PREFERENCE::disabled={ verbose=no }\n"); + set_profile(0, "file"); + fprintf(profile_fp, "255-PREFERENCE::learning={ max_entry=2048 }\n"); + { + int append_loop; + for (append_loop = 0; append_loop < 2; append_loop++) { + int truncate_loop; + for (truncate_loop = 0; truncate_loop < 2; + truncate_loop++) { + int create_loop; + for (create_loop = 0; create_loop < 3; + create_loop++) { + int rw_loop; + for (rw_loop = 0; rw_loop < 4; + rw_loop++) + test(rw_loop, truncate_loop, + append_loop, create_loop); + } + } + } + } + fprintf(profile_fp, "255-CONFIG::file=disabled\n"); + printf("Done\n"); + clear_status(); + return 0; +} diff --git a/testcases/kernel/security/tomoyo/tomoyo_file_test.c b/testcases/kernel/security/tomoyo/tomoyo_file_test.c index ac1dce4..b1fd394 100644 --- a/testcases/kernel/security/tomoyo/tomoyo_file_test.c +++ b/testcases/kernel/security/tomoyo/tomoyo_file_test.c @@ -19,36 +19,35 @@ * * Testing program for security/tomoyo/ * - * Copyright (C) 2005-2009 NTT DATA CORPORATION - * - * Version: 2.2.0 2009/06/23 - * + * Copyright (C) 2005-2010 NTT DATA CORPORATION */ #include "include.h" +static int should_fail = 0; + static void show_prompt(const char *str) { - printf("Testing %35s:", str); + printf("Testing %35s: (%s) ", str, + should_fail ? "must fail" : "should success"); errno = 0; } -static void show_result(int result, int should_success) +static void show_result(int result) { - const int err = errno; - if (should_success) { - if (result != EOF) - printf("OK\n"); - else - printf("%s\n", strerror(err)); - } else { + if (should_fail) { if (result == EOF) { - if (err == EPERM) + if (errno == EPERM) printf("OK: Permission denied.\n"); else - printf("FAILED: %s\n", strerror(err)); + printf("FAILED: %s\n", strerror(errno)); } else { printf("BUG!\n"); } + } else { + if (result != EOF) + printf("OK\n"); + else + printf("%s\n", strerror(errno)); } } @@ -74,7 +73,7 @@ static const char *socket_path = "/tmp/socket_test"; static int ftruncate_fd = EOF; -static void stage_file_test(int res) +static void stage_file_test(void) { int fd; { @@ -83,14 +82,14 @@ static void stage_file_test(int res) int buffer[2] = { 32768, 61000 }; size_t size = sizeof(buffer); show_prompt("sysctl(READ)"); - show_result(sysctl(name, 3, buffer, &size, 0, 0), res); + show_result(sysctl(name, 3, buffer, &size, 0, 0)); show_prompt("sysctl(WRITE)"); - show_result(sysctl(name, 3, 0, 0, buffer, size), res); + show_result(sysctl(name, 3, 0, 0, buffer, size)); } /* QUESTION: Is there a file which can be passed to uselib()? */ show_prompt("uselib()"); - show_result(uselib("/bin/true"), res); + show_result(uselib("/bin/true")); { int pipe_fd[2] = { EOF, EOF }; @@ -108,77 +107,77 @@ static void stage_file_test(int res) read(pipe_fd[0], &err, sizeof(err)); show_prompt("execve()"); errno = err; - show_result(err ? EOF : 0, res); + show_result(err ? EOF : 0); } show_prompt("open(O_RDONLY)"); fd = open(dev_null_path, O_RDONLY); - show_result(fd, res); + show_result(fd); if (fd != EOF) close(fd); show_prompt("open(O_WRONLY)"); fd = open(dev_null_path, O_WRONLY); - show_result(fd, res); + show_result(fd); if (fd != EOF) close(fd); show_prompt("open(O_RDWR)"); fd = open(dev_null_path, O_RDWR); - show_result(fd, res); + show_result(fd); if (fd != EOF) close(fd); show_prompt("open(O_CREAT | O_EXCL)"); fd = open(open_creat_path, O_CREAT | O_EXCL, 0666); - show_result(fd, res); + show_result(fd); if (fd != EOF) close(fd); show_prompt("open(O_TRUNC)"); fd = open(truncate_path, O_TRUNC); - show_result(fd, res); + show_result(fd); if (fd != EOF) close(fd); show_prompt("truncate()"); - show_result(truncate(truncate_path, 0), res); + show_result(truncate(truncate_path, 0)); show_prompt("ftruncate()"); - show_result(ftruncate(ftruncate_fd, 0), res); + show_result(ftruncate(ftruncate_fd, 0)); show_prompt("mknod(S_IFREG)"); - show_result(mknod(mknod_reg_path, S_IFREG, 0), res); + show_result(mknod(mknod_reg_path, S_IFREG, 0)); show_prompt("mknod(S_IFCHR)"); - show_result(mknod(mknod_chr_path, S_IFCHR, MKDEV(1, 3)), res); + show_result(mknod(mknod_chr_path, S_IFCHR, MKDEV(1, 3))); show_prompt("mknod(S_IFBLK)"); - show_result(mknod(mknod_blk_path, S_IFBLK, MKDEV(1, 0)), res); + show_result(mknod(mknod_blk_path, S_IFBLK, MKDEV(1, 0))); show_prompt("mknod(S_IFIFO)"); - show_result(mknod(mknod_fifo_path, S_IFIFO, 0), res); + show_result(mknod(mknod_fifo_path, S_IFIFO, 0)); show_prompt("mknod(S_IFSOCK)"); - show_result(mknod(mknod_sock_path, S_IFSOCK, 0), res); + show_result(mknod(mknod_sock_path, S_IFSOCK, 0)); show_prompt("mkdir()"); - show_result(mkdir(mkdir_path, 0600), res); + show_result(mkdir(mkdir_path, 0600)); show_prompt("rmdir()"); - show_result(rmdir(rmdir_path), res); + show_result(rmdir(rmdir_path)); show_prompt("unlink()"); - show_result(unlink(unlink_path), res); + show_result(unlink(unlink_path)); show_prompt("symlink()"); - show_result(symlink(symlink_dest_path, symlink_source_path), res); + show_result(symlink(symlink_dest_path, symlink_source_path)); show_prompt("link()"); - show_result(link(link_source_path, link_dest_path), res); + show_result(link(link_source_path, link_dest_path)); show_prompt("rename()"); - show_result(rename(rename_source_path, rename_dest_path), res); + show_result(rename(rename_source_path, rename_dest_path)); { struct sockaddr_un addr; @@ -188,8 +187,7 @@ static void stage_file_test(int res) strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path) - 1); fd = socket(AF_UNIX, SOCK_STREAM, 0); show_prompt("unix_bind()"); - show_result(bind(fd, (struct sockaddr *) &addr, sizeof(addr)), - res); + show_result(bind(fd, (struct sockaddr *) &addr, sizeof(addr))); if (fd != EOF) close(fd); } @@ -232,861 +230,77 @@ static void creanup_files(void) static void set_file_enforce(int enforce) { - if (enforce) - write_profile("255-MAC_FOR_FILE=enforcing\n"); - else - write_profile("255-MAC_FOR_FILE=permissive\n"); -} - -static const char *policy = ""; - -static int write_policy(void) -{ - FILE *fp; - char buffer[8192]; - char *cp; - int domain_found = 0; - int policy_found = 0; - memset(buffer, 0, sizeof(buffer)); - write_profile("255-MAC_FOR_FILE=disabled\n"); - fp = fopen(proc_policy_domain_policy, "r"); - write_profile("255-MAC_FOR_FILE=enforcing\n"); - fprintf(fp_domain, "%s\n", policy); - fflush(fp_domain); - if (!fp) { - printf("%s : BUG: policy read failed\n", policy); - return 0; - } - while (fgets(buffer, sizeof(buffer) - 1, fp)) { - cp = strchr(buffer, '\n'); - if (cp) - *cp = '\0'; - if (!strncmp(buffer, "<kernel>", 8)) - domain_found = !strcmp(self_domain, buffer); - if (domain_found) { - /* printf("<%s>\n", buffer); */ - if (!strcmp(buffer, policy)) { - policy_found = 1; - break; - } - } - } - fclose(fp); - if (!policy_found) { - printf("%s : BUG: policy write failed\n", policy); - return 0; - } - errno = 0; - return 1; -} - -static void delete_policy(void) -{ - fprintf(fp_domain, "delete %s\n", policy); - fflush(fp_domain); - errno = 0; -} - -static void show_result2(int result, char should_success) -{ - int err = errno; - printf("%s : ", policy); - if (should_success) { - if (result != EOF) - printf("OK\n"); - else - printf("FAILED: %s\n", strerror(err)); + if (enforce) { + set_profile(3, "file::execute"); + set_profile(3, "file::open"); + set_profile(3, "file::create"); + set_profile(3, "file::unlink"); + set_profile(3, "file::mkdir"); + set_profile(3, "file::rmdir"); + set_profile(3, "file::mkfifo"); + set_profile(3, "file::mksock"); + set_profile(3, "file::truncate"); + set_profile(3, "file::symlink"); + set_profile(3, "file::rewrite"); + set_profile(3, "file::mkblock"); + set_profile(3, "file::mkchar"); + set_profile(3, "file::link"); + set_profile(3, "file::rename"); + set_profile(3, "file::chmod"); + set_profile(3, "file::chown"); + set_profile(3, "file::chgrp"); + set_profile(3, "file::ioctl"); + set_profile(3, "file::chroot"); + set_profile(3, "file::mount"); + set_profile(3, "file::umount"); + set_profile(3, "file::pivot_root"); } else { - if (result == EOF) { - if (err == EPERM) - printf("OK: Permission denied.\n"); - else - printf("FAILED: %s\n", strerror(err)); - } else { - printf("BUG: didn't fail.\n"); - } + set_profile(0, "file::execute"); + set_profile(0, "file::open"); + set_profile(0, "file::create"); + set_profile(0, "file::unlink"); + set_profile(0, "file::mkdir"); + set_profile(0, "file::rmdir"); + set_profile(0, "file::mkfifo"); + set_profile(0, "file::mksock"); + set_profile(0, "file::truncate"); + set_profile(0, "file::symlink"); + set_profile(0, "file::rewrite"); + set_profile(0, "file::mkblock"); + set_profile(0, "file::mkchar"); + set_profile(0, "file::link"); + set_profile(0, "file::rename"); + set_profile(0, "file::chmod"); + set_profile(0, "file::chown"); + set_profile(0, "file::chgrp"); + set_profile(0, "file::ioctl"); + set_profile(0, "file::chroot"); + set_profile(0, "file::mount"); + set_profile(0, "file::umount"); + set_profile(0, "file::pivot_root"); } } -static void create2(const char *pathname) -{ - write_profile("255-MAC_FOR_FILE=disabled\n"); - close(creat(pathname, 0600)); - write_profile("255-MAC_FOR_FILE=enforcing\n"); - errno = 0; -} - -static void mkdir2(const char *pathname) -{ - write_profile("255-MAC_FOR_FILE=disabled\n"); - mkdir(pathname, 0600); - write_profile("255-MAC_FOR_FILE=enforcing\n"); - errno = 0; -} - -static void unlink2(const char *pathname) -{ - write_profile("255-MAC_FOR_FILE=disabled\n"); - unlink(pathname); - write_profile("255-MAC_FOR_FILE=enforcing\n"); - errno = 0; -} - -static void rmdir2(const char *pathname) -{ - write_profile("255-MAC_FOR_FILE=disabled\n"); - rmdir(pathname); - write_profile("255-MAC_FOR_FILE=enforcing\n"); - errno = 0; -} - -static void mkfifo2(const char *pathname) -{ - write_profile("255-MAC_FOR_FILE=disabled\n"); - mkfifo(pathname, 0600); - write_profile("255-MAC_FOR_FILE=enforcing\n"); - errno = 0; -} - -static void stage_file_test2(void) -{ - char *filename = ""; - policy = "allow_read /proc/sys/net/ipv4/ip_local_port_range"; - if (write_policy()) { - static int name[] = { CTL_NET, NET_IPV4, - NET_IPV4_LOCAL_PORT_RANGE }; - int buffer[2] = { 32768, 61000 }; - size_t size = sizeof(buffer); - show_result2(sysctl(name, 3, buffer, &size, 0, 0), 1); - delete_policy(); - show_result2(sysctl(name, 3, buffer, &size, 0, 0), 0); - } - policy = "allow_write /proc/sys/net/ipv4/ip_local_port_range"; - if (write_policy()) { - static int name[] = { CTL_NET, NET_IPV4, - NET_IPV4_LOCAL_PORT_RANGE }; - int buffer[2] = { 32768, 61000 }; - size_t size = sizeof(buffer); - show_result2(sysctl(name, 3, 0, 0, buffer, size), 1); - delete_policy(); - show_result2(sysctl(name, 3, 0, 0, buffer, size), 0); - } - policy = "allow_read/write /proc/sys/net/ipv4/ip_local_port_range"; - if (write_policy()) { - static int name[] = { CTL_NET, NET_IPV4, - NET_IPV4_LOCAL_PORT_RANGE }; - int buffer[2] = { 32768, 61000 }; - size_t size = sizeof(buffer); - show_result2(sysctl(name, 3, buffer, &size, buffer, size), 1); - delete_policy(); - show_result2(sysctl(name, 3, buffer, &size, buffer, size), 0); - } - - policy = "allow_read /bin/true"; - if (write_policy()) { - show_result2(uselib("/bin/true"), 1); - delete_policy(); - show_result2(uselib("/bin/true"), 0); - } - - policy = "allow_execute /bin/true"; - if (write_policy()) { - int pipe_fd[2] = { EOF, EOF }; - int err = 0; - fflush(stdout); - fflush(stderr); - pipe(pipe_fd); - if (fork() == 0) { - execl("/bin/true", "/bin/true", NULL); - err = errno; - write(pipe_fd[1], &err, sizeof(err)); - _exit(0); - } - close(pipe_fd[1]); - read(pipe_fd[0], &err, sizeof(err)); - close(pipe_fd[0]); - wait(NULL); - errno = err; - show_result2(err ? EOF : 0, 1); - delete_policy(); - fflush(stdout); - fflush(stderr); - pipe(pipe_fd); - if (fork() == 0) { - execl("/bin/true", "/bin/true", NULL); - err = errno; - write(pipe_fd[1], &err, sizeof(err)); - _exit(0); - } - close(pipe_fd[1]); - read(pipe_fd[0], &err, sizeof(err)); - close(pipe_fd[0]); - wait(NULL); - errno = err; - show_result2(err ? EOF : 0, 0); - } - - policy = "allow_read /dev/null"; - if (write_policy()) { - int fd = open("/dev/null", O_RDONLY); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open("/dev/null", O_RDONLY); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - - policy = "allow_read /dev/null"; - if (write_policy()) { - int fd = open("/dev/null", O_RDONLY); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open("/dev/null", O_RDONLY); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - - policy = "allow_read /dev/null"; - if (write_policy()) { - int fd = open("/dev/null", O_RDONLY); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open("/dev/null", O_RDONLY); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - - policy = "allow_read /dev/null"; - if (write_policy()) { - int fd = open("/dev/null", O_RDONLY); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open("/dev/null", O_RDONLY); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - - policy = "allow_mkfifo /tmp/mknod_fifo_test"; - if (write_policy()) { - filename = "/tmp/mknod_fifo_test"; - show_result2(mknod(filename, S_IFIFO, 0), 1); - delete_policy(); - unlink2(filename); - show_result2(mknod(filename, S_IFIFO, 0), 0); - } - - { - char buffer[1024]; - struct stat sbuf; - memset(buffer, 0, sizeof(buffer)); - memset(&sbuf, 0, sizeof(sbuf)); - filename = "/dev/null"; - stat(filename, &sbuf); - snprintf(buffer, sizeof(buffer) - 1, "allow_write %s", - filename); - policy = buffer; - if (write_policy()) { - int fd = open(filename, O_WRONLY); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open(filename, O_WRONLY); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - } - - policy = "allow_read/write /tmp/fifo"; - mkfifo2("/tmp/fifo"); - if (write_policy()) { - int fd = open("/tmp/fifo", O_RDWR); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open("/tmp/fifo", O_RDWR); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - - policy = "allow_read /dev/null"; - if (write_policy()) { - int fd = open("/dev/null", O_RDONLY); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open("/dev/null", O_RDONLY); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - - policy = "allow_write /dev/null"; - if (write_policy()) { - int fd = open("/dev/null", O_WRONLY); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open("/dev/null", O_WRONLY); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - - policy = "allow_read/write /dev/null"; - if (write_policy()) { - int fd = open("/dev/null", O_RDWR); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open("/dev/null", O_RDWR); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - - policy = "allow_create /tmp/open_test"; - if (write_policy()) { - policy = "allow_write /tmp/open_test"; - if (write_policy()) { - int fd = open("/tmp/open_test", - O_WRONLY | O_CREAT | O_EXCL, 0666); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - unlink2("/tmp/open_test"); - delete_policy(); - fd = open("/tmp/open_test", - O_WRONLY | O_CREAT | O_EXCL, 0666); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - unlink2("/tmp/open_test"); - } - policy = "allow_create /tmp/open_test"; - delete_policy(); - } - - policy = "allow_write /tmp/open_test"; - if (write_policy()) { - policy = "allow_create /tmp/open_test"; - if (write_policy()) { - int fd = open("/tmp/open_test", - O_WRONLY | O_CREAT | O_EXCL, 0666); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - unlink2("/tmp/open_test"); - delete_policy(); - fd = open("/tmp/open_test", - O_WRONLY | O_CREAT | O_EXCL, 0666); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - unlink2("/tmp/open_test"); - } - policy = "allow_write /tmp/open_test"; - delete_policy(); - } - - filename = "/tmp/truncate_test"; - create2(filename); - - policy = "allow_truncate /tmp/truncate_test"; - if (write_policy()) { - policy = "allow_write /tmp/truncate_test"; - if (write_policy()) { - int fd = open(filename, O_WRONLY | O_TRUNC); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open(filename, O_WRONLY | O_TRUNC); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - policy = "allow_truncate /tmp/truncate_test"; - delete_policy(); - } - - policy = "allow_write /tmp/truncate_test"; - if (write_policy()) { - policy = "allow_truncate /tmp/truncate_test"; - if (write_policy()) { - int fd = open(filename, O_WRONLY | O_TRUNC); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - delete_policy(); - fd = open(filename, O_WRONLY | O_TRUNC); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - } - policy = "allow_write /tmp/truncate_test"; - delete_policy(); - } - - policy = "allow_truncate /tmp/truncate_test"; - if (write_policy()) { - show_result2(truncate(filename, 0), 1); - delete_policy(); - show_result2(truncate(filename, 0), 0); - } - - policy = "allow_truncate /tmp/truncate_test"; - if (write_policy()) { - int fd; - write_profile("255-MAC_FOR_FILE=disabled\n"); - fd = open(filename, O_WRONLY); - write_profile("255-MAC_FOR_FILE=enforcing\n"); - errno = 0; - show_result2(ftruncate(fd, 0), 1); - delete_policy(); - show_result2(ftruncate(fd, 0), 0); - if (fd != EOF) - close(fd); - } - - unlink2(filename); - - policy = "allow_create /tmp/mknod_reg_test"; - if (write_policy()) { - filename = "/tmp/mknod_reg_test"; - show_result2(mknod(filename, S_IFREG, 0), 1); - delete_policy(); - unlink2(filename); - show_result2(mknod(filename, S_IFREG, 0), 0); - } - - policy = "allow_mkchar /tmp/mknod_chr_test"; - if (write_policy()) { - filename = "/tmp/mknod_chr_test"; - show_result2(mknod(filename, S_IFCHR, MKDEV(1, 3)), 1); - delete_policy(); - unlink2(filename); - show_result2(mknod(filename, S_IFCHR, MKDEV(1, 3)), 0); - } - - policy = "allow_mkblock /tmp/mknod_blk_test"; - if (write_policy()) { - filename = "/tmp/mknod_blk_test"; - show_result2(mknod(filename, S_IFBLK, MKDEV(1, 0)), 1); - delete_policy(); - unlink2(filename); - show_result2(mknod(filename, S_IFBLK, MKDEV(1, 0)), 0); - } - - policy = "allow_mkfifo /tmp/mknod_fifo_test"; - if (write_policy()) { - filename = "/tmp/mknod_fifo_test"; - show_result2(mknod(filename, S_IFIFO, 0), 1); - delete_policy(); - unlink2(filename); - show_result2(mknod(filename, S_IFIFO, 0), 0); - } - - policy = "allow_mksock /tmp/mknod_sock_test"; - if (write_policy()) { - filename = "/tmp/mknod_sock_test"; - show_result2(mknod(filename, S_IFSOCK, 0), 1); - delete_policy(); - unlink2(filename); - show_result2(mknod(filename, S_IFSOCK, 0), 0); - } - - policy = "allow_mkdir /tmp/mkdir_test/"; - if (write_policy()) { - filename = "/tmp/mkdir_test"; - show_result2(mkdir(filename, 0600), 1); - delete_policy(); - rmdir2(filename); - show_result2(mkdir(filename, 0600), 0); - } - - policy = "allow_rmdir /tmp/rmdir_test/"; - if (write_policy()) { - filename = "/tmp/rmdir_test"; - mkdir2(filename); - show_result2(rmdir(filename), 1); - delete_policy(); - mkdir2(filename); - show_result2(rmdir(filename), 0); - rmdir2(filename); - } - - policy = "allow_unlink /tmp/unlink_test"; - if (write_policy()) { - filename = "/tmp/unlink_test"; - create2(filename); - show_result2(unlink(filename), 1); - delete_policy(); - create2(filename); - show_result2(unlink(filename), 0); - unlink2(filename); - } - - policy = "allow_symlink /tmp/symlink_source_test"; - if (write_policy()) { - filename = "/tmp/symlink_source_test"; - show_result2(symlink("/tmp/symlink_dest_test", filename), 1); - delete_policy(); - unlink2(filename); - show_result2(symlink("/tmp/symlink_dest_test", filename), 0); - } - - policy = "allow_link /tmp/link_source_test /tmp/link_dest_test"; - if (write_policy()) { - filename = "/tmp/link_source_test"; - create2(filename); - show_result2(link(filename, "/tmp/link_dest_test"), 1); - delete_policy(); - unlink2("/tmp/link_dest_test"); - show_result2(link(filename, "/tmp/link_dest_test"), 0); - unlink2(filename); - } - - policy = "allow_rename /tmp/rename_source_test /tmp/rename_dest_test"; - if (write_policy()) { - filename = "/tmp/rename_source_test"; - create2(filename); - show_result2(rename(filename, "/tmp/rename_dest_test"), 1); - delete_policy(); - unlink2("/tmp/rename_dest_test"); - create2(filename); - show_result2(rename(filename, "/tmp/rename_dest_test"), 0); - unlink2(filename); - } - - policy = "allow_mksock /tmp/socket_test"; - if (write_policy()) { - struct sockaddr_un addr; - int fd; - filename = "/tmp/socket_test"; - memset(&addr, 0, sizeof(addr)); - addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, filename, sizeof(addr.sun_path) - 1); - fd = socket(AF_UNIX, SOCK_STREAM, 0); - show_result2(bind(fd, (struct sockaddr *) &addr, sizeof(addr)), - 1); - if (fd != EOF) - close(fd); - delete_policy(); - unlink2(filename); - fd = socket(AF_UNIX, SOCK_STREAM, 0); - show_result2(bind(fd, (struct sockaddr *) &addr, sizeof(addr)), - 0); - if (fd != EOF) - close(fd); - } - - filename = "/tmp/rewrite_test"; - create2(filename); - policy = "allow_read/write /tmp/rewrite_test"; - if (write_policy()) { - fprintf(fp_exception, "deny_rewrite /tmp/rewrite_test\n"); - fflush(fp_exception); - policy = "allow_truncate /tmp/rewrite_test"; - if (write_policy()) { - int fd; - - fd = open(filename, O_RDONLY); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - - fd = open(filename, O_WRONLY | O_APPEND); - show_result2(fd, 1); - if (fd != EOF) - close(fd); - - fd = open(filename, O_WRONLY); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - - fd = open(filename, O_WRONLY | O_TRUNC); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - - fd = open(filename, O_WRONLY | O_TRUNC | O_APPEND); - show_result2(fd, 0); - if (fd != EOF) - close(fd); - - show_result2(truncate(filename, 0), 0); - - write_profile("255-MAC_FOR_FILE=disabled\n"); - fd = open(filename, O_WRONLY | O_APPEND); - write_profile("255-MAC_FOR_FILE=enforcing\n"); - show_result2(ftruncate(fd, 0), 0); - show_result2(fcntl(fd, F_SETFL, - fcntl(fd, F_GETFL) & ~O_APPEND), 0); - if (fd != EOF) - close(fd); - - delete_policy(); - } - policy = "allow_read/write /tmp/rewrite_test"; - delete_policy(); - fprintf(fp_exception, "delete deny_rewrite " - "/tmp/rewrite_test\n"); - fflush(fp_exception); - - } - unlink2(filename); -} - -static void add_domain_policy(const char *data) -{ - set_file_enforce(0); - fprintf(fp_domain, "%s\n", self_domain); - fprintf(fp_domain, "%s\n", data); - fflush(fp_domain); -} - -static void add_exception_policy(const char *data) -{ - set_file_enforce(0); - fprintf(fp_exception, "%s\n", data); - fflush(fp_exception); -} - -#define REWRITE_PATH "/tmp/rewrite_test" - -static void stage_rewrite_test(void) -{ - int fd; - - /* Start up */ - add_domain_policy("allow_read/write " REWRITE_PATH); - add_domain_policy("allow_truncate " REWRITE_PATH); - add_domain_policy("allow_create " REWRITE_PATH); - add_domain_policy("allow_unlink " REWRITE_PATH); - add_exception_policy("deny_rewrite " REWRITE_PATH); - close(open(REWRITE_PATH, O_WRONLY | O_APPEND | O_CREAT, 0600)); - - /* Enforce mode */ - set_file_enforce(1); - - show_prompt("open(O_RDONLY)"); - fd = open(REWRITE_PATH, O_RDONLY); - show_result(fd, 1); - close(fd); - - show_prompt("open(O_WRONLY | O_APPEND)"); - fd = open(REWRITE_PATH, O_WRONLY | O_APPEND); - show_result(fd, 1); - close(fd); - - show_prompt("open(O_WRONLY)"); - fd = open(REWRITE_PATH, O_WRONLY); - show_result(fd, 0); - close(fd); - - show_prompt("open(O_WRONLY | O_TRUNC)"); - fd = open(REWRITE_PATH, O_WRONLY | O_TRUNC); - show_result(fd, 0); - close(fd); - - show_prompt("open(O_WRONLY | O_TRUNC | O_APPEND)"); - fd = open(REWRITE_PATH, O_WRONLY | O_TRUNC | O_APPEND); - show_result(fd, 0); - close(fd); - - show_prompt("truncate()"); - show_result(truncate(REWRITE_PATH, 0), 0); - - fd = open(REWRITE_PATH, O_WRONLY | O_APPEND); - show_prompt("ftruncate()"); - show_result(ftruncate(fd, 0), 0); - - show_prompt("fcntl(F_SETFL, ~O_APPEND)"); - show_result(fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) & ~O_APPEND), 0); - close(fd); - - /* Permissive mode */ - set_file_enforce(0); - - show_prompt("open(O_RDONLY)"); - fd = open(REWRITE_PATH, O_RDONLY); - show_result(fd, 1); - close(fd); - - show_prompt("open(O_WRONLY | O_APPEND)"); - fd = open(REWRITE_PATH, O_WRONLY | O_APPEND); - show_result(fd, 1); - close(f... [truncated message content] |
From: Garrett C. <ris...@li...> - 2010-06-20 09:01:38
|
The branch, pu, has been updated via 80886b520423c015b63cff03082e274147042243 (commit) via 19e651c5f005cf41dd389c355e0b07026a83b109 (commit) via 2688873039bfd1dfc3be6e4e31825f2cb2138dab (commit) via 43a55491eba9e454cd92d68483940d79c5a06085 (commit) via 4e033cabfa09864892d94cbe14a670778544fb41 (commit) via 99d7ea515b14badb9d5f9c9abdd3103925589440 (commit) via 13df35ed04f6d7b1fa9fb00697899143bffada9f (commit) via c5c1f1f1007dc7c31c5abd134ae11e16989f0a96 (commit) via 6617a67f10a8d068b96fdcf771026fc2aec05eed (commit) via 627ae2deaa27171508b292f62c7436931a731b4d (commit) via 77475d61707503672062bac3ecbc22c80753f2d1 (commit) from b914cb45c1dac557b89618e93719a9f217cfcb1c (commit) - Log ----------------------------------------------------------------- commit 80886b520423c015b63cff03082e274147042243 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 01:56:25 2010 -0700 Fix POSIX compliancy of these testcases. Most of these testcases had issues building on FreeBSD dealing with missing headers and a few glibc ones (features.h). There are still a few outstanding build related issues, but those will be worked out shortly with a bit more research. Signed-off-by: Garrett Cooper <yan...@gm...> commit 19e651c5f005cf41dd389c355e0b07026a83b109 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 01:44:09 2010 -0700 Fix test POSIX compliancy and style. Signed-off-by: Garrett Cooper <yan...@gm...> commit 2688873039bfd1dfc3be6e4e31825f2cb2138dab Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 01:24:13 2010 -0700 Fix compile with -std=c99. Signed-off-by: Garrett Cooper <yan...@gm...> commit 43a55491eba9e454cd92d68483940d79c5a06085 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 00:34:55 2010 -0700 Remove Linux header #include. Signed-off-by: Garrett Cooper <yan...@gm...> commit 4e033cabfa09864892d94cbe14a670778544fb41 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 00:30:44 2010 -0700 Get rid of BSD-isms and HPUXisms. If _SC_NPROCESSORS_ONLN isn't available, then no dice on the test. Signed-off-by: Garrett Cooper <yan...@gm...> commit 99d7ea515b14badb9d5f9c9abdd3103925589440 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 00:16:57 2010 -0700 Fix POSIX compliance and compile. There were missing symbols and other fun junk (warnings related) that needed fixing. Signed-off-by: Garrett Cooper <yan...@gm...> commit 13df35ed04f6d7b1fa9fb00697899143bffada9f Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 19 23:43:00 2010 -0700 Fix POSIX compliance issues. *rlimit and crew require sys/resource.h. Fix a missing header for exit(3) too. Signed-off-by: Garrett Cooper <yan...@gm...> commit c5c1f1f1007dc7c31c5abd134ae11e16989f0a96 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 19 23:22:30 2010 -0700 Fix POSIX compliance issue. size_t is defined in sys/types.h . See the following page for more details: http://opengroup.org/onlinepubs/007908799/xsh/systypes.h.html Signed-off-by: Garrett Cooper <yan...@gm...> commit 6617a67f10a8d068b96fdcf771026fc2aec05eed Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 19 23:18:37 2010 -0700 Fix POSIX compliance issue. Under http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap02.html it says: If the symbolic constant _POSIX_SPORADIC_SERVER is defined, then the symbolic constant _POSIX_PRIORITY_SCHEDULING shall also be defined by the implementation to have the value 200112L. Signed-off-by: Garrett Cooper <yan...@gm...> commit 627ae2deaa27171508b292f62c7436931a731b4d Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 19 22:02:50 2010 -0700 Fix missing #include <signal.h> header. All of the tests were missing signal.h and were calling up sigaction(2), which is broken on non-Linux OSes due to other headers most likely including signal.h somewhere... Signed-off-by: Garrett Cooper <yan...@gm...> commit 77475d61707503672062bac3ecbc22c80753f2d1 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 19 21:57:27 2010 -0700 Add -lrt to LDLIBS because it's a req on BSD. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/GNUmakefile | 2 + .../conformance/definitions/sched_h/10-1.c | 2 +- .../conformance/definitions/signal_h/19-1.c | 3 +- .../conformance/definitions/signal_h/23-1.c | 2 +- .../conformance/definitions/signal_h/26-1.c | 3 +- .../conformance/interfaces/aio_read/1-1.c | 10 +- .../conformance/interfaces/aio_read/15-1.c | 5 +- .../conformance/interfaces/aio_read/9-1.c | 11 +- .../conformance/interfaces/aio_return/2-1.c | 11 +- .../conformance/interfaces/aio_return/4-1.c | 11 +- .../conformance/interfaces/aio_suspend/1-1.c | 11 +- .../conformance/interfaces/aio_suspend/4-1.c | 11 +- .../conformance/interfaces/aio_suspend/6-1.c | 11 +- .../conformance/interfaces/aio_suspend/7-1.c | 11 +- .../conformance/interfaces/aio_suspend/8-1.c | 11 +- .../conformance/interfaces/aio_suspend/9-1.c | 11 +- .../conformance/interfaces/aio_write/7-1.c | 11 +- .../conformance/interfaces/fork/19-1.c | 19 ++-- .../conformance/interfaces/lio_listio/1-1.c | 12 +- .../conformance/interfaces/lio_listio/10-1.c | 12 +- .../conformance/interfaces/lio_listio/11-1.c | 12 +- .../conformance/interfaces/lio_listio/12-1.c | 10 +- .../conformance/interfaces/lio_listio/13-1.c | 11 +- .../conformance/interfaces/lio_listio/14-1.c | 12 +- .../conformance/interfaces/lio_listio/15-1.c | 12 +- .../conformance/interfaces/lio_listio/16-1.c | 10 +- .../conformance/interfaces/lio_listio/17-1.c | 8 +- .../conformance/interfaces/lio_listio/18-1.c | 11 +- .../conformance/interfaces/lio_listio/19-1.c | 10 +- .../conformance/interfaces/lio_listio/2-1.c | 12 +- .../conformance/interfaces/lio_listio/3-1.c | 12 +- .../conformance/interfaces/lio_listio/4-1.c | 12 +- .../conformance/interfaces/lio_listio/7-1.c | 14 +- .../conformance/interfaces/lio_listio/9-1.c | 13 +- .../conformance/interfaces/mmap/11-2.c | 11 +- .../conformance/interfaces/mmap/11-3.c | 12 +- .../conformance/interfaces/mmap/6-1.c | 13 +- .../conformance/interfaces/mmap/6-2.c | 13 +- .../conformance/interfaces/mmap/6-3.c | 13 +- .../conformance/interfaces/mmap/6-5.c | 2 +- .../conformance/interfaces/mmap/6-6.c | 2 +- .../conformance/interfaces/mq_notify/2-1.c | 7 +- .../conformance/interfaces/mq_notify/3-1.c | 7 +- .../conformance/interfaces/mq_notify/5-1.c | 7 +- .../conformance/interfaces/mq_notify/9-1.c | 9 +- .../conformance/interfaces/mq_open/16-1.c | 11 +- .../conformance/interfaces/mq_open/2-1.c | 11 +- .../conformance/interfaces/mq_open/7-2.c | 11 +- .../conformance/interfaces/mq_open/8-2.c | 11 +- .../conformance/interfaces/mq_open/9-2.c | 11 +- .../conformance/interfaces/mq_receive/11-1.c | 12 +- .../conformance/interfaces/mq_receive/13-1.c | 15 +- .../conformance/interfaces/mq_timedreceive/18-1.c | 11 +- .../conformance/interfaces/mq_timedreceive/18-2.c | 13 +- .../conformance/interfaces/mq_timedreceive/5-2.c | 11 +- .../conformance/interfaces/mq_timedreceive/5-3.c | 13 +- .../conformance/interfaces/mq_timedreceive/8-1.c | 11 +- .../conformance/interfaces/munmap/1-1.c | 11 +- .../conformance/interfaces/munmap/1-2.c | 11 +- .../pthread_key_create/speculative/5-1.c | 9 +- .../conformance/interfaces/pthread_once/3-1.c | 7 +- .../conformance/interfaces/pthread_once/6-1.c | 148 ++++++++++---------- .../interfaces/pthread_rwlockattr_getpshared/2-1.c | 9 +- .../conformance/interfaces/pthread_spin_init/2-1.c | 9 +- .../conformance/interfaces/pthread_spin_init/2-2.c | 11 +- .../conformance/interfaces/sched_yield/1-1.c | 40 +----- .../conformance/interfaces/sem_timedwait/3-1.c | 10 +- .../conformance/interfaces/sem_timedwait/7-1.c | 12 +- .../conformance/interfaces/sigtimedwait/4-1.c | 3 +- .../interfaces/timer_getoverrun/speculative/6-2.c | 7 +- .../interfaces/timer_getoverrun/speculative/6-3.c | 5 +- .../interfaces/timer_settime/speculative/12-2.c | 5 +- testcases/open_posix_testsuite/include/posixtest.h | 7 + 73 files changed, 468 insertions(+), 412 deletions(-) diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile index 35d058f..637a821 100644 --- a/testcases/open_posix_testsuite/GNUmakefile +++ b/testcases/open_posix_testsuite/GNUmakefile @@ -31,6 +31,8 @@ LOGFILE = $(top_builddir)/logfile LDFLAGS := $(shell cat LDFLAGS | grep -v \^\#) +LDLIBS= -lrt + RUN_TESTS := $(shell $(top_builddir)/locate-test \ --execs $(top_builddir)/$(POSIX_TARGET)) BUILD_TESTS := $(shell $(top_builddir)/locate-test \ diff --git a/testcases/open_posix_testsuite/conformance/definitions/sched_h/10-1.c b/testcases/open_posix_testsuite/conformance/definitions/sched_h/10-1.c index 179a502..bcf497c 100644 --- a/testcases/open_posix_testsuite/conformance/definitions/sched_h/10-1.c +++ b/testcases/open_posix_testsuite/conformance/definitions/sched_h/10-1.c @@ -28,7 +28,7 @@ struct unique { { SCHED_RR, "SCHED_RR" }, -#if defined(_POSIX_SPORADIC_SERVER) || defined(_POSIX_THREAD_SPORADIC_SERVER) +#if defined(_POSIX_SPORADIC_SERVER) && _POSIX_THREAD_SPORADIC_SERVER == 200112L { SCHED_SPORADIC,"SCHED_SPORADIC" }, diff --git a/testcases/open_posix_testsuite/conformance/definitions/signal_h/19-1.c b/testcases/open_posix_testsuite/conformance/definitions/signal_h/19-1.c index 51ea611..817fae1 100644 --- a/testcases/open_posix_testsuite/conformance/definitions/signal_h/19-1.c +++ b/testcases/open_posix_testsuite/conformance/definitions/signal_h/19-1.c @@ -2,6 +2,7 @@ Test the definition of stack_t. */ +#include <sys/types.h> #include <signal.h> stack_t this_type_should_exist, t; @@ -9,7 +10,7 @@ void *sp; size_t size; int flags; -int dummyfcn (void) +int main(void) { sp = t.ss_sp; size = t.ss_size; diff --git a/testcases/open_posix_testsuite/conformance/definitions/signal_h/23-1.c b/testcases/open_posix_testsuite/conformance/definitions/signal_h/23-1.c index 4d67493..c3e6279 100644 --- a/testcases/open_posix_testsuite/conformance/definitions/signal_h/23-1.c +++ b/testcases/open_posix_testsuite/conformance/definitions/signal_h/23-1.c @@ -9,7 +9,7 @@ typedef void (*(*bsd_signal_test)(int, void (*)(int)))(int); -int dummyfcn (void) +int main (void) { bsd_signal_test dummyvar; dummyvar=bsd_signal; diff --git a/testcases/open_posix_testsuite/conformance/definitions/signal_h/26-1.c b/testcases/open_posix_testsuite/conformance/definitions/signal_h/26-1.c index fe39720..06ed3df 100644 --- a/testcases/open_posix_testsuite/conformance/definitions/signal_h/26-1.c +++ b/testcases/open_posix_testsuite/conformance/definitions/signal_h/26-1.c @@ -4,11 +4,12 @@ is declared. */ +#include <pthread.h> #include <signal.h> typedef int (*pthread_kill_test)(pthread_t, int); -int dummyfcn (void) +int main (void) { pthread_kill_test dummyvar; dummyvar = pthread_kill; diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_read/1-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_read/1-1.c index 79e71af..e5820ca 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_read/1-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_read/1-1.c @@ -19,12 +19,14 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_read/15-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_read/15-1.c index 5c02788..2bc9610 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_read/15-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_read/15-1.c @@ -20,10 +20,11 @@ */ #define _XOPEN_SOURCE 600 +#include <sys/resource.h> +#include <aio.h> #include <stdio.h> +#include <stdlib.h> #include <unistd.h> -#include <aio.h> - #include "posixtest.h" int main() diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_read/9-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_read/9-1.c index 201dddb..2dc0420 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_read/9-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_read/9-1.c @@ -24,13 +24,14 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "aio_read/9-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_return/2-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_return/2-1.c index a9fc3c3..6e9ff5d 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_return/2-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_return/2-1.c @@ -21,13 +21,14 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "aio_return/2-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_return/4-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_return/4-1.c index 216d3ed..321e6ab 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_return/4-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_return/4-1.c @@ -23,13 +23,14 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "aio_return/4-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/1-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/1-1.c index 4ce3774..70cab0c 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/1-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/1-1.c @@ -26,12 +26,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/4-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/4-1.c index 5681e30..f197de0 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/4-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/4-1.c @@ -23,12 +23,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/6-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/6-1.c index 1c6b8b1..288d2c8 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/6-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/6-1.c @@ -22,12 +22,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/7-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/7-1.c index 1afaa0a..0e14012 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/7-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/7-1.c @@ -23,12 +23,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/8-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/8-1.c index 7ce3c8b..fa77c2a 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/8-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/8-1.c @@ -27,12 +27,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/9-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/9-1.c index 8912a89..024bc94 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/9-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/9-1.c @@ -23,12 +23,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/aio_write/7-1.c b/testcases/open_posix_testsuite/conformance/interfaces/aio_write/7-1.c index 8f13f30..58f833f 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/aio_write/7-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/aio_write/7-1.c @@ -24,13 +24,14 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "aio_write/7-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/fork/19-1.c b/testcases/open_posix_testsuite/conformance/interfaces/fork/19-1.c index 5eb794d..5dfdcb0 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/fork/19-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/fork/19-1.c @@ -38,18 +38,17 @@ /********************************************************************************************/ /****************************** standard includes *****************************************/ /********************************************************************************************/ -#include <pthread.h> - #include <stdarg.h> - #include <stdio.h> - #include <stdlib.h> - #include <string.h> - #include <unistd.h> - +#include <sys/stat.h> #include <sys/wait.h> - #include <errno.h> - +#include <errno.h> +#include <fcntl.h> #include <mqueue.h> -#include <sys/stat.h> +#include <pthread.h> +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> /********************************************************************************************/ /****************************** Test framework *****************************************/ diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/1-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/1-1.c index c86e318..0fd71c7 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/1-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/1-1.c @@ -22,13 +22,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/1-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/10-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/10-1.c index fbe82ec..4b25669 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/10-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/10-1.c @@ -21,13 +21,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/10-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/11-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/11-1.c index 5938162..ca5be00 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/11-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/11-1.c @@ -21,13 +21,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/11-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/12-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/12-1.c index 46907a6..5dfc989 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/12-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/12-1.c @@ -21,12 +21,14 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/13-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/13-1.c index b500947..c948381 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/13-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/13-1.c @@ -21,13 +21,14 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/13-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/14-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/14-1.c index 8e66bd4..7e46612 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/14-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/14-1.c @@ -21,13 +21,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/14-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/15-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/15-1.c index 6ae2b0d..8e0b68d 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/15-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/15-1.c @@ -21,13 +21,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/15-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/16-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/16-1.c index 4debb69..6843b91 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/16-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/16-1.c @@ -20,17 +20,17 @@ */ #define _XOPEN_SOURCE 600 +#include <aio.h> #include <stdio.h> +#include <stdlib.h> #include <unistd.h> -#include <aio.h> - #include "posixtest.h" -int main() +int main(void) { #if _POSIX_ASYNCHRONOUS_IO != 200112L exit(PTS_UNSUPPORTED); +#else + exit(PTS_UNTESTED); #endif - - return PTS_UNTESTED; } diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/17-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/17-1.c index c079c7d..57508a8 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/17-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/17-1.c @@ -7,17 +7,17 @@ */ #define _XOPEN_SOURCE 600 +#include <aio.h> #include <stdio.h> +#include <stdlib.h> #include <unistd.h> -#include <aio.h> - #include "posixtest.h" int main() { #if _POSIX_ASYNCHRONOUS_IO != 200112L exit(PTS_UNSUPPORTED); +#else + exit(PTS_UNTESTED); #endif - - return PTS_UNTESTED; } diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/18-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/18-1.c index b998000..869397f 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/18-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/18-1.c @@ -22,13 +22,14 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/18-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/19-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/19-1.c index c079c7d..09e14d1 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/19-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/19-1.c @@ -7,17 +7,17 @@ */ #define _XOPEN_SOURCE 600 +#include <aio.h> #include <stdio.h> +#include <stdlib.h> #include <unistd.h> -#include <aio.h> - #include "posixtest.h" -int main() +int main(void) { #if _POSIX_ASYNCHRONOUS_IO != 200112L exit(PTS_UNSUPPORTED); +#else + exit(PTS_UNTESTED); #endif - - return PTS_UNTESTED; } diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/2-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/2-1.c index 7fd1a03..a5b5b7f 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/2-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/2-1.c @@ -20,13 +20,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/2-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/3-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/3-1.c index 8445364..cee9869 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/3-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/3-1.c @@ -21,13 +21,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/3-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/4-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/4-1.c index e808e8c..922830c 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/4-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/4-1.c @@ -21,13 +21,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <unistd.h> -#include <string.h> +#include <sys/stat.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/4-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/7-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/7-1.c index a512f06..513ffe5 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/7-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/7-1.c @@ -21,16 +21,16 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <sys/types.h> -#include <unistd.h> #include <sys/stat.h> -#include <fcntl.h> -#include <string.h> +#include <sys/types.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/7-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/9-1.c b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/9-1.c index 668e83c..f477fcf 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/9-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/lio_listio/9-1.c @@ -22,16 +22,15 @@ */ #define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <sys/types.h> -#include <unistd.h> #include <sys/stat.h> -#include <fcntl.h> -#include <string.h> +#include <sys/types.h> +#include <aio.h> #include <errno.h> +#include <fcntl.h> +#include <stdio.h> #include <stdlib.h> -#include <aio.h> - +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "lio_listio/9-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-2.c index 4ea16be..a77f7d4 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-2.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-2.c @@ -17,17 +17,18 @@ #define _XOPEN_SOURCE 600 -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> +#include <errno.h> #include <fcntl.h> +#include <pthread.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> #include <string.h> -#include <errno.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "mmap/11-2.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-3.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-3.c index 7b3d26f..6592394 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-3.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/11-3.c @@ -17,22 +17,22 @@ #define _XOPEN_SOURCE 600 -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> +#include <errno.h> #include <fcntl.h> +#include <pthread.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> #include <string.h> -#include <errno.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "mmap/11-3.c" - void sigbus_handler (int signum) { printf("Test Pass: " TNAME " Trigger SIGBUS\n"); diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-1.c index 7857f5c..94c950a 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-1.c @@ -23,22 +23,23 @@ * Please refer to IEEE_1003.1-2001. 2.8.3.3 Memory Protection. */ #define _XOPEN_SOURCE 600 -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> +#include <errno.h> #include <fcntl.h> +#include <pthread.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> #include <string.h> -#include <errno.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "mmap/6-1.c" -int main() +int main(void) { #ifdef _POSIX_MEMORY_PROTECTION char tmpfname[256]; diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-2.c index a37f679..f7d451c 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-2.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-2.c @@ -26,22 +26,23 @@ #define _XOPEN_SOURCE 600 -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> +#include <errno.h> #include <fcntl.h> +#include <pthread.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> #include <string.h> -#include <errno.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "mmap/6-2.c" -int main() +int main(void) { #ifdef _POSIX_MEMORY_PROTECTION diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-3.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-3.c index c0ab5db..60a9f5d 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-3.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-3.c @@ -24,22 +24,23 @@ #define _XOPEN_SOURCE 600 -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> +#include <errno.h> #include <fcntl.h> +#include <pthread.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> #include <string.h> -#include <errno.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "mmap/6-3.c" -int main() +int main(void) { #ifdef _POSIX_MEMORY_PROTECTION diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-5.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-5.c index 097e026..10622c7 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-5.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-5.c @@ -33,7 +33,7 @@ #define TNAME "mmap/6-5.c" -int main() +int main(void) { char tmpfname[256]; int total_size = 1024; diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-6.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-6.c index debd186..02cae8c 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-6.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/6-6.c @@ -32,7 +32,7 @@ #define TNAME "mmap/6-6.c" -int main() +int main(void) { char tmpfname[256]; int total_size = 1024; diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/2-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/2-1.c index de86758..abcbe33 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/2-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/2-1.c @@ -17,12 +17,13 @@ * resources */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> #include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/3-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/3-1.c index dbe813a..fc81de7 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/3-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/3-1.c @@ -19,12 +19,13 @@ * resources */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> #include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/5-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/5-1.c index f35046f..678c7e8 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/5-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/5-1.c @@ -26,12 +26,13 @@ * resources */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> +#include <fcntl.h> +#include <mqueue.h> +#include <stdio.h> +#include <signal.h> #include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/9-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/9-1.c index ed72727..90b26a3 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/9-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_notify/9-1.c @@ -15,13 +15,14 @@ * resources */ -#include <stdio.h> -#include <errno.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> +#include <errno.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> #include <unistd.h> #include "posixtest.h" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/16-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/16-1.c index 14d901f..f5d5943 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/16-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/16-1.c @@ -20,14 +20,15 @@ * this is fine (will have some false positives, but no false negatives). */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> -#include <unistd.h> -#include <string.h> #include <sys/wait.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define NAMESIZE 50 diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/2-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/2-1.c index 586c1a7..9eb421a 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/2-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/2-1.c @@ -19,14 +19,15 @@ * with a mq_maxmsg >= BUFFER. */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> -#include <unistd.h> -#include <string.h> #include <sys/wait.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define NAMESIZE 50 diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/7-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/7-2.c index e81effa..22dcff2 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/7-2.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/7-2.c @@ -16,14 +16,15 @@ * with a mq_maxmsg >= BUFFER. */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> -#include <unistd.h> -#include <string.h> #include <sys/wait.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define NAMESIZE 50 diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/8-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/8-2.c index d370863..5c9262a 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/8-2.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/8-2.c @@ -16,14 +16,15 @@ * with a mq_maxmsg >= BUFFER. */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> -#include <unistd.h> -#include <string.h> #include <sys/wait.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define NAMESIZE 50 diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/9-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/9-2.c index 3cdf081..57077fa 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_open/9-2.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_open/9-2.c @@ -16,14 +16,15 @@ * with a mq_maxmsg >= BUFFER. */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> -#include <unistd.h> -#include <string.h> #include <sys/wait.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define NAMESIZE 50 diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_receive/11-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_receive/11-1.c index ca37912..f9c8fe3 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_receive/11-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_receive/11-1.c @@ -12,15 +12,15 @@ * message queue descriptor. */ -#include <stdio.h> -#include <errno.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> -#include <unistd.h> -#include <string.h> +#include <errno.h> +#include <fcntl.h> +#include <mqueue.h> +#include <stdio.h> #include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TEST "11-1" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_receive/13-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_receive/13-1.c index 28c73f0..6a26e82 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_receive/13-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_receive/13-1.c @@ -12,17 +12,18 @@ * */ -#include <stdio.h> -#include <errno.h> -#include <limits.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> -#include <unistd.h> -#include <string.h> +#include <errno.h> +#include <fcntl.h> +#include <limits.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TEST "13-1" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/18-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/18-1.c index ea904e3..a13b993 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/18-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/18-1.c @@ -13,17 +13,18 @@ * */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> -#include <unistd.h> #include <errno.h> -#include <string.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> +#include <string.h> #include <time.h> +#include <unistd.h> #include "posixtest.h" #define TEST "18-1" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/18-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/18-2.c index 275e15b..e3e365d 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/18-2.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/18-2.c @@ -14,17 +14,18 @@ * */ -#include <stdio.h> -#include <mqueue.h> -#include <errno.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> -#include <unistd.h> -#include <string.h> +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <mqueue.h> +#include <signal.h> #include <stdlib.h> +#include <string.h> #include <time.h> +#include <unistd.h> #include "posixtest.h" #define TEST "18-2" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/5-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/5-2.c index 5afe2a3..789c38c 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/5-2.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/5-2.c @@ -13,16 +13,17 @@ * */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> -#include <unistd.h> -#include <string.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> +#include <string.h> #include <time.h> +#include <unistd.h> #include "posixtest.h" #define TEST "5-2" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/5-3.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/5-3.c index bbdec0b..e2bb647 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/5-3.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/5-3.c @@ -16,17 +16,18 @@ * conditions, but seems the best way to test for now. */ -#include <stdio.h> -#include <errno.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> -#include <unistd.h> -#include <string.h> +#include <errno.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> #include <stdint.h> +#include <stdio.h> #include <stdlib.h> +#include <string.h> +#include <unistd.h> #include "posixtest.h" #define TEST "5-3" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/8-1.c b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/8-1.c index 1b27b0f..8257edc 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/8-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/8-1.c @@ -11,16 +11,17 @@ * Otherwise, the timeout is based on the system clock (time() function). */ -#include <stdio.h> -#include <mqueue.h> -#include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> -#include <unistd.h> -#include <string.h> +#include <fcntl.h> +#include <mqueue.h> +#include <signal.h> +#include <stdio.h> #include <stdlib.h> +#include <string.h> #include <time.h> +#include <unistd.h> #include "posixtest.h" #define TEST "8-1" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/munmap/1-1.c b/testcases/open_posix_testsuite/conformance/interfaces/munmap/1-1.c index 35f0eb4..fad92a9 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/munmap/1-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/munmap/1-1.c @@ -19,17 +19,18 @@ #define _XOPEN_SOURCE 600 -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> +#include <errno.h> #include <fcntl.h> +#include <pthread.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> #include <string.h> -#include <errno.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "munmap/1-1.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/munmap/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/munmap/1-2.c index 3d4cc3a..4e9f2ef 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/munmap/1-2.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/munmap/1-2.c @@ -19,17 +19,18 @@ #define _XOPEN_SOURCE 600 -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> +#include <errno.h> #include <fcntl.h> +#include <pthread.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> #include <string.h> -#include <errno.h> +#include <unistd.h> #include "posixtest.h" #define TNAME "munmap/1-2.c" diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_key_create/speculative/5-1.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_key_create/speculative/5-1.c index ce6a274..3e55c29 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_key_create/speculative/5-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_key_create/speculative/5-1.c @@ -26,27 +26,26 @@ * */ +#include <errno.h> #include <limits.h> #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> -#include <errno.h> #include "posixtest.h" -int NUM_OF_KEYS = PTHREAD_KEYS_MAX; - +pthread_key_t keys[PTHREAD_KEYS_MAX]; int main() { int i, rc; - for(i = 0;i<=NUM_OF_KEYS;i++) + for(i = 0; i<= PTHREAD_KEYS_MAX; i++) { rc = pthread_key_create(&keys[i], NULL); pthread_key_t key; rc = pthread_key_create(&key, NULL); - if(i == NUM_OF_KEYS) + if(i == PTHREAD_KEYS_MAX) { if(rc != EAGAIN) { diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_once/3-1.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_once/3-1.c index f1ceb9e..1507482 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_once/3-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_once/3-1.c @@ -25,12 +25,12 @@ #include <unistd.h> #include "posixtest.h" -/* Global pthread_once_t object */ -pthread_once_t once_control; - /* Keeps track of how many times the init function has been called. */ int init_flag; +/* Global pthread_once_t object */ +pthread_once_t once_control = PTHREAD_ONCE_INIT; + /* The init function that pthread_once calls */ void *an_init_func() { @@ -68,7 +68,6 @@ void *an_init_func2() int main() { pthread_t new_th; - once_control = PTHREAD_ONCE_INIT; init_flag=0; /* Create a thread that will execute the first call to pthread_once() */ diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_once/6-1.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_once/6-1.c index 221ba6a..46d42d9 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_once/6-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_once/6-1.c @@ -32,22 +32,21 @@ /********************************************************************************************/ /****************************** standard includes *****************************************/ /********************************************************************************************/ +#include <errno.h> #include <pthread.h> - #include <stdarg.h> - #include <stdio.h> - #include <stdlib.h> - #include <string.h> - #include <unistd.h> - #include <semaphore.h> - #include <errno.h> - #include <signal.h> +#include <signal.h> +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> /********************************************************************************************/ /****************************** Test framework *****************************************/ /********************************************************************************************/ #include "testfrmw.h" - #include "testfrmw.c" +#include "testfrmw.c" /* This header is responsible for defining the following macros: * UNRESOLVED(ret, descr); * where descr is a description of the error and ret is an int (error code for example) @@ -101,39 +100,40 @@ typedef struct thestruct; /* the following function keeps on sending the signal to the process */ -void * sendsig ( void * arg ) +void * sendsig (void * arg) { - thestruct * thearg = ( thestruct * ) arg; + thestruct * thearg = (thestruct *) arg; int ret; pid_t process; process = getpid(); /* We block the signals SIGUSR1 and SIGUSR2 for this THREAD */ - ret = pthread_sigmask( SIG_BLOCK, &usersigs, NULL ); + ret = pthread_sigmask(SIG_BLOCK, &usersigs, NULL); - if ( ret != 0 ) + if (ret != 0) { - UNRESOLVED( ret, "Unable to block SIGUSR1 and SIGUSR2 in signal thread" ); + UNRESOLVED(ret, + "Unable to block SIGUSR1 and SIGUSR2 in signal thread"); } - while ( do_it ) + while (do_it) { #ifdef WITH_SYNCHRO - if ( ( ret = sem_wait( thearg->sem ) ) ) + if ((ret = sem_wait(thearg->sem))) { - UNRESOLVED( errno, "Sem_wait in sendsig" ); + UNRESOLVED(errno, "Sem_wait in sendsig"); } count_sig++; #endif - ret = kill( process, thearg->sig ); + ret = kill(process, thearg->sig); - if ( ret != 0 ) + if (ret != 0) { - UNRESOLVED( errno, "Kill in sendsig" ); + UNRESOLVED(errno, "Kill in sendsig"); } } @@ -143,26 +143,26 @@ void * sendsig ( void * arg ) /* Next are the signal handlers. */ /* This one is registered for signal SIGUSR1 */ -void sighdl1( int sig ) +void sighdl1(int sig) { #ifdef WITH_SYNCHRO - if ( sem_post( &semsig1 ) ) + if (sem_post(&semsig1)) { - UNRESOLVED( errno, "Sem_post in signal handler 1" ); + UNRESOLVED(errno, "Sem_post in signal handler 1"); } #endif } /* This one is registered for signal SIGUSR2 */ -void sighdl2( int sig ) +void sighdl2(int sig) { #ifdef WITH_SYNCHRO - if ( sem_post( &semsig2 ) ) + if (sem_post(&semsig2)) { - UNRESOLVED( errno, "Sem_post in signal handler 2" ); + UNRESOLVED(errno, "Sem_post in signal handler 2"); } #endif @@ -170,7 +170,7 @@ void sighdl2( int sig ) int init_ctl; /* Init function */ -void initializer( void ) +void initializer(void) { init_ctl++; return ; @@ -181,52 +181,52 @@ void initializer( void ) void * test( void * arg ) { int ret = 0; - pthread_once_t once_ctl; /* We don't block the signals SIGUSR1 and SIGUSR2 for this THREAD */ - ret = pthread_sigmask( SIG_UNBLOCK, &usersigs, NULL ); + ret = pthread_sigmask(SIG_UNBLOCK, &usersigs, NULL); - if ( ret != 0 ) + if (ret != 0) { - UNRESOLVED( ret, "Unable to unblock SIGUSR1 and SIGUSR2 in worker thread" ); + UNRESOLVED(ret, "Unable to unblock SIGUSR1 and SIGUSR2 in worker thread"); } - - while ( do_it ) + while (do_it) { + + pthread_once_t once_ctl = PTHREAD_ONCE_INIT; + count_ope++; - once_ctl = PTHREAD_ONCE_INIT; init_ctl = 0; - ret = pthread_once( &once_ctl, initializer ); + ret = pthread_once(&once_ctl, initializer); - if ( ret == EINTR ) + if (ret == EINTR) { - FAILED( "pthread_once returned EINTR" ); + FAILED("pthread_once returned EINTR"); } - if ( ret != 0 ) + if (ret != 0) { - UNRESOLVED( ret, "pthread_once failed" ); + UNRESOLVED(ret, "pthread_once failed"); } - ret = pthread_once( &once_ctl, initializer ); + ret = pthread_once(&once_ctl, initializer); - if ( ret == EINTR ) + if (ret == EINTR) { - FAILED( "pthread_once returned EINTR" ); + FAILED("pthread_once returned EINTR"); } - if ( ret != 0 ) + if (ret != 0) { - UNRESOLVED( ret, "pthread_once failed" ); + UNRESOLVED(ret, "pthread_once failed"); } - if ( init_ctl != 1 ) + if (init_ctl != 1) { - output( "init_ctl:%d\n", init_ctl ); - FAILED( "The initializer did not execute as expected" ); + output("init_ctl: %d\n", init_ctl); + FAILED("The initializer did not execute as expected"); } } @@ -235,7 +235,7 @@ void * test( void * arg ) } /* Main function */ -int main ( int argc, char * argv[] ) +int main (int argc, char * argv[]) { int ret; pthread_t th_work, th_sig1, th_sig2; @@ -251,52 +251,52 @@ int main ( int argc, char * argv[] ) sa.sa_flags = 0; sa.sa_handler = sighdl1; - if ( ( ret = sigaction ( SIGUSR1, &sa, NULL ) ) ) + if ((ret = sigaction (SIGUSR1, &sa, NULL)) == -1) { UNRESOLVED( ret, "Unable to register signal handler1" ); } sa.sa_handler = sighdl2; - if ( ( ret = sigaction ( SIGUSR2, &sa, NULL ) ) ) + if ((ret = sigaction (SIGUSR2, &sa, NULL)) == -1) { - UNRESOLVED( ret, "Unable to register signal handler2" ); + UNRESOLVED(ret, "Unable to register signal handler2"); } /* We prepare a signal set which includes SIGUSR1 and SIGUSR2 */ - sigemptyset( &usersigs ); + sigemptyset(&usersigs); - ret = sigaddset( &usersigs, SIGUSR1 ); + ret = sigaddset(&usersigs, SIGUSR1); - ret |= sigaddset( &usersigs, SIGUSR2 ); + ret |= sigaddset(&usersigs, SIGUSR2); - if ( ret != 0 ) + if (ret != 0) { - UNRESOLVED( ret, "Unable to add SIGUSR1 or 2 to a signal set" ); + UNRESOLVED(ret, "Unable to add SIGUSR1 or 2 to a signal set"); } /* We now block the signals SIGUSR1 and SIGUSR2 for this THREAD */ ret = pthread_sigmask( SIG_BLOCK, &usersigs, NULL ); - if ( ret != 0 ) + if (ret != 0) { UNRESOLVED( ret, "Unable to block SIGUSR1 and SIGUSR2 in main thread" ); } #ifdef WITH_SYNCHRO - if ( sem_init( &semsig1, 0, 1 ) ) + if (sem_init( &semsig1, 0, 1 )) { UNRESOLVED( errno, "Semsig1 init" ); } - if ( sem_init( &semsig2, 0, 1 ) ) + if (sem_init( &semsig2, ... [truncated message content] |
From: Garrett C. <ris...@li...> - 2010-06-27 01:48:58
|
The branch, pu, has been updated via 0bf0d385d0cdbcb6407a547118112126e28b0175 (commit) via 9cda97cee9dafc96c17806141c795dbf41d9e804 (commit) via 246625cedf2827f4c810bead096cce3be1b6fc8d (commit) via 9efd7b43362cc1647a1f297014ee86a2d5dc2775 (commit) from 4aaa81f17ce66894139a1e27eccba85dae34ea54 (commit) - Log ----------------------------------------------------------------- commit 0bf0d385d0cdbcb6407a547118112126e28b0175 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 26 18:39:02 2010 -0700 Clean up Makefile. Signed-off-by: Garrett Cooper <yan...@gm...> commit 9cda97cee9dafc96c17806141c795dbf41d9e804 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 26 18:36:41 2010 -0700 Clean up script usage and prefix files with '.' This is being done to simplify Makefile generation and prune out misleading text. Signed-off-by: Garrett Cooper <yan...@gm...> commit 246625cedf2827f4c810bead096cce3be1b6fc8d Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 22:17:36 2010 -0700 Fix typos. Signed-off-by: Garrett Cooper <yan...@gm...> commit 9efd7b43362cc1647a1f297014ee86a2d5dc2775 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 20 22:12:41 2010 -0700 Clean up style and yank unused MAKEFILE reference. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: .../conformance/interfaces/timer_getoverrun/4-1.sh | 2 +- .../conformance/interfaces/timer_getoverrun/5-1.sh | 2 +- .../conformance/interfaces/timer_settime/4-1.sh | 2 +- .../functional/threads/Makefile | 18 ++--- .../functional/threads/pi_test/Makefile | 6 +- testcases/open_posix_testsuite/locate-test | 86 +++++++++----------- 6 files changed, 55 insertions(+), 61 deletions(-) diff --git a/testcases/open_posix_testsuite/conformance/interfaces/timer_getoverrun/4-1.sh b/testcases/open_posix_testsuite/conformance/interfaces/timer_getoverrun/4-1.sh index 49de01b..69d5fc5 100755 --- a/testcases/open_posix_testsuite/conformance/interfaces/timer_getoverrun/4-1.sh +++ b/testcases/open_posix_testsuite/conformance/interfaces/timer_getoverrun/4-1.sh @@ -9,5 +9,5 @@ # # This is tested implicitly via assertion 2. -echo "Tested implicitly via assertion 2. Sett output for status." +echo "Tested implicitly via assertion 2. Set output for status." exit 0 diff --git a/testcases/open_posix_testsuite/conformance/interfaces/timer_getoverrun/5-1.sh b/testcases/open_posix_testsuite/conformance/interfaces/timer_getoverrun/5-1.sh index 0d4d5ca..a9e7b5a 100755 --- a/testcases/open_posix_testsuite/conformance/interfaces/timer_getoverrun/5-1.sh +++ b/testcases/open_posix_testsuite/conformance/interfaces/timer_getoverrun/5-1.sh @@ -9,5 +9,5 @@ # # This is tested implicitly via assertion 6. -echo "Tested implicitly via assertion 6. Sett output for status." +echo "Tested implicitly via assertion 6. Set output for status." exit 0 diff --git a/testcases/open_posix_testsuite/conformance/interfaces/timer_settime/4-1.sh b/testcases/open_posix_testsuite/conformance/interfaces/timer_settime/4-1.sh index de1fba0..3c06015 100755 --- a/testcases/open_posix_testsuite/conformance/interfaces/timer_settime/4-1.sh +++ b/testcases/open_posix_testsuite/conformance/interfaces/timer_settime/4-1.sh @@ -11,5 +11,5 @@ # # This is tested implicitly via assertion 1, since a relative timer is used. -echo "Tested implicitly via assertion 1. Sett output for status." +echo "Tested implicitly via assertion 1. Set output for status." exit 0 diff --git a/testcases/open_posix_testsuite/functional/threads/Makefile b/testcases/open_posix_testsuite/functional/threads/Makefile index e8cc701..1b70252 100644 --- a/testcases/open_posix_testsuite/functional/threads/Makefile +++ b/testcases/open_posix_testsuite/functional/threads/Makefile @@ -1,12 +1,10 @@ -SUBDIRS= robust_test pi_test +# +# Read COPYING for licensing details. +# +# Garrett Cooper, June 2010 +# -all test: - for d in $(SUBDIRS); do \ - $(MAKE) -C $$d $@; \ - done - -clean: - rm -f *~ - for d in $(SUBDIRS); do \ - $(MAKE) -C $$d $@; \ +all clean install test: + for dir in `ls -d */Makefile 2>/dev/null | sed -e 's,/Makefile$$,,g'`; do \ + $(MAKE) -C $$dir $@; \ done diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile b/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile index c887ef2..d053848 100644 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile +++ b/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile @@ -2,10 +2,14 @@ CFLAGS+= -I../include LDLIBS= -lpthread TARGETS= pitest-1 pitest-2 pitest-3 pitest-4 pitest-5 pitest-6 -all: $(TARGETS) +all install: $(TARGETS) clean: -rm -rf $(TARGETS) test: ./run.sh +all clean install test: + for dir in `ls -d */Makefile 2>/dev/null | sed -e 's,/Makefile$$,,g'`; do \ + $(MAKE) -C $$dir $@; \ + done diff --git a/testcases/open_posix_testsuite/locate-test b/testcases/open_posix_testsuite/locate-test index 47386c9..e18642c 100755 --- a/testcases/open_posix_testsuite/locate-test +++ b/testcases/open_posix_testsuite/locate-test @@ -1,12 +1,10 @@ #! /bin/sh # Copyright (c) 2002, Intel Corporation. All rights reserved. # Created by: inaky.perez-gonzalez REMOVE-THIS AT intel DOT com -# This file is licensed under the GPL license. For the full content +# This file is licensed under the GPLv2 license. For the full content # of this license, see the COPYING file at the top level of this # source tree. -# Added FreeBSD compatibility changes by Craig Rodrigues - usage() { cat <<EOF @@ -20,10 +18,6 @@ and down. If you just want to build a test, but not run it, do not include a main function into the .c file or name it something including the "-buildonly" string. - --fmake Find functional makefiles. - --smake Find stress makefiles. - --frun Find functional run.sh files. - --srun Find stress run.sh files. --help Show this help and exit Filenames need to follow some standarized format for them to be picked @@ -42,8 +36,6 @@ not support TESTs compiled from many different sources. EOF } -MAKEFILE=GNUmakefile - buildable=""; execs="" print_execs=0 @@ -51,40 +43,40 @@ print_execs=0 # Go through the cmd line options while true do - case "$1" in - "--buildable") - buildable="( -name [0-9]*-*.c ! -name [0-9]*-[0-9]*.sh )"; - shift; - ;; - "--execs") - print_execs=1; - execs="( ( -name [0-9]*-[0-9]*.c -o -name [0-9]*-[0-9]*.sh ) -a ! -name *-buildonly* )"; - shift; - ;; - "--help") - usage; - exit 0; - ;; - --*) - echo "Unknown option $1" 1>&2; - usage 1>&2; - exit 1; - ;; - *) - break 2; - ;; - esac + case "$1" in + "--buildable") + buildable="( -name [0-9]*-*.c ! -name [0-9]*-[0-9]*.sh )" + shift + ;; + "--execs") + print_execs=1 + execs="( ( -name [0-9]*-[0-9]*.c -o -name [0-9]*-[0-9]*.sh ) -a ! -name *-buildonly* )" + shift + ;; + "--help") + usage + exit 0 + ;; + --*) + echo >&2 "Unknown option $1" + usage >&2 + exit 1 + ;; + *) + break 2 + ;; + esac done # Simple version right now, just locate all: -WHERE=${1:-$PWD} +WHERE=${1:-.} # Need the DIRECTORY arg ... if [ ! -d "$WHERE" ] then - echo "Error: no root directory specified" 1>&2 - usage >&2 - exit 1 + echo >&2 "Error: no root directory specified" + usage >&2 + exit 1 fi # Force something .c or .sh @@ -92,14 +84,14 @@ fi # IF --execs, force it has no "-buildonly" # If --buildable, remove the .sh files find "$WHERE" -type f \ - \( \ - \( -name "[0-9]*-*.c" -o -name "[0-9]*-[0-9]*.sh" \) \ - ! -name \*.o ! -name \*~ \ - \) \ - $buildable $execs | \ - if [ $print_execs -eq 1 ] - then - sed 's/\.\(sh\|c\)$/.test/' - else - cat - fi + \( \ + \( -name "[0-9]*-*.c" -o -name "[0-9]*-[0-9]*.sh" \) \ + ! -name \*.o ! -name \*~ \ + \) \ + $buildable $execs | \ + if [ $print_execs -eq 1 ] + then + sed 's/\.\(sh\|c\)$/.test/' + else + cat + fi hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-27 05:56:40
|
The branch, pu, has been updated via e1d8307f7752a918f0d194dd391cbc39625ce907 (commit) via 02eacfaa66c823d10cb20d6e65d828ce64b5b506 (commit) via 1c5be56415cd753479a72cd89cbbd1fd445ddb1a (commit) via 67841e67385fdae4e0cdecbcf1867d2d3b82e989 (commit) from 0bf0d385d0cdbcb6407a547118112126e28b0175 (commit) - Log ----------------------------------------------------------------- commit e1d8307f7752a918f0d194dd391cbc39625ce907 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 26 22:53:09 2010 -0700 Take a first crack at POSIXifying the sourcebase. Also, fully commit some of the changeovers for the scripts as I didn't commit the deletion portions of the git mv's. Signed-off-by: Garrett Cooper <yan...@gm...> commit 02eacfaa66c823d10cb20d6e65d828ce64b5b506 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 26 22:52:34 2010 -0700 Trim away some obsolete directions. Signed-off-by: Garrett Cooper <yan...@gm...> commit 1c5be56415cd753479a72cd89cbbd1fd445ddb1a Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 26 22:11:34 2010 -0700 Better sort out some bits in the source tree. Signed-off-by: Garrett Cooper <yan...@gm...> commit 67841e67385fdae4e0cdecbcf1867d2d3b82e989 Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 26 21:48:34 2010 -0700 Add a note about incoming BSD 2-clause code. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/COPYING | 35 ++++ testcases/open_posix_testsuite/GNUmakefile | 187 -------------------- testcases/open_posix_testsuite/Makefile | 100 +++++++++++ testcases/open_posix_testsuite/QUICK-START | 4 - .../functional/mqueues/GNUmakefile | 14 -- .../functional/semaphores/GNUmakefile | 16 -- .../functional/threads/condvar/GNUmakefile | 14 -- .../functional/threads/pi_test/Makefile | 15 -- .../functional/threads/schedule/GNUmakefile | 14 -- .../functional/timers/GNUmakefile | 16 -- .../functional/timers/clocks/GNUmakefile | 19 -- .../functional/timers/timers/GNUmakefile | 19 -- .../{ => scripts}/exec-func.sh | 0 .../open_posix_testsuite/{ => scripts}/execute.sh | 0 .../open_posix_testsuite/{ => scripts}/locate-test | 0 .../stress/mqueues/GNUmakefile | 18 -- .../stress/semaphores/GNUmakefile | 15 -- .../stress/threads/fork/GNUmakefile | 15 -- .../stress/threads/pthread_cancel/GNUmakefile | 15 -- .../stress/threads/pthread_cond_init/GNUmakefile | 15 -- .../threads/pthread_cond_timedwait/GNUmakefile | 27 --- .../stress/threads/pthread_create/GNUmakefile | 15 -- .../stress/threads/pthread_exit/GNUmakefile | 15 -- .../threads/pthread_getschedparam/GNUmakefile | 15 -- .../stress/threads/pthread_kill/GNUmakefile | 15 -- .../stress/threads/pthread_mutex_init/GNUmakefile | 15 -- .../stress/threads/pthread_mutex_lock/GNUmakefile | 15 -- .../threads/pthread_mutex_trylock/GNUmakefile | 15 -- .../stress/threads/pthread_once/GNUmakefile | 15 -- .../stress/threads/pthread_self/GNUmakefile | 15 -- .../stress/threads/sem_getvalue/GNUmakefile | 15 -- .../stress/threads/sem_init/GNUmakefile | 15 -- .../stress/threads/sem_open/GNUmakefile | 15 -- 33 files changed, 135 insertions(+), 603 deletions(-) delete mode 100644 testcases/open_posix_testsuite/GNUmakefile create mode 100644 testcases/open_posix_testsuite/Makefile delete mode 100644 testcases/open_posix_testsuite/functional/mqueues/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/functional/semaphores/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/functional/threads/pi_test/Makefile delete mode 100644 testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/functional/timers/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile rename testcases/open_posix_testsuite/{ => scripts}/exec-func.sh (100%) rename testcases/open_posix_testsuite/{ => scripts}/execute.sh (100%) rename testcases/open_posix_testsuite/{ => scripts}/locate-test (100%) delete mode 100644 testcases/open_posix_testsuite/stress/mqueues/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/semaphores/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/fork/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_cancel/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_cond_init/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_cond_timedwait/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_create/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_exit/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_getschedparam/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_kill/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_mutex_init/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_mutex_lock/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_mutex_trylock/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_once/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/pthread_self/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/sem_getvalue/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/sem_init/GNUmakefile delete mode 100644 testcases/open_posix_testsuite/stress/threads/sem_open/GNUmakefile diff --git a/testcases/open_posix_testsuite/COPYING b/testcases/open_posix_testsuite/COPYING index d60c31a..e6c82e3 100644 --- a/testcases/open_posix_testsuite/COPYING +++ b/testcases/open_posix_testsuite/COPYING @@ -1,3 +1,38 @@ +All sourcecode generated from scratch by Garrett Cooper is BSD 2-clause +licensed. All legacy openposix test suite code is GPLv2+ licensed. + +You must honor the respective license when copying code. + +BSD 2-clause license: + +Copyright 2010 OpenPOSIX Test Suite. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are +permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list + of conditions and the following disclaimer in the documentation and/or other materials + provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY OpenPOSIX Test Suite ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OpenPOSIX Test Suite OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those of the +authors and should not be interpreted as representing official policies, either expressed +or implied, of OpenPOSIX Test Suite. + +GPLv2 license: + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 diff --git a/testcases/open_posix_testsuite/GNUmakefile b/testcases/open_posix_testsuite/GNUmakefile deleted file mode 100644 index fd11733..0000000 --- a/testcases/open_posix_testsuite/GNUmakefile +++ /dev/null @@ -1,187 +0,0 @@ -# Copyright (c) 2002, Intel Corporation. All rights reserved. -# Created by: inaky.perez-gonzalez REMOVE-THIS AT intel DOT com -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. -# -# Kind of a little bit bastardized automakefile ... This is the -# temporary glue to hold it all together; once our needs change or we -# need something more advanced, we'll implement it. -# -# So far, I understand Make is not the best language, but I felt lazy -# today and wanted to use the default rules of automake [did I alredy -# mentioned I am bastardizing it?]. -# -# Ok, I don't use Automake any more -# -# Added patch from dank REMOVE-THIS AT kegel DOT com -# - -# Added tests timeout from Sebastien Decugis (http://nptl.bullopensource.org) -# Expiration delay is 240 seconds -TIMEOUT_VAL = 240 -# The following value is the shell return value of a timedout application. -# with the bash shell, the ret val of a killed application is 128 + signum -# and under Linux, SIGALRM=14, so we have (Linux+bash) 142. - -top_builddir = . - -LOGFILE= $(top_builddir)/logfile - -RUN_TESTS= $(shell $(top_builddir)/locate-test --execs $(top_builddir)/$(POSIX_TARGET)) -BUILD_TESTS= $(shell $(top_builddir)/locate-test --buildable $(top_builddir)/$(POSIX_TARGET)) -PWD= `pwd` -TIMEOUT= $(top_builddir)/t0 $(TIMEOUT_VAL) - - -all: build-tests run-tests - -build-tests: $(BUILD_TESTS:.c=.test) -run-tests: $(RUN_TESTS:.test=.run-test) - -functional-tests: functional-make functional-run -stress-tests: stress-make stress-run - -tests-pretty: - $(MAKE) all | column -t -s: - -# add -std=c99, -std=gnu99 if compiler supports it (gcc-2.95.3 does not). -CPPFLAGS+= `$(CC) -std=c99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=c99"` -CPPFLAGS+= `$(CC) -std=gnu99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=gnu99"` -CPPFLAGS+= -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -CPPFLAGS+= -I$(PWD)/include - -LDFLAGS+= -LDLIBS+= -lpthread -lrt -lm - -# FIXME: exhaust cmd line length -clean: - -@rm -f $(LOGFILE)* - -@# Timeout helper files - -@rm -f $(top_builddir)/t0.val $(top_builddir)/t0 - -@# Build runnable tests - -@find $(top_builddir) -iname \*.test | xargs -n 40 rm -f {} - -@find $(top_builddir) -iname \*~ -o -iname \*.o | xargs -n 40 rm -f {} - -@for d in functional stress; do \ - $(MAKE) -C $$d clean >/dev/null; \ - done - -# Rule to run a build test -# If the .o doesn't export main, then we don't need to link -.PRECIOUS: %.test -%.test: %.o $(top_builddir)/t0 - @COMPLOG=$(LOGFILE).$$$$; \ - TEST=`echo "$@" | sed -e 's,.test$$,,'`; \ - [ -f $< ] || exit 0; \ - { nm -g $< | grep -q ' T main\| D main'; } || \ - { echo "$$TEST: link: SKIP" >> $(LOGFILE) && exit 0; }; \ - if $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ >$$COMPLOG 2>&1; \ - then \ - echo "$$TEST: link: PASS" >> $(LOGFILE); \ - echo "$$TEST: link: PASS"; \ - else \ - ( \ - echo "$$TEST: link: FAILED. Linker output: "; \ - cat $$COMPLOG; \ - ) >> $(LOGFILE); \ - echo "$$TEST: link: FAILED "; \ - fi; \ - rm -f $$COMPLOG; - -# Rule to run an executable test -# If it is only a build test, then the binary exist, so we don't need to run -.PHONY: %.run-test -%.run-test: %.test $(top_builddir)/t0.val - @COMPLOG=$(LOGFILE).$$$$; \ - TEST=`echo "$@" | sed -e 's,.run-test$$,,'`; \ - TIMEOUT_RET=`cat $(top_builddir)/t0.val`; \ - [ -f $< ] || exit 0; \ - $(TIMEOUT) $< > $$COMPLOG 2>&1; \ - RESULT=$$?; \ - if [ $$RESULT -eq 1 ]; \ - then \ - MSG="FAILED"; \ - elif [ $$RESULT -eq 2 ]; \ - then \ - MSG="UNRESOLVED"; \ - elif [ $$RESULT -eq 4 ]; \ - then \ - MSG="UNSUPPORTED"; \ - elif [ $$RESULT -eq 5 ]; \ - then \ - MSG="UNTESTED"; \ - elif [ $$RESULT -eq $$TIMEOUT_RET ]; \ - then \ - MSG="HUNG"; \ - elif [ $$RESULT -gt 5 -a $$RESULT -ne $$TIMEOUT_RET ]; \ - then \ - MSG="INTERRUPTED"; \ - elif [ $$RESULT -eq 0 ]; \ - then \ - echo "$$TEST: execution: PASS" >> $(LOGFILE); \ - else \ - ( \ - echo "$$TEST: execution: $$MSG: Output: "; \ - cat $$COMPLOG; \ - ) >> $(LOGFILE); \ - echo "$$TEST: execution: $$MSG "; \ - fi; \ - rm -f $$COMPLOG; - -$(top_builddir)/t0: $(top_builddir)/t0.c - @echo Building timeout helper files; \ - $(CC) -O2 -o $@ $< - -$(top_builddir)/t0.val: $(top_builddir)/t0 - echo `$(top_builddir)/t0 0; echo $$?` > $(top_builddir)/t0.val - -%.run-test: %.sh $(top_builddir)/t0.val - @COMPLOG=$(LOGFILE).$$$$; \ - TEST=`echo "$@" | sed -e 's,.run-test$$,,'`; \ - chmod +x $<; \ - $(TIMEOUT) $< > $$COMPLOG 2>&1; \ - RESULT=$$?; \ - if [ $$RESULT -eq 0 ]; \ - then \ - echo "$$TEST: execution: PASS" >> $(LOGFILE);\ - else \ - ( \ - echo "$$TEST: execution: FAILED: Output: ";\ - cat $$COMPLOG; \ - ) >> $(LOGFILE); \ - echo "$$TEST: execution: FAILED "; \ - fi; \ - rm -f $$COMPLOG; - - -.PRECIOUS: %.o -%.o: %.c - @COMPLOG=$(LOGFILE).$$$$; \ - TEST=`echo "$@" | sed -e 's,.o$$,,'`; \ - if $(COMPILE.c) $(OUTPUT_OPTION) $< >$$COMPLOG 2>&1; \ - then \ - echo "$$TEST: build: PASS" >> $(LOGFILE); \ - echo "$$TEST: build: PASS"; \ - else \ - ( \ - echo "$$TEST: build: FAILED: Compiler output: "; \ - cat $$COMPLOG; \ - ) >> $(LOGFILE); \ - echo "$$TEST: build: FAILED "; \ - fi; \ - rm -f $$COMPLOG; - -# Functional/Stress test build and execution -functional-make: - $(MAKE) -C functional all - -.PHONY: functional-test -functional-test: functional-make - $(MAKE) -C functional test - -stress-make: - $(MAKE) -C stress all - -.PHONY: stress-test -stress-test: stress-make - $(MAKE) -C stress test diff --git a/testcases/open_posix_testsuite/Makefile b/testcases/open_posix_testsuite/Makefile new file mode 100644 index 0000000..01dc591 --- /dev/null +++ b/testcases/open_posix_testsuite/Makefile @@ -0,0 +1,100 @@ +# Copyright (c) 2002, Intel Corporation. All rights reserved. +# Created by: inaky.perez-gonzalez REMOVE-THIS AT intel DOT com +# This file is licensed under the GPL license. For the full content +# of this license, see the COPYING file at the top level of this +# source tree. +# +# This file has almost been entirely rewritten by Garrett Cooper, but in +# order to note the bits which were acquired from previous versions, the Intel +# copyright notice stands above. +# + +CRITICAL_CONFORMANCE_MAKEFILE= conformance/interfaces/timer_settime/Makefile +CRITICAL_FUNCTIONAL_MAKEFILE= functional/threads/pi_test/Makefile + +CRITICAL_MAKEFILES= $(CRITICAL_CONFORMANCE_MAKEFILE) \ + $(CRITICAL_FUNCTIONAL_MAKEFILE) + +# The default expiration delay is 240 seconds +TIMEOUT_VAL?= 240 +# The default logfile for the tests. +LOGFILE?= logfile +# Subdirectories to traverse down. +SUBDIRS= conformance functional stress + +# add -std=c99, -std=gnu99 if compiler supports it (gcc-2.95.3 does not). +CFLAGS+= `$(CC) -std=c99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=c99"` +CFLAGS+= `$(CC) -std=gnu99 -S -o /dev/null -xc /dev/null >/dev/null 2>&1 && echo "-std=gnu99"` +CFLAGS+= -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 + +#LDFLAGS+= +#LDLIBS+= -lpthread -lrt -lm + +top_srcdir?= . + +all: conformance-all functional-all stress-all t0 + +clean: + rm -f $(LOGFILE)* t0.val t0 + for d in $(SUBDIRS); do \ + $(MAKE) -C $$d clean >/dev/null; \ + done + +distclean: + @find conformance/*/*/ functional/*/*/ -name Makefile -print0 | xargs rm -f + +generate-makefiles: + @export top_srcdir=$(top_srcdir); \ + $(top_srcdir)/scripts/generate-makefiles.sh + +$(CRITICAL_MAKEFILES): scripts/generate-makefiles.sh + $(MAKE) generate-makefiles + +.PRECIOUS: %.test +%.test: %.o t0 + @COMPLOG=$(LOGFILE).$$$$; \ + TEST=`echo "$@" | sed -e 's,.test$$,,'`; \ + [ -f $< ] || exit 0; \ + { nm -g $< | grep -q ' T main\| D main'; } || \ + { echo "$$TEST: link: SKIP" >> $(LOGFILE) && exit 0; }; \ + if $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ >$$COMPLOG 2>&1; \ + then \ + echo "$$TEST: link: PASS" >> $(LOGFILE); \ + echo "$$TEST: link: PASS"; \ + else \ + ( \ + echo "$$TEST: link: FAILED. Linker output: "; \ + cat $$COMPLOG; \ + ) >> $(LOGFILE); \ + echo "$$TEST: link: FAILED "; \ + fi; \ + rm -f $$COMPLOG; + +t0: $(top_srcdir)/t0.c + @echo Building timeout helper files + $(CC) -o $@ $< + +t0.val: t0 + echo `./t0 0; echo $$?` > t0.val + +# Test build and execution targets. +conformance-all: conformance/interfaces/timer_settime/Makefile + $(MAKE) -C conformance all + +conformance-test: + $(MAKE) -C conformance all + +functional-all: functional/threads/pi_test/Makefile + $(MAKE) -C functional all + +functional-test: + $(MAKE) -C functional test + +stress-all: + $(MAKE) -C stress all + +stress-test: + $(MAKE) -C stress test + +tests-pretty: + $(MAKE) all | column -t -s: diff --git a/testcases/open_posix_testsuite/QUICK-START b/testcases/open_posix_testsuite/QUICK-START index 46e57b3..6cbfac9 100644 --- a/testcases/open_posix_testsuite/QUICK-START +++ b/testcases/open_posix_testsuite/QUICK-START @@ -16,9 +16,6 @@ Setting up your machine depending on what specific area you are concentrating on. (Signals, Semaphores, Threads, Timers or Message Qs). -* "LDFLAGS" is a file used by the Makefile to link to what you specify in it. e.g. if you want to link with lpthread, you would open LDFLAGS and insert the line "-lpthread". LDFLAGS has a few -simple examples contained in it. - =================== Running the tests =================== @@ -45,7 +42,6 @@ Documentation & Resources POSIX* Test Suite project page: http://posixtest.sf.net BUILD - describes how to set up your developer machine to build and test -LDFLAGS - File that Makefile uses to link to what you specify The following files give developers information on how to write test cases for the project (under Documentation): diff --git a/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile b/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile deleted file mode 100644 index f99ec61..0000000 --- a/testcases/open_posix_testsuite/functional/mqueues/GNUmakefile +++ /dev/null @@ -1,14 +0,0 @@ -CFLAGS+= -Wall -CPPFLAGS+= -I../../include -LDLIBS= -lrt -lpthread - -all: send_rev_1.test send_rev_2.test - -%.test: %.o - $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ - -clean: - rm -f *.test - -test: - ./run.sh diff --git a/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile b/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile deleted file mode 100644 index 59271be..0000000 --- a/testcases/open_posix_testsuite/functional/semaphores/GNUmakefile +++ /dev/null @@ -1,16 +0,0 @@ -CPPFLAGS+= -I../../include -LDLIBS+= -lpthread - -TARGETS= sem_lock.test sem_conpro.test sem_readerwriter.test \ - sem_philosopher.test sem_sleepingbarber.test - -all: $(TARGETS) - -%.test: %.o - $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ - -clean: - rm -f $(TARGETS) - -test: - ./run.sh diff --git a/testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile deleted file mode 100644 index c5cae98..0000000 --- a/testcases/open_posix_testsuite/functional/threads/condvar/GNUmakefile +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS= -I../../../include -LDLIBS= -lpthread -lrt -TARGETS= pthread_cond_wait_1 pthread_cond_wait_2 - -all: $(TARGETS) - -clean: - -rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile b/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile deleted file mode 100644 index d053848..0000000 --- a/testcases/open_posix_testsuite/functional/threads/pi_test/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -CFLAGS+= -I../include -LDLIBS= -lpthread -TARGETS= pitest-1 pitest-2 pitest-3 pitest-4 pitest-5 pitest-6 - -all install: $(TARGETS) - -clean: - -rm -rf $(TARGETS) - -test: - ./run.sh -all clean install test: - for dir in `ls -d */Makefile 2>/dev/null | sed -e 's,/Makefile$$,,g'`; do \ - $(MAKE) -C $$dir $@; \ - done diff --git a/testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile b/testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile deleted file mode 100644 index e348117..0000000 --- a/testcases/open_posix_testsuite/functional/threads/schedule/GNUmakefile +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS= -I../../../include -LDLIBS= -lpthread -lrt -TARGETS= 1-1 1-2 - -all: $(TARGETS) - -clean: - -rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/timers/GNUmakefile b/testcases/open_posix_testsuite/functional/timers/GNUmakefile deleted file mode 100644 index 653fe64..0000000 --- a/testcases/open_posix_testsuite/functional/timers/GNUmakefile +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (c) 2002, Intel Corporation. All rights reserved. -# Created by: julie.n.fleischer REMOVE-THIS AT intel DOT com -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. -# - -SUBDIRS= clocks timers - -all clean: - for d in $(SUBDIRS); do \ - $(MAKE) -C $$d $@; \ - done - -test: - ./run.sh diff --git a/testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile b/testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile deleted file mode 100644 index 805a496..0000000 --- a/testcases/open_posix_testsuite/functional/timers/clocks/GNUmakefile +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2002, Intel Corporation. All rights reserved. -# Created by: julie.n.fleischer REMOVE-THIS AT intel DOT com -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. -# - -CPPFLAGS+= -I../../../include -LDLIBS+= -lrt - -TARGETS= twopsetclock.test invaliddates.test - -all: $(TARGETS) - -%.test: %.o - $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile b/testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile deleted file mode 100644 index edbb35d..0000000 --- a/testcases/open_posix_testsuite/functional/timers/timers/GNUmakefile +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2002, Intel Corporation. All rights reserved. -# Created by: julie.n.fleischer REMOVE-THIS AT intel DOT com -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. -# - -CPPFLAGS+= -I../../../include -LDLIBS= -lrt - -TARGETS= twoevtimers.test twoptimers.test - -all: $(TARGETS) - -%.test: %.o - $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/exec-func.sh b/testcases/open_posix_testsuite/scripts/exec-func.sh similarity index 100% rename from testcases/open_posix_testsuite/exec-func.sh rename to testcases/open_posix_testsuite/scripts/exec-func.sh diff --git a/testcases/open_posix_testsuite/execute.sh b/testcases/open_posix_testsuite/scripts/execute.sh similarity index 100% rename from testcases/open_posix_testsuite/execute.sh rename to testcases/open_posix_testsuite/scripts/execute.sh diff --git a/testcases/open_posix_testsuite/locate-test b/testcases/open_posix_testsuite/scripts/locate-test similarity index 100% rename from testcases/open_posix_testsuite/locate-test rename to testcases/open_posix_testsuite/scripts/locate-test diff --git a/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile b/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile deleted file mode 100644 index 40380d6..0000000 --- a/testcases/open_posix_testsuite/stress/mqueues/GNUmakefile +++ /dev/null @@ -1,18 +0,0 @@ -CFLAGS+= -I../../include -LDLIBS+= -lrt - -TARGETS= multi_send_rev_1.test multi_send_rev_2.test - -all: $(TARGETS) - -multi_send_rev_1.test: multi_send_rev_1.c - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) - -multi_send_rev_2.test: multi_send_rev_2.c - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) - -clean: - rm -f $(TARGETS) - -test: - @./run.sh diff --git a/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile b/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile deleted file mode 100644 index da410b0..0000000 --- a/testcases/open_posix_testsuite/stress/semaphores/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -CFLAGS+= -I../../include -LDLIBS+= -lpthread - -TARGETS+= multi_con_pro.test - -all: $(TARGETS) - -multi_con_pro.test: multi_con_pro.c - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) - -clean: - rm -f $(TARGETS) - -test: - @./run.sh diff --git a/testcases/open_posix_testsuite/stress/threads/fork/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/fork/GNUmakefile deleted file mode 100644 index e75b8b9..0000000 --- a/testcases/open_posix_testsuite/stress/threads/fork/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt -lm - -TARGETS := s-c1 - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_cancel/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_cancel/GNUmakefile deleted file mode 100644 index 300acbc..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_cancel/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_cond_init/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_cond_init/GNUmakefile deleted file mode 100644 index 66e0124..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_cond_init/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := s-c stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_cond_timedwait/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_cond_timedwait/GNUmakefile deleted file mode 100644 index bea309b..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_cond_timedwait/GNUmakefile +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 - -# If you want date for plotting, uncommnent this flag -# CFLAGS += -DPLOT_OUTPUT - -LDFLAGS := -lpthread -lrt -lm - -TARGETS := s-c stress1 stress2 - -all: $(TARGETS) - -graph: pthread_cond_timedwait.png - -pthread_cond_timedwait.png: s-c.c - $(CC) $(CFLAGS) -DPLOT_OUTPUT -o s-c s-c.c $(LDFLAGS) - ./s-c > data.plot - ./do-plot data.plot - rm -f data.plot - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_create/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_create/GNUmakefile deleted file mode 100644 index d40bd83..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_create/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := s-c1 s-c2 stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_exit/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_exit/GNUmakefile deleted file mode 100644 index 300acbc..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_exit/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_getschedparam/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_getschedparam/GNUmakefile deleted file mode 100644 index 300acbc..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_getschedparam/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_kill/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_kill/GNUmakefile deleted file mode 100644 index 300acbc..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_kill/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_mutex_init/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_mutex_init/GNUmakefile deleted file mode 100644 index 66e0124..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_mutex_init/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := s-c stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_mutex_lock/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_mutex_lock/GNUmakefile deleted file mode 100644 index d40bd83..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_mutex_lock/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := s-c1 s-c2 stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_mutex_trylock/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_mutex_trylock/GNUmakefile deleted file mode 100644 index 300acbc..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_mutex_trylock/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_once/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_once/GNUmakefile deleted file mode 100644 index 300acbc..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_once/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/pthread_self/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/pthread_self/GNUmakefile deleted file mode 100644 index 300acbc..0000000 --- a/testcases/open_posix_testsuite/stress/threads/pthread_self/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/sem_getvalue/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/sem_getvalue/GNUmakefile deleted file mode 100644 index 300acbc..0000000 --- a/testcases/open_posix_testsuite/stress/threads/sem_getvalue/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt - -TARGETS := stress - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/sem_init/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/sem_init/GNUmakefile deleted file mode 100644 index e75b8b9..0000000 --- a/testcases/open_posix_testsuite/stress/threads/sem_init/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt -lm - -TARGETS := s-c1 - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) diff --git a/testcases/open_posix_testsuite/stress/threads/sem_open/GNUmakefile b/testcases/open_posix_testsuite/stress/threads/sem_open/GNUmakefile deleted file mode 100644 index e75b8b9..0000000 --- a/testcases/open_posix_testsuite/stress/threads/sem_open/GNUmakefile +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2004, Intel Corporation. All rights reserved. -# Created by: ad...@in... -# This file is licensed under the GPL license. For the full content -# of this license, see the COPYING file at the top level of this -# source tree. - -CFLAGS := -Wall -I../../../include -O2 -LDFLAGS := -lpthread -lrt -lm - -TARGETS := s-c1 - -all: $(TARGETS) - -clean: - rm -f $(TARGETS) hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-06-27 06:00:36
|
The branch, pu, has been updated via 3dd341e0a9108e85b5cdc58d7faa8c91f3dd76cd (commit) from e1d8307f7752a918f0d194dd391cbc39625ce907 (commit) - Log ----------------------------------------------------------------- commit 3dd341e0a9108e85b5cdc58d7faa8c91f3dd76cd Author: Garrett Cooper <yan...@gm...> Date: Sat Jun 26 22:55:38 2010 -0700 First crack at a cleaner infrastructure. generate-makefiles (self-explanatory). run-test.sh (replace run.sh's). Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: .../scripts/generate-makefiles.sh | 160 ++++++++++++++++++++ testcases/open_posix_testsuite/scripts/run-test.sh | 72 +++++++++ 2 files changed, 232 insertions(+), 0 deletions(-) create mode 100755 testcases/open_posix_testsuite/scripts/generate-makefiles.sh create mode 100644 testcases/open_posix_testsuite/scripts/run-test.sh diff --git a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh new file mode 100755 index 0000000..ed38a9d --- /dev/null +++ b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh @@ -0,0 +1,160 @@ +#!/bin/sh +# +# Generate generic POSIX compliant Makefiles. +# +# This means that there's a lot of unnecessary text (when using BSD or GNU +# make, as I'm sure there are in other variants), and a lack of modularity, +# but as long as you follow the criterion set in locate-test, then the +# end-result for modifying and/or adding tests can be achieved by merely +# rerunning this script. +# +# This script will remain around until (hopefully someday) POSIX make +# becomes less braindead. +# +# See COPYING for more details. +# +# Garrett Cooper, June 2010 +# + +AUTHORDATE=$(grep "Garrett Cooper" "$0" | head -n 1) +export PATH="$PATH:$(dirname "$0")" + +generate_locate_test_makefile() { + + local maketype=$1; shift + + locate-test --$maketype | sed -e 's,^./,,g' > make-gen.$maketype + + generate_makefile make-gen.$maketype $* + + rm -f make-gen.$maketype + +} + +generate_makefile() { + + local make_target_prereq_cache= + local prereq_cache= + + local make_gen_list=$1; shift + local suffix=$1; shift + local compiler_args=$* + + while read filename; do + + prereq_dir=$(dirname "$filename") + makefile="$prereq_dir/Makefile" + + # First run. + if [ "$prereq_cache_dir" = "" ] ; then + prereq_cache_dir="$prereq_dir" + elif [ "$prereq_cache_dir" != "$prereq_dir" ]; then + + # Add all non-.c files to $make_target_prereq_cache. + for prereq in $prereq_cache; do + if echo "$prereq" | grep -q '.test$'; then + if [ "$make_target_prereq_cache" != "" ]; then + make_target_prereq_cache="$make_target_prereq_cache " + fi + make_target_prereq_cache="$make_target_prereq_cache$prereq" + fi + done + + # Print out the Makefile header for the first round. + if [ ! -f "$makefile" ]; then + + # The empty set for {INSTALL,MAKE}_TARGETS is + # because some versions of make (like gmake) + # must predefine the variables beforehand in + # order for the value to be expanded properly + # in the make rules. + cat > "$makefile" <<EOF +# +# Automatically generated by $(basename "$0") -- DO NOT EDIT. +# +# Restrictions for $(basename "$0") apply to this file. See COPYING for more +# details. +# +# $AUTHORDATE +# + +# Path variables. +top_srcdir?= $(echo "$(dirname "$filename")" | sed -E -e 's,[^/]+,\.\.,g') +srcdir= \$(top_srcdir) +subdir= $prereq_cache_dir + +EXEC_PREFIX= $EXEC_PREFIX + +# Build variables +CFLAGS+= -I\$(top_srcdir)/include + +INSTALL_TARGETS= +MAKE_TARGETS= + +all: \$(MAKE_TARGETS) + +clean: + rm -f \$(MAKE_TARGETS) *.core + +install: + for i in \$(INSTALL_TARGETS); do \ + install $$i \$(DESTDIR)/\$(EXEC_PREFIX)/\$(subdir)/$$i; \ + done + +test: all + \$(top_srcdir)/scripts/run.sh \$(MAKE_TARGETS) + +EOF + fi + + cat >> "$makefile" <<EOF + +INSTALL_TARGETS+= ${prereq_cache} + +MAKE_TARGETS+= ${make_target_prereq_cache} +EOF + + # Produce _awesome_ target rules for everything that + # needs it. + for prereq in ${make_target_prereq_cache}; do + cat >> "$makefile" <<EOF + +$prereq: \$(srcdir)/$(echo "$prereq" | sed -e "s,\.$suffix,\.c,") + \$(CC) $compiler_args \$(CFLAGS) \$(LDFLAGS) -o \$@ \$(srcdir)/\$(@F) \$(LDLIBS) +EOF + done + + # Prep for the next round.. + make_target_prereq_cache= + prereq_cache= + prereq_cache_dir="$prereq_dir" + + fi + + # Cache the entries to punt out all of the data at + # once for a single Makefile. + if [ "$prereq_cache" != "" ] ; then + prereq_cache="$prereq_cache " + fi + prereq_cache="$prereq_cache$(basename "$filename" | sed "s,.c\$,.$suffix,g")" + + done < $make_gen_list + +} + +DEFAULT_PREFIX= + +if uname -a | grep -i linux + DEFAULT_PREFIX=/opt +else + DEFAULT_PREFIX=/usr/local +fi + +PREFIX=${PREFIX:=$DEFAULT_PREFIX/openposix_testsuite} +EXEC_PREFIX="${PREFIX}/bin" + +# For the generic cases. +generate_locate_test_makefile buildable "test" -c +generate_locate_test_makefile execs "run-test" + + diff --git a/testcases/open_posix_testsuite/scripts/run-test.sh b/testcases/open_posix_testsuite/scripts/run-test.sh new file mode 100644 index 0000000..88416bb --- /dev/null +++ b/testcases/open_posix_testsuite/scripts/run-test.sh @@ -0,0 +1,72 @@ +#!/bin/sh +# +# A simple wrapper for pre- and post-execution activities for any given +# openposix test. +# +# run_test contains logic moved out of Makefile. +# +# Garrett Cooper, June 2010 + +run_test_loop() { + for i in +} + +run_test() { + + testname=`echo "$1" | sed -e 's,.run-test$,,'` + + complog=$testname.log.$$ + + "$(dirname "$0")/t0" ./$1 > $complog 2>&1 + + ret_code=$? + + if [ "$ret_code" = "0" ]; then + echo "$testname: execution: PASS" >> $(LOGFILE) + else + case "$ret_code" in + 1) + msg="FAILED" + ;; + 2) + msg="UNRESOLVED" + ;; + 4) + msg="UNSUPPORTED" + ;; + 5) + msg="UNTESTED" + ;; + $TIMEOUT_RET) + msg="HUNG" + ;; + *) + msg="SIGNALED" + esac + (echo "$testname: execution: $msg: Output: "; cat $complog) >> \ + ${LOGFILE} + echo "$testname: execution: $msg " + fi + + rm -f $complog + + return $ret_code + +} + +# SETUP +if [ "x$1" = x ]; then + LOGFILE=/dev/stdout +elif echo > "$1"; then + echo >&2 "ERROR: $1 not readable" +else + LOGFILE=$1 +fi +TIMEOUT_RET=$(cat "$(dirname "$0")/t0.val") +TIMEOUT_VAL=${TIMEOUT_VAL:=240} +if [ -f test_defs ] ; then + . ./test_defs || exit $? +fi + +# RUN +run_test "$@" hooks/post-receive -- ltp |
From: Subrata <ris...@li...> - 2010-07-01 17:00:53
|
The branch, master, has been updated via 0591a5dcc4c5d8b1cb282e4afd163f70b62350ce (commit) via 66c15baaa8be08c5baae5a0c819df3b6a8c834dd (commit) from 95e8b61433efcefb83699aaf859e92ad2b576373 (commit) - Log ----------------------------------------------------------------- commit 0591a5dcc4c5d8b1cb282e4afd163f70b62350ce Author: Subrata Modak <sub...@su...> Date: Thu Jul 1 22:29:20 2010 +0530 [PATCH] realtime: rearrange the pthread attr functions order in librttest, From: gowrishankar <gow...@li...> In the recent pthread libraries, order of calling pthread_attr_setschedpolicy and pthread_attr_setschedparam plays important role in a way that, former should always be called followed by later. Otherwise, pthread_attr_setschedparam always ends with error 22 (EINVAL). This patch fixes the create_thread() in librttest library. Signed-off-by: Gowrishankar <gow...@in...>, Tested-by: Gowrishankar <gow...@in...>, Acked-by: Will Schmidt <wil...@vn...>, Acked-by: Darren Hart <dv...@us...>, commit 66c15baaa8be08c5baae5a0c819df3b6a8c834dd Author: Subrata Modak <sub...@su...> Date: Thu Jul 1 22:27:54 2010 +0530 [PATCH] realtime: fix min and max calculations in matrix multiplication test. From: gowrishankar <gow...@li...> In matrix multiplication test, the min and max calculations are done on stats_container_t data with its index field never set to the last element position. Due to this min and max are always shown with the first record value (as index was initiated with -1). Signed-off-by: Gowrishankar <gow...@in...>, Tested-by: Gowrishankar <gow...@in...>, Acked-by: Will Schmidt <wil...@vn...>, Acked-by: Darren Hart <dv...@us...>, ----------------------------------------------------------------------- Summary of changes: testcases/realtime/func/matrix_mult/matrix_mult.c | 2 ++ testcases/realtime/lib/librttest.c | 2 +- 2 files changed, 3 insertions(+), 1 deletions(-) diff --git a/testcases/realtime/func/matrix_mult/matrix_mult.c b/testcases/realtime/func/matrix_mult/matrix_mult.c index 419f697..fa0e352 100644 --- a/testcases/realtime/func/matrix_mult/matrix_mult.c +++ b/testcases/realtime/func/matrix_mult/matrix_mult.c @@ -222,6 +222,7 @@ void main_thread(void) /* run matrix mult operation sequentially */ curdat = &sdat; + curdat->index = iterations-1; printf("\nRunning sequential operations\n"); start = rt_gettime(); for (i = 0; i < iterations; i++) @@ -252,6 +253,7 @@ void main_thread(void) pthread_barrier_init(&mult_start, NULL, numcpus+1); set_priority(PRIO); curdat = &cdat; + curdat->index = iterations-1; online_cpu_id = -1; /* Redispatch cpus */ /* Create numcpus-1 concurrent threads */ for (j = 0; j < numcpus; j++) { diff --git a/testcases/realtime/lib/librttest.c b/testcases/realtime/lib/librttest.c index e092f35..49fec29 100644 --- a/testcases/realtime/lib/librttest.c +++ b/testcases/realtime/lib/librttest.c @@ -295,8 +295,8 @@ int create_thread(void*(*func)(void*), void *arg, int prio, int policy) pthread_attr_init(&thread->attr); pthread_attr_setinheritsched(&thread->attr, PTHREAD_EXPLICIT_SCHED); - pthread_attr_setschedparam(&thread->attr, ¶m); pthread_attr_setschedpolicy(&thread->attr, thread->policy); + pthread_attr_setschedparam(&thread->attr, ¶m); if ((ret = pthread_create(&thread->pthread, &thread->attr, func, (void*)thread))) { printf("pthread_create failed: %d (%s)\n", ret, strerror(ret)); hooks/post-receive -- ltp |
From: Subrata <ris...@li...> - 2010-07-01 17:06:00
|
The branch, master, has been updated via 04b500a71b8a410adf5b92978c9d93d659912c20 (commit) from 0591a5dcc4c5d8b1cb282e4afd163f70b62350ce (commit) - Log ----------------------------------------------------------------- commit 04b500a71b8a410adf5b92978c9d93d659912c20 Author: Subrata Modak <sub...@su...> Date: Thu Jul 1 22:33:51 2010 +0530 fix hugetlb tests: I want to suggest a patch for hugetlb tests. There are "-c" options in this "${LTPROOT}/runtest/hugetlb" file: ------------ hugeshmat01 hugeshmat01 -i 5 hugeshmat02 hugeshmat02 -i 5 hugeshmat03 hugeshmat03 -i 5 hugeshmctl01 hugeshmctl01 -i 5 -c 3 hugeshmctl02 hugeshmctl02 -i 5 -c 3 hugeshmctl03 hugeshmctl03 -i 5 -c 3 hugeshmdt01 hugeshmdt01 -I 5 -c10 hugeshmget01 hugeshmget01 -c 10 -i 10 hugeshmget02 hugeshmget02 -c 10 -i 10 hugeshmget03 hugeshmget03 -c 10 -i 10 hugeshmget05 hugeshmget05 -c 10 -i 10 ------------ But I think that these "-c" options have not important meanings. I think that the test for several times may not be necessary. For example, the purpose of "hugeshmget02" is the error case test of shmget(). In this case, if the expected failure occurred once, it is enough, and the repetition of test is unnecessary anymore, I think. And, depending on a case, there may be a system without enough memory for these repetition tests. Therefore I want to suggest reducing the "-c" option. I got an answer that these "hugetlb" tests were not complete test programs. --> http://www.mail-archive.com/ltp...@li.../msg10171.html, Therefore, this revision is a temporary. Signed-off-by: Tomonori Mitani <mi...@ry...>, ----------------------------------------------------------------------- Summary of changes: runtest/hugetlb | 16 ++++++++-------- .../kernel/mem/hugetlb/hugeshmget/hugeshmget01.c | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/runtest/hugetlb b/runtest/hugetlb index 0d28f7f..1347f32 100644 --- a/runtest/hugetlb +++ b/runtest/hugetlb @@ -7,14 +7,14 @@ hugeshmat01 hugeshmat01 -i 5 hugeshmat02 hugeshmat02 -i 5 hugeshmat03 hugeshmat03 -i 5 -hugeshmctl01 hugeshmctl01 -i 5 -c 3 -hugeshmctl02 hugeshmctl02 -i 5 -c 3 -hugeshmctl03 hugeshmctl03 -i 5 -c 3 +hugeshmctl01 hugeshmctl01 -i 5 +hugeshmctl02 hugeshmctl02 -i 5 +hugeshmctl03 hugeshmctl03 -i 5 -hugeshmdt01 hugeshmdt01 -I 5 -c10 +hugeshmdt01 hugeshmdt01 -I 5 -hugeshmget01 hugeshmget01 -c 10 -i 10 -hugeshmget02 hugeshmget02 -c 10 -i 10 -hugeshmget03 hugeshmget03 -c 10 -i 10 -hugeshmget05 hugeshmget05 -c 10 -i 10 +hugeshmget01 hugeshmget01 -i 10 +hugeshmget02 hugeshmget02 -i 10 +hugeshmget03 hugeshmget03 -i 10 +hugeshmget05 hugeshmget05 -i 10 diff --git a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c index 6fa02ab..76b95de 100644 --- a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c +++ b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c @@ -78,14 +78,14 @@ int main(int ac, char **av) tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg); } - setup(); /* global setup */ - /* The following loop checks looping state if -i option given */ if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 ) tst_brkm(TCONF, cleanup, "Not enough available Hugepages"); else huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ; + setup(); /* global setup */ + for (lc = 0; TEST_LOOPING(lc); lc++) { /* reset Tst_count in case we are looping */ Tst_count = 0; hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-07-02 17:03:18
|
The branch, next, has been updated via ab17ee7ea998edacc72c4c6a27161def5dc12f5d (commit) via f65393e3bda833416f578618cbf79b2428cbac95 (commit) from 8e990dfc00206bfa484ff5097127869278a46636 (commit) - Log ----------------------------------------------------------------- commit ab17ee7ea998edacc72c4c6a27161def5dc12f5d Author: Garrett Cooper <yan...@gm...> Date: Fri Jul 2 01:13:01 2010 -0700 ima_measure doesn't build correctly. It needs config.h to determine whether openssl headers are present, and verbose needs to be global. Broken by commit ef77253961f909f87e82e6d2b620e87af33e9665. Signed-off-by: Stephen D. Smalley <sd...@ty...> Tested-by: Garrett Cooper <yan...@gm...> commit f65393e3bda833416f578618cbf79b2428cbac95 Author: Garrett Cooper <yan...@gm...> Date: Fri Jul 2 01:09:39 2010 -0700 Fix issues with setup in ima_setup.sh. Fix an unbound variable and the mkdir $TMPDIR call should be doing mkdir -p $TMPDIR as the directory hierarchy may not exist yet. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: .../security/integrity/ima/src/ima_measure.c | 7 ++++--- .../security/integrity/ima/tests/ima_setup.sh | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/testcases/kernel/security/integrity/ima/src/ima_measure.c b/testcases/kernel/security/integrity/ima/src/ima_measure.c index dd6b1d0..0484c04 100644 --- a/testcases/kernel/security/integrity/ima/src/ima_measure.c +++ b/testcases/kernel/security/integrity/ima/src/ima_measure.c @@ -22,7 +22,7 @@ #include <fcntl.h> #include <string.h> #include <unistd.h> -//#include "config.h" +#include "config.h" #include "test.h" #if HAVE_OPENSSL_SHA_H #include <openssl/sha.h> @@ -33,6 +33,8 @@ char *TCID = "ima_measure"; int TST_TOTAL = 1; +static int verbose; + #define print_info(format, arg...) \ if (verbose) \ printf(format, ##arg) @@ -135,9 +137,8 @@ main(int argc, char *argv[]) FILE *fp; struct event template; u_int8_t pcr[SHA_DIGEST_LENGTH]; - int i, count = 0, len; + int i, count = 0; - int verbose = 0; int validate = 0; int verify = 0; diff --git a/testcases/kernel/security/integrity/ima/tests/ima_setup.sh b/testcases/kernel/security/integrity/ima/tests/ima_setup.sh index 9bc4bf6..71391ae 100755 --- a/testcases/kernel/security/integrity/ima/tests/ima_setup.sh +++ b/testcases/kernel/security/integrity/ima/tests/ima_setup.sh @@ -85,7 +85,7 @@ setup() LTPIMA= trap "cleanup" 0 - if [ -z "$TMPDIR" ]; then + if [ -z "${TMPDIR:-}" ]; then LTPTMP=/tmp else LTPTMP=${TMPDIR} @@ -104,7 +104,7 @@ setup() # create the temporary directory used by this testcase LTPIMA=$LTPTMP/ima umask 077 - mkdir $LTPIMA > /dev/null 2>&1 || RC=$? + mkdir -p $LTPIMA > /dev/null 2>&1 || RC=$? if [ $RC -ne 0 ]; then tst_resm TBROK "Unable to create temporary directory" return $RC hooks/post-receive -- ltp |
From: Garrett C. <ris...@li...> - 2010-07-03 06:39:20
|
The branch, pu, has been updated via 7666e5a7215ea9c1f8934cb568b138553e14a80e (commit) via 4239a299c0d5cfd8058c3676fee30a6a787acdfe (commit) via 2f429f3d096bf565eee21c28c54cfab28286eea6 (commit) via ab091057879e20f1be19425c10959ba6fcf7ada9 (commit) via c09e1448798a849f17e5201caa05dcf170effa5e (commit) via 2e38f1438de49a9ce4bfcb1d46f417b77797f55c (commit) via ad3d8f9e50f7073a33ab7d2cd13eae5870f5da30 (commit) via 0b97f0be1d838a253a158076f98820c2cee9cbba (commit) via fb968b9e2ed3bc81f27b16e070c45caf03971126 (commit) from 3dd341e0a9108e85b5cdc58d7faa8c91f3dd76cd (commit) - Log ----------------------------------------------------------------- commit 7666e5a7215ea9c1f8934cb568b138553e14a80e Author: Garrett Cooper <yan...@gm...> Date: Fri Jul 2 23:32:23 2010 -0700 Divide and conquer Makefiles to for gmake/pmake. The problem with the previous Makefiles is that it worked on pmake, but not gmake, as the previous Makefiles made use of a non-POSIX secondary expansion extension in pmake (gmake uses the .SECONDEXPANSION keyword to achieve the same thing). So, make this completely POSIX. Still doesn't fix the phantom targets issue. I need to start digging at the locate-tests level. Signed-off-by: Garrett Cooper <yan...@gm...> commit 4239a299c0d5cfd8058c3676fee30a6a787acdfe Author: Garrett Cooper <yan...@gm...> Date: Wed Jun 30 09:47:43 2010 -0700 Checkpoint working version of Makefile generator. There's some sort of random issue with the generated data from locate-tests that I need to track down because it's generating `phantom entries': $ make -C ./conformance/interfaces/sigwaitinfo/ all cc -O2 -pipe -fno-strict-aliasing -pipe -O2 -march=nocona -I../../../include -o 1-1.run-test 1-1.c cc -O2 -pipe -fno-strict-aliasing -pipe -O2 -march=nocona -I../../../include -o 2-1.run-test 2-1.c cc -O2 -pipe -fno-strict-aliasing -pipe -O2 -march=nocona -I../../../include -o 3-1.run-test 3-1.c make: don't know how to make 4-1.c. Stop $ ls ./conformance/interfaces/sigwaitinfo/ 1-1.c 2-1.c 3-1.c 5-1.c 7-1.c 9-1.c assertions.xml 1-1.run-test 2-1.run-test 3-1.run-test 6-1.c 8-1.c Makefile coverage.txt Signed-off-by: Garrett Cooper <yan...@gm...> commit 2f429f3d096bf565eee21c28c54cfab28286eea6 Author: Garrett Cooper <yan...@gm...> Date: Tue Jun 29 22:11:47 2010 -0700 Disambiguate targets and sort out bits. Signed-off-by: Garrett Cooper <yan...@gm...> commit ab091057879e20f1be19425c10959ba6fcf7ada9 Author: Garrett Cooper <yan...@gm...> Date: Tue Jun 29 22:10:24 2010 -0700 Fix script and simplify find call. Signed-off-by: Garrett Cooper <yan...@gm...> commit c09e1448798a849f17e5201caa05dcf170effa5e Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 27 01:09:53 2010 -0700 Simplify search criterion and add an error check. Signed-off-by: Garrett Cooper <yan...@gm...> commit 2e38f1438de49a9ce4bfcb1d46f417b77797f55c Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 27 00:33:11 2010 -0700 POSIXify the last bit in the top-level Makefile. Signed-off-by: Garrett Cooper <yan...@gm...> commit ad3d8f9e50f7073a33ab7d2cd13eae5870f5da30 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 27 00:32:45 2010 -0700 Good bye dead Makefile. Signed-off-by: Garrett Cooper <yan...@gm...> commit 0b97f0be1d838a253a158076f98820c2cee9cbba Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 27 00:24:28 2010 -0700 Add top-level component makefiles. Signed-off-by: Garrett Cooper <yan...@gm...> commit fb968b9e2ed3bc81f27b16e070c45caf03971126 Author: Garrett Cooper <yan...@gm...> Date: Sun Jun 27 00:24:04 2010 -0700 Fix a typo and add a diag message. Signed-off-by: Garrett Cooper <yan...@gm...> ----------------------------------------------------------------------- Summary of changes: testcases/open_posix_testsuite/Makefile | 67 +++++++-------- .../{functional/threads => conformance}/Makefile | 0 .../functional/{threads => }/Makefile | 0 .../functional/threads/robust_test/Makefile | 12 --- .../scripts/generate-makefiles.sh | 45 +++++++---- testcases/open_posix_testsuite/scripts/locate-test | 55 +++++------- testcases/open_posix_testsuite/stress/Makefile | 12 ++- testcases/open_posix_testsuite/t0.c | 87 -------------------- 8 files changed, 90 insertions(+), 188 deletions(-) copy testcases/open_posix_testsuite/{functional/threads => conformance}/Makefile (100%) copy testcases/open_posix_testsuite/functional/{threads => }/Makefile (100%) delete mode 100644 testcases/open_posix_testsuite/functional/threads/robust_test/Makefile delete mode 100644 testcases/open_posix_testsuite/t0.c diff --git a/testcases/open_posix_testsuite/Makefile b/testcases/open_posix_testsuite/Makefile index 01dc591..e849ecf 100644 --- a/testcases/open_posix_testsuite/Makefile +++ b/testcases/open_posix_testsuite/Makefile @@ -9,11 +9,15 @@ # copyright notice stands above. # +# Makefiles that are considered critical to execution; if they don't exist +# all of the Makefiles will be rebuilt by default. CRITICAL_CONFORMANCE_MAKEFILE= conformance/interfaces/timer_settime/Makefile CRITICAL_FUNCTIONAL_MAKEFILE= functional/threads/pi_test/Makefile +CRITICAL_SECTION_MAKEFILE= stress/threads/sem_open/Makefile CRITICAL_MAKEFILES= $(CRITICAL_CONFORMANCE_MAKEFILE) \ - $(CRITICAL_FUNCTIONAL_MAKEFILE) + $(CRITICAL_FUNCTIONAL_MAKEFILE) \ + $(CRITICAL_SECTION_MAKEFILE) # The default expiration delay is 240 seconds TIMEOUT_VAL?= 240 @@ -32,65 +36,54 @@ CFLAGS+= -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 top_srcdir?= . -all: conformance-all functional-all stress-all t0 +all: conformance-all functional-all stress-all tools clean: - rm -f $(LOGFILE)* t0.val t0 + rm -f $(LOGFILE)* t0 t0.val for d in $(SUBDIRS); do \ $(MAKE) -C $$d clean >/dev/null; \ done -distclean: - @find conformance/*/*/ functional/*/*/ -name Makefile -print0 | xargs rm -f +# Clean out all of the generated Makefiles; this is done this way to ensure +# there won't be an argument overflow, and to remain POSIXly correct (POSIX +# find(1) doesn't support -mindepth like BSD and GNU find do...). +distclean-makefiles: + for dir in $(SUBDIRS); do \ + (cd $$dir && for subdir in */; do \ + (cd $$subdir && find */ -name Makefile 2>/dev/null | xargs rm -f); \ + done); \ + done -generate-makefiles: +generate-makefiles: distclean-makefiles @export top_srcdir=$(top_srcdir); \ $(top_srcdir)/scripts/generate-makefiles.sh $(CRITICAL_MAKEFILES): scripts/generate-makefiles.sh - $(MAKE) generate-makefiles - -.PRECIOUS: %.test -%.test: %.o t0 - @COMPLOG=$(LOGFILE).$$$$; \ - TEST=`echo "$@" | sed -e 's,.test$$,,'`; \ - [ -f $< ] || exit 0; \ - { nm -g $< | grep -q ' T main\| D main'; } || \ - { echo "$$TEST: link: SKIP" >> $(LOGFILE) && exit 0; }; \ - if $(LINK.o) $< $(LOADLIBES) $(LDLIBS) -o $@ >$$COMPLOG 2>&1; \ - then \ - echo "$$TEST: link: PASS" >> $(LOGFILE); \ - echo "$$TEST: link: PASS"; \ - else \ - ( \ - echo "$$TEST: link: FAILED. Linker output: "; \ - cat $$COMPLOG; \ - ) >> $(LOGFILE); \ - echo "$$TEST: link: FAILED "; \ - fi; \ - rm -f $$COMPLOG; - -t0: $(top_srcdir)/t0.c - @echo Building timeout helper files - $(CC) -o $@ $< - -t0.val: t0 - echo `./t0 0; echo $$?` > t0.val + @$(MAKE) generate-makefiles + +tools: + @$(MAKE) -C tools all + +tools/t0: $(srcdir)/tools/t0.c + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(srcdir)/$(@F) $(LDLIBS) + +#build/t0.val: build/t0 +# echo `./t0 0; echo $$?` > t0.val # Test build and execution targets. -conformance-all: conformance/interfaces/timer_settime/Makefile +conformance-all: $(CRITICAL_CONFORMANCE_MAKEFILE) $(MAKE) -C conformance all conformance-test: $(MAKE) -C conformance all -functional-all: functional/threads/pi_test/Makefile +functional-all: $(CRITICAL_FUNCTIONAL_MAKEFILE) $(MAKE) -C functional all functional-test: $(MAKE) -C functional test -stress-all: +stress-all: $(CRITICAL_STRESS_MAKEFILE) $(MAKE) -C stress all stress-test: diff --git a/testcases/open_posix_testsuite/functional/threads/Makefile b/testcases/open_posix_testsuite/conformance/Makefile similarity index 100% copy from testcases/open_posix_testsuite/functional/threads/Makefile copy to testcases/open_posix_testsuite/conformance/Makefile diff --git a/testcases/open_posix_testsuite/functional/threads/Makefile b/testcases/open_posix_testsuite/functional/Makefile similarity index 100% copy from testcases/open_posix_testsuite/functional/threads/Makefile copy to testcases/open_posix_testsuite/functional/Makefile diff --git a/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile b/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile deleted file mode 100644 index 0c3ba1b..0000000 --- a/testcases/open_posix_testsuite/functional/threads/robust_test/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -CFLAGS+= -I../include -LDLIBS= -lpthread -TARGETS= robust1-mode2 robust1-sun robust2-mode2 robust2-sun \ - robust3-mode2 - -all: $(TARGETS) - -clean: - -rm -rf $(TARGETS) - -test: - ./run.sh diff --git a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh index ed38a9d..e4beda5 100755 --- a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh +++ b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh @@ -23,6 +23,8 @@ generate_locate_test_makefile() { local maketype=$1; shift + echo "Generating $maketype Makefiles" + locate-test --$maketype | sed -e 's,^./,,g' > make-gen.$maketype generate_makefile make-gen.$maketype $* @@ -61,14 +63,14 @@ generate_makefile() { done # Print out the Makefile header for the first round. - if [ ! -f "$makefile" ]; then + if [ ! -f "$makefile.1" ]; then # The empty set for {INSTALL,MAKE}_TARGETS is # because some versions of make (like gmake) # must predefine the variables beforehand in # order for the value to be expanded properly # in the make rules. - cat > "$makefile" <<EOF + cat > "$makefile.1" <<EOF # # Automatically generated by $(basename "$0") -- DO NOT EDIT. # @@ -80,48 +82,55 @@ generate_makefile() { # Path variables. top_srcdir?= $(echo "$(dirname "$filename")" | sed -E -e 's,[^/]+,\.\.,g') -srcdir= \$(top_srcdir) subdir= $prereq_cache_dir +srcdir= \$(top_srcdir)/\$(subdir) EXEC_PREFIX= $EXEC_PREFIX +INSTALL_DIR= \$(DESTDIR)/\$(EXEC_PREFIX)/\$(subdir) # Build variables CFLAGS+= -I\$(top_srcdir)/include -INSTALL_TARGETS= -MAKE_TARGETS= +EOF + + cat > "$makefile.3" <<EOF all: \$(MAKE_TARGETS) clean: rm -f \$(MAKE_TARGETS) *.core -install: - for i in \$(INSTALL_TARGETS); do \ - install $$i \$(DESTDIR)/\$(EXEC_PREFIX)/\$(subdir)/$$i; \ +install: \$(INSTALL_DIR) + for i in \$(INSTALL_TARGETS); do \\ + install \$\$i \$(INSTALL_DIR)/\$\$i;\\ done test: all \$(top_srcdir)/scripts/run.sh \$(MAKE_TARGETS) +\$(INSTALL_DIR): + mkdir -p \$@ + EOF fi - cat >> "$makefile" <<EOF - + cat >> "$makefile.2" <<EOF INSTALL_TARGETS+= ${prereq_cache} MAKE_TARGETS+= ${make_target_prereq_cache} + EOF # Produce _awesome_ target rules for everything that # needs it. for prereq in ${make_target_prereq_cache}; do - cat >> "$makefile" <<EOF -$prereq: \$(srcdir)/$(echo "$prereq" | sed -e "s,\.$suffix,\.c,") - \$(CC) $compiler_args \$(CFLAGS) \$(LDFLAGS) -o \$@ \$(srcdir)/\$(@F) \$(LDLIBS) + c_file=$(echo "$prereq" | sed -e "s,\.$suffix,\.c,") + cat >> "$makefile.4" <<EOF +$prereq: $c_file + \$(CC) $compiler_args \$(CFLAGS) \$(LDFLAGS) -o \$@ $c_file \$(LDLIBS) EOF + done # Prep for the next round.. @@ -145,6 +154,7 @@ EOF DEFAULT_PREFIX= if uname -a | grep -i linux +then DEFAULT_PREFIX=/opt else DEFAULT_PREFIX=/usr/local @@ -154,7 +164,10 @@ PREFIX=${PREFIX:=$DEFAULT_PREFIX/openposix_testsuite} EXEC_PREFIX="${PREFIX}/bin" # For the generic cases. -generate_locate_test_makefile buildable "test" -c -generate_locate_test_makefile execs "run-test" - +generate_locate_test_makefile buildonly "test" -c +generate_locate_test_makefile runnable "run-test" +find . -name Makefile.1 -exec dirname {} \; | while read dir; do + cat $dir/Makefile.1 $dir/Makefile.2 $dir/Makefile.3 $dir/Makefile.4 > $dir/Makefile + rm $dir/Makefile.1 $dir/Makefile.2 $dir/Makefile.3 $dir/Makefile.4 +done diff --git a/testcases/open_posix_testsuite/scripts/locate-test b/testcases/open_posix_testsuite/scripts/locate-test index e18642c..b4065d8 100755 --- a/testcases/open_posix_testsuite/scripts/locate-test +++ b/testcases/open_posix_testsuite/scripts/locate-test @@ -13,8 +13,8 @@ Usage: $(basename $0) [OPTIONs] DIRECTORY Lists the tests (source/binary) available from the DIRECTORY directory and down. - --buildable List only tests that require building - --execs List only tests that are executable + --buildonly List only tests that require building + --runnable List only tests that are executable If you just want to build a test, but not run it, do not include a main function into the .c file or name it something including the "-buildonly" string. @@ -36,21 +36,18 @@ not support TESTs compiled from many different sources. EOF } -buildable=""; -execs="" -print_execs=0 +mode= # Go through the cmd line options while true do case "$1" in - "--buildable") - buildable="( -name [0-9]*-*.c ! -name [0-9]*-[0-9]*.sh )" + "--buildonly") + mode="buildable" shift ;; - "--execs") - print_execs=1 - execs="( ( -name [0-9]*-[0-9]*.c -o -name [0-9]*-[0-9]*.sh ) -a ! -name *-buildonly* )" + "--runnable") + mode="runnable" shift ;; "--help") @@ -58,13 +55,13 @@ do exit 0 ;; --*) - echo >&2 "Unknown option $1" + echo >&2 "Unknown option: $1" usage >&2 exit 1 ;; *) - break 2 - ;; + break + ;; esac done @@ -72,26 +69,20 @@ done WHERE=${1:-.} # Need the DIRECTORY arg ... -if [ ! -d "$WHERE" ] -then - echo >&2 "Error: no root directory specified" +if [ ! -d "$WHERE" ]; then + echo >&2 "Error: $WHERE: no such directory" + exit 1 +elif [ "x$mode" = x ]; then + echo >&2 "Error: no options specified" usage >&2 exit 1 fi -# Force something .c or .sh -# Avoid .o, backups -# IF --execs, force it has no "-buildonly" -# If --buildable, remove the .sh files -find "$WHERE" -type f \ - \( \ - \( -name "[0-9]*-*.c" -o -name "[0-9]*-[0-9]*.sh" \) \ - ! -name \*.o ! -name \*~ \ - \) \ - $buildable $execs | \ - if [ $print_execs -eq 1 ] - then - sed 's/\.\(sh\|c\)$/.test/' - else - cat - fi +case "$mode" in +buildonly) + find "$WHERE" -type f -name "*-buildonly*.c" + ;; +runnable) + find "$WHERE" -type f \( -name '*.c' -a ! -name '*-buildonly*.c' \) -o -name '[0-9]*-[0-9]*.sh' + ;; +esac diff --git a/testcases/open_posix_testsuite/stress/Makefile b/testcases/open_posix_testsuite/stress/Makefile index 6b989fc..1b70252 100644 --- a/testcases/open_posix_testsuite/stress/Makefile +++ b/testcases/open_posix_testsuite/stress/Makefile @@ -1,6 +1,10 @@ -SUBDIRS= mqueues semaphores +# +# Read COPYING for licensing details. +# +# Garrett Cooper, June 2010 +# -all clean test: - for d in $(SUBDIRS); do \ - $(MAKE) -C $$d $@; \ +all clean install test: + for dir in `ls -d */Makefile 2>/dev/null | sed -e 's,/Makefile$$,,g'`; do \ + $(MAKE) -C $$dir $@; \ done diff --git a/testcases/open_posix_testsuite/t0.c b/testcases/open_posix_testsuite/t0.c deleted file mode 100644 index 89b47ff..0000000 --- a/testcases/open_posix_testsuite/t0.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2004, Bull S.A.. All rights reserved. - * Created by: Sebastien Decugis - - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write the Free Software Foundation, Inc., 59 - * Temple Place - Suite 330, Boston MA 02111-1307, USA. - - - * This utility software allows to run any executable file with a timeout limit. - * The syntax is: - * $ ./t0 n exe arglist - * where n is the timeout duration in seconds, - * exe is the executable filename to run, - * arglist is the arguments to be passed to executable. - * - * The use of this utility is intended to be "transparent", which means - * everything is as if - * $ exe arglist - * had been called, and a call to "alarm(n)" had been added inside exe's main. - * - * SPECIAL CASE: - * $ ./t0 0 - * Here another arg is not required. This special case will return immediatly - * as if it has been timedout. This is usefull to check a timeout return code value. - * - */ - -/* This utility should compile on any POSIX-conformant implementation. */ -#define _POSIX_C_SOURCE 200112L - -#include <pthread.h> -#include <signal.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -int main (int argc, char * argv[]) -{ - int ret, timeout; - - /* Special case: t0 0 */ - if (argc == 2 && (strncmp(argv[1], "0", 1) == 0)) { - kill(getpid(), SIGALRM); - sleep(1); - return 1; - } - - /* General case */ - if (argc < 3) { - printf("\nUsage: \n"); - printf(" $ %s n exe arglist\n", argv[0]); - printf(" $ %s 0\n", argv[0]); - printf("\nWhere:\n"); - printf(" n is the timeout duration in seconds,\n"); - printf(" exe is the executable filename to run,\n"); - printf(" arglist is the arguments to be passed to executable.\n\n"); - printf(" The second use case will emulate an immediate timeout.\n\n"); - return 1; - } - - timeout = atoi(argv[1]); - if (timeout < 1) - { - fprintf(stderr, "Invalid timeout value \"%s\". Timeout must be a positive integer.\n", argv[1]); - return 1; - } - - /* Set the timeout */ - alarm(timeout); - - /* Execute the command */ - ret = execvp(argv[2], &argv[2]); - - /* Application was not launched */ - perror("Unable to run child application"); - return 1; -} hooks/post-receive -- ltp |