Author: petarj
Date: Wed Nov 23 17:38:29 2016
New Revision: 16154
Log:
make bar_bad tests more deterministic
Canceling the thread slp2 before the case 5 makes behaviour of this test
more deterministic.
Also, as Philippe W. pointed out, adding --fair-sched=try seems to avoid
variable and sometimes very long run time for these tests.
Related BZ #358213
Modified:
trunk/drd/tests/bar_bad.vgtest
trunk/drd/tests/bar_bad_xml.vgtest
trunk/helgrind/tests/bar_bad.c
trunk/helgrind/tests/bar_bad.stderr.exp
trunk/helgrind/tests/bar_bad.stderr.exp-destroy-hang
trunk/helgrind/tests/bar_bad.vgtest
Modified: trunk/drd/tests/bar_bad.vgtest
==============================================================================
--- trunk/drd/tests/bar_bad.vgtest (original)
+++ trunk/drd/tests/bar_bad.vgtest Wed Nov 23 17:38:29 2016
@@ -1,2 +1,3 @@
prereq: test -e ../../helgrind/tests/bar_bad && ./supported_libpthread
prog: ../../helgrind/tests/bar_bad
+vgopts: --fair-sched=try
Modified: trunk/drd/tests/bar_bad_xml.vgtest
==============================================================================
--- trunk/drd/tests/bar_bad_xml.vgtest (original)
+++ trunk/drd/tests/bar_bad_xml.vgtest Wed Nov 23 17:38:29 2016
@@ -1,4 +1,4 @@
prereq: test -e ../../helgrind/tests/bar_bad && ./supported_libpthread
-vgopts: --xml=yes --xml-fd=2
+vgopts: --xml=yes --xml-fd=2 --fair-sched=try
prog: ../../helgrind/tests/bar_bad
stderr_filter: ../../memcheck/tests/filter_xml
Modified: trunk/helgrind/tests/bar_bad.c
==============================================================================
--- trunk/helgrind/tests/bar_bad.c (original)
+++ trunk/helgrind/tests/bar_bad.c Wed Nov 23 17:38:29 2016
@@ -81,6 +81,8 @@
/* and now destroy */
pthread_barrier_destroy(bar4);
+ pthread_cancel(slp2);
+
/* destroy a barrier that was never initialised. This is a bit
tricky, in that we have to fill the barrier with bytes which
ensure that the pthread_barrier_destroy call doesn't crash for
Modified: trunk/helgrind/tests/bar_bad.stderr.exp
==============================================================================
--- trunk/helgrind/tests/bar_bad.stderr.exp (original)
+++ trunk/helgrind/tests/bar_bad.stderr.exp Wed Nov 23 17:38:29 2016
@@ -60,5 +60,5 @@
Thread #x: pthread_barrier_destroy: barrier was never initialised
at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:96)
+ by 0x........: main (bar_bad.c:98)
Modified: trunk/helgrind/tests/bar_bad.stderr.exp-destroy-hang
==============================================================================
--- trunk/helgrind/tests/bar_bad.stderr.exp-destroy-hang (original)
+++ trunk/helgrind/tests/bar_bad.stderr.exp-destroy-hang Wed Nov 23 17:38:29 2016
@@ -68,5 +68,5 @@
Thread #x: pthread_barrier_destroy: barrier was never initialised
at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:96)
+ by 0x........: main (bar_bad.c:98)
Modified: trunk/helgrind/tests/bar_bad.vgtest
==============================================================================
--- trunk/helgrind/tests/bar_bad.vgtest (original)
+++ trunk/helgrind/tests/bar_bad.vgtest Wed Nov 23 17:38:29 2016
@@ -1,3 +1,3 @@
prereq: test -e bar_bad
prog: bar_bad
-vgopts: -q
+vgopts: -q --fair-sched=try
|