|
From: <sv...@va...> - 2008-11-10 18:54:51
|
Author: bart
Date: 2008-11-10 18:54:46 +0000 (Mon, 10 Nov 2008)
New Revision: 8763
Log:
Added regression test for Boost.Threads.
Added:
trunk/drd/tests/boost_threads.cpp
trunk/drd/tests/boost_threads.stderr.exp
trunk/drd/tests/boost_threads.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
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*
+ *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
boost_threads
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-11-10 18:53:42 UTC (rev 8762)
+++ trunk/drd/tests/Makefile.am 2008-11-10 18:54:46 UTC (rev 8763)
@@ -20,6 +20,8 @@
atomic_var.stderr.exp-with-atomic-builtins \
atomic_var.stderr.exp-without-atomic-builtins \
atomic_var.vgtest \
+ boost_threads.stderr.exp \
+ boost_threads.vgtest \
drd_bitmap_test.stderr.exp \
drd_bitmap_test.stdout.exp \
drd_bitmap_test.vgtest \
@@ -247,15 +249,19 @@
tc24_nonzero_sem \
trylock
-if HAVE_QTCORE
-check_PROGRAMS += qt4_mutex qt4_rwlock qt4_semaphore
+if HAVE_BOOST_1_35
+check_PROGRAMS += boost_threads
endif
if HAVE_OPENMP
check_PROGRAMS += omp_matinv omp_prime omp_printf
endif
+if HAVE_QTCORE
+check_PROGRAMS += qt4_mutex qt4_rwlock qt4_semaphore
+endif
+
atomic_var_SOURCES = atomic_var.c
atomic_var_LDADD = -lpthread
@@ -331,20 +337,6 @@
pth_spinlock_SOURCES = pth_spinlock.c
pth_spinlock_LDADD = -lpthread
-if HAVE_QTCORE
-qt4_mutex_SOURCES = qt4_mutex.cpp
-qt4_mutex_CXXFLAGS = $(AM_CXXFLAGS) $(QTCORE_CFLAGS)
-qt4_mutex_LDADD = $(QTCORE_LIBS)
-
-qt4_rwlock_SOURCES = qt4_rwlock.cpp
-qt4_rwlock_CXXFLAGS = $(AM_CXXFLAGS) $(QTCORE_CFLAGS)
-qt4_rwlock_LDADD = $(QTCORE_LIBS)
-
-qt4_semaphore_SOURCES = qt4_semaphore.cpp
-qt4_semaphore_CXXFLAGS = $(AM_CXXFLAGS) $(QTCORE_CFLAGS)
-qt4_semaphore_LDADD = $(QTCORE_LIBS)
-endif
-
recursive_mutex_SOURCES = recursive_mutex.c
recursive_mutex_LDADD = -lpthread
@@ -432,6 +424,12 @@
trylock_SOURCES = trylock.c
trylock_LDADD = -lpthread -lrt
+if HAVE_BOOST_1_35
+boost_threads_SOURCES = boost_threads.cpp
+boost_threads_CXXFLAGS = $(AM_CXXFLAGS) $(BOOST_CFLAGS)
+boost_threads_LDADD = $(BOOST_LIBS)
+endif
+
if HAVE_OPENMP
omp_matinv_SOURCES = omp_matinv.c
omp_matinv_CFLAGS = $(AM_CFLAGS) -fopenmp
@@ -448,3 +446,17 @@
omp_printf_LDFLAGS = -fopenmp
omp_printf_LDADD = -lm
endif
+
+if HAVE_QTCORE
+qt4_mutex_SOURCES = qt4_mutex.cpp
+qt4_mutex_CXXFLAGS = $(AM_CXXFLAGS) $(QTCORE_CFLAGS)
+qt4_mutex_LDADD = $(QTCORE_LIBS)
+
+qt4_rwlock_SOURCES = qt4_rwlock.cpp
+qt4_rwlock_CXXFLAGS = $(AM_CXXFLAGS) $(QTCORE_CFLAGS)
+qt4_rwlock_LDADD = $(QTCORE_LIBS)
+
+qt4_semaphore_SOURCES = qt4_semaphore.cpp
+qt4_semaphore_CXXFLAGS = $(AM_CXXFLAGS) $(QTCORE_CFLAGS)
+qt4_semaphore_LDADD = $(QTCORE_LIBS)
+endif
Added: trunk/drd/tests/boost_threads.cpp
===================================================================
--- trunk/drd/tests/boost_threads.cpp (rev 0)
+++ trunk/drd/tests/boost_threads.cpp 2008-11-10 18:54:46 UTC (rev 8763)
@@ -0,0 +1,30 @@
+#include <boost/thread/condition.hpp>
+#include <boost/thread/mutex.hpp>
+#include <boost/thread/thread.hpp>
+#include <iostream>
+
+
+static boost::condition s_cva;
+static boost::mutex s_m;
+
+
+static void thread_func(void)
+{
+ std::cerr << "Thread 2.\n";
+ boost::mutex::scoped_lock sl(s_m);
+ s_cva.notify_all();
+ s_cva.wait(sl);
+}
+
+int main(int argc, char** argv)
+{
+ std::cerr << "Thread 1.\n";
+ boost::mutex::scoped_lock sl(s_m);
+ boost::thread t(thread_func);
+ s_cva.wait(sl);
+ s_cva.notify_all();
+ sl.unlock();
+ t.join();
+ std::cerr << "Finished.\n";
+ return 0;
+}
Added: trunk/drd/tests/boost_threads.stderr.exp
===================================================================
--- trunk/drd/tests/boost_threads.stderr.exp (rev 0)
+++ trunk/drd/tests/boost_threads.stderr.exp 2008-11-10 18:54:46 UTC (rev 8763)
@@ -0,0 +1,6 @@
+
+Thread 1.
+Thread 2.
+Finished.
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Added: trunk/drd/tests/boost_threads.vgtest
===================================================================
--- trunk/drd/tests/boost_threads.vgtest (rev 0)
+++ trunk/drd/tests/boost_threads.vgtest 2008-11-10 18:54:46 UTC (rev 8763)
@@ -0,0 +1,3 @@
+prereq: test -e boost_threads
+vgopts: --var-info=yes
+prog: boost_threads
|