|
From: <sv...@va...> - 2008-10-11 18:05:03
|
Author: bart
Date: 2008-10-11 19:04:52 +0100 (Sat, 11 Oct 2008)
New Revision: 8655
Log:
Added omp_printf regression test.
Added:
trunk/drd/tests/omp_printf.c
trunk/drd/tests/omp_printf.stderr.exp
trunk/drd/tests/omp_printf.vgtest
Modified:
trunk/drd/tests/
trunk/drd/tests/Makefile.am
Property changes on: trunk/drd/tests
___________________________________________________________________
Name: svn:ignore
- *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
pth_barrier
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cond_race
pth_create_chain
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
trylock
vg_regtest.tmp*
+ *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cond_race
pth_create_chain
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
trylock
vg_regtest.tmp*
Modified: trunk/drd/tests/Makefile.am
===================================================================
--- trunk/drd/tests/Makefile.am 2008-10-11 18:03:27 UTC (rev 8654)
+++ trunk/drd/tests/Makefile.am 2008-10-11 18:04:52 UTC (rev 8655)
@@ -66,6 +66,8 @@
omp_matinv_racy.vgtest \
omp_prime_racy.stderr.exp \
omp_prime_racy.vgtest \
+ omp_printf.stderr.exp \
+ omp_printf.vgtest \
pth_barrier.stderr.exp \
pth_barrier.vgtest \
pth_barrier2.stderr.exp \
@@ -250,7 +252,7 @@
endif
if HAVE_OPENMP
-check_PROGRAMS += omp_matinv omp_prime
+check_PROGRAMS += omp_matinv omp_prime omp_printf
endif
@@ -440,4 +442,9 @@
omp_prime_CFLAGS = $(AM_CFLAGS) -fopenmp
omp_prime_LDFLAGS = -fopenmp
omp_prime_LDADD = -lm
+
+omp_printf_SOURCES = omp_printf.c
+omp_printf_CFLAGS = $(AM_CFLAGS) -fopenmp
+omp_printf_LDFLAGS = -fopenmp
+omp_printf_LDADD = -lm
endif
Added: trunk/drd/tests/omp_printf.c
===================================================================
--- trunk/drd/tests/omp_printf.c (rev 0)
+++ trunk/drd/tests/omp_printf.c 2008-10-11 18:04:52 UTC (rev 8655)
@@ -0,0 +1,50 @@
+/* Simple OpenMP test program that calls printf() from a parallel section. */
+
+#include <omp.h>
+#include <stdio.h>
+#include <unistd.h> // getopt()
+
+static void usage(const char* const exe)
+{
+ printf("Usage: %s [-h] [-q] [-r] [-t<n>] <m>\n"
+ "-h: display this information.\n"
+ "-q: quiet mode -- do not print computed error.\n",
+ exe);
+}
+
+int main(int argc, char** argv)
+{
+ int i;
+ int optchar;
+ int silent = 0;
+ int tid;
+
+ while ((optchar = getopt(argc, argv, "hq")) != EOF)
+ {
+ switch (optchar)
+ {
+ case 'h': usage(argv[0]); return 1;
+ case 'q': silent = 1; break;
+ default:
+ return 1;
+ }
+ }
+
+#pragma omp parallel private(tid)
+ for (i = 0; i < 2; i++)
+ {
+ tid = omp_get_thread_num();
+ if (! silent)
+ {
+ printf("omp_get_thread_num() = %d/%d\n", tid, omp_get_num_threads());
+ }
+ else
+ {
+ printf("%s", "");
+ }
+ }
+
+ fprintf(stderr, "Finished.\n");
+
+ return 0;
+}
Added: trunk/drd/tests/omp_printf.stderr.exp
===================================================================
--- trunk/drd/tests/omp_printf.stderr.exp (rev 0)
+++ trunk/drd/tests/omp_printf.stderr.exp 2008-10-11 18:04:52 UTC (rev 8655)
@@ -0,0 +1 @@
+ERROR SUMMARY: 8 errors from 8 contexts
Added: trunk/drd/tests/omp_printf.vgtest
===================================================================
--- trunk/drd/tests/omp_printf.vgtest (rev 0)
+++ trunk/drd/tests/omp_printf.vgtest 2008-10-11 18:04:52 UTC (rev 8655)
@@ -0,0 +1,5 @@
+prereq: ./run_openmp_test ./omp_printf
+prog: omp_printf
+vgopts: --check-stack-var=yes --var-info=yes
+args: -q
+stderr_filter: filter_error_summary
|