From 4e6b94f570280e999990f7bd0e022e292b779bb6 Mon Sep 17 00:00:00 2001 From: Ivo Raisr Date: Fri, 23 Sep 2016 17:23:47 +0000 Subject: [PATCH] Fix expected error output of drd/tests/bar_bad* on Solaris. On Solaris, we still do get error reports about destroying a barrier which was never initialized even after SVN r15962. We also get an error report about destroying barrier bar3 which is still waited upon by a thread. n-i-bz git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15979 --- drd/tests/Makefile.am | 2 + drd/tests/bar_bad.stderr.exp-solaris | 49 ++++ drd/tests/bar_bad_xml.stderr.exp-solaris | 315 +++++++++++++++++++++++ 3 files changed, 366 insertions(+) create mode 100644 drd/tests/bar_bad.stderr.exp-solaris create mode 100644 drd/tests/bar_bad_xml.stderr.exp-solaris diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am index cfd74d04c..13620dc99 100644 --- a/drd/tests/Makefile.am +++ b/drd/tests/Makefile.am @@ -82,9 +82,11 @@ EXTRA_DIST = \ atomic_var.vgtest \ bar_bad.stderr.exp \ bar_bad.stderr.exp-nohang \ + bar_bad.stderr.exp-solaris \ bar_bad.vgtest \ bar_bad_xml.stderr.exp \ bar_bad_xml.stderr.exp-nohang \ + bar_bad_xml.stderr.exp-solaris \ bar_bad_xml.vgtest \ bar_trivial.stderr.exp \ bar_trivial.stdout.exp \ diff --git a/drd/tests/bar_bad.stderr.exp-solaris b/drd/tests/bar_bad.stderr.exp-solaris new file mode 100644 index 000000000..75f121f14 --- /dev/null +++ b/drd/tests/bar_bad.stderr.exp-solaris @@ -0,0 +1,49 @@ + + +initialise a barrier with zero count +pthread_barrier_init: 'count' argument is zero: barrier 0x........ + at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?) + by 0x........: main (bar_bad.c:?) + + +initialise a barrier twice +Barrier reinitialization: barrier 0x........ + at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?) + by 0x........: main (bar_bad.c:?) +barrier 0x........ was first observed at: + at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?) + by 0x........: main (bar_bad.c:?) + + +initialise a barrier which has threads waiting on it +Barrier reinitialization: barrier 0x........ + at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?) + by 0x........: main (bar_bad.c:?) +barrier 0x........ was first observed at: + at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?) + by 0x........: main (bar_bad.c:?) + + +destroy a barrier that has waiting threads +Destruction of a barrier with active waiters: barrier 0x........ + at 0x........: pthread_barrier_destroy (drd_pthread_intercepts.c:?) + by 0x........: main (bar_bad.c:?) +barrier 0x........ was first observed at: + at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?) + by 0x........: main (bar_bad.c:?) + + +destroy a barrier that was never initialised +Not a barrier + at 0x........: pthread_barrier_destroy (drd_pthread_intercepts.c:?) + by 0x........: main (bar_bad.c:?) + +Destruction of barrier that is being waited upon: barrier 0x........ + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (bar_bad.c:?) +barrier 0x........ was first observed at: + at 0x........: pthread_barrier_init (drd_pthread_intercepts.c:?) + by 0x........: main (bar_bad.c:?) + + +ERROR SUMMARY: 7 errors from 6 contexts (suppressed: 0 from 0) diff --git a/drd/tests/bar_bad_xml.stderr.exp-solaris b/drd/tests/bar_bad_xml.stderr.exp-solaris new file mode 100644 index 000000000..acb965656 --- /dev/null +++ b/drd/tests/bar_bad_xml.stderr.exp-solaris @@ -0,0 +1,315 @@ + + + + +4 +drd + + + ... + ... + ... + ... + + +... +... +drd + + + ... + + ./../../helgrind/tests/bar_bad + + + + + RUNNING + + + + +initialise a barrier with zero count + + 0x........ + ... + BarrierErr + pthread_barrier_init: 'count' argument is zero: barrier 0x........ + + + 0x........ + ... + pthread_barrier_init + ... + drd_pthread_intercepts.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + + + + +initialise a barrier twice + + 0x........ + ... + BarrierErr + Barrier reinitialization: barrier 0x........ + + + 0x........ + ... + pthread_barrier_init + ... + drd_pthread_intercepts.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + + + barrier +
0x........
+ + + 0x........ + ... + pthread_barrier_init + ... + drd_pthread_intercepts.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + +
+
+ + +initialise a barrier which has threads waiting on it + + 0x........ + ... + BarrierErr + Barrier reinitialization: barrier 0x........ + + + 0x........ + ... + pthread_barrier_init + ... + drd_pthread_intercepts.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + + + barrier +
0x........
+ + + 0x........ + ... + pthread_barrier_init + ... + drd_pthread_intercepts.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + +
+
+ + +destroy a barrier that has waiting threads + + 0x........ + ... + BarrierErr + Destruction of a barrier with active waiters: barrier 0x........ + + + 0x........ + ... + pthread_barrier_destroy + ... + drd_pthread_intercepts.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + + + barrier +
0x........
+ + + 0x........ + ... + pthread_barrier_init + ... + drd_pthread_intercepts.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + +
+
+ + +destroy a barrier that was never initialised + + 0x........ + ... + GenericErr + Not a barrier + + + 0x........ + ... + pthread_barrier_destroy + ... + drd_pthread_intercepts.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + + + + + 0x........ + ... + BarrierErr + Destruction of barrier that is being waited upon: barrier 0x........ + + + 0x........ + ... + free + ... + vg_replace_malloc.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + + + barrier +
0x........
+ + + 0x........ + ... + pthread_barrier_init + ... + drd_pthread_intercepts.c + ... + + + 0x........ + ... + main + ... + bar_bad.c + ... + + +
+
+ + + + FINISHED + + + + + + ... + 0x........ + + + ... + 0x........ + + + ... + 0x........ + + + ... + 0x........ + + + ... + 0x........ + + + ... + 0x........ + + + +... + +
+