From: Jeremy Fitzhardinge Date: Wed, 15 Oct 2003 22:15:37 +0000 (+0000) Subject: Add some regression tests for helgrind. X-Git-Tag: svn/VALGRIND_2_1_0~125 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5c2f1bb5e1b94586c729fac82dd32f2cdbf0aa0c;p=thirdparty%2Fvalgrind.git Add some regression tests for helgrind. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1937 --- diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am index e586af521e..b6a8d972c7 100644 --- a/helgrind/tests/Makefile.am +++ b/helgrind/tests/Makefile.am @@ -1,4 +1,23 @@ noinst_SCRIPTS = filter_stderr EXTRA_DIST = $(noinst_SCRIPTS) \ - true.stderr.exp true.vgtest + allok.stderr.exp allok.vgtest \ + deadlock.stderr.exp deadlock.vgtest \ + inherit.stderr.exp inherit.vgtest \ + race.stderr.exp race.vgtest \ + race2.stderr.exp race2.vgtest \ + readshared.stderr.exp readshared.vgtest + +check_PROGRAMS = \ + allok deadlock inherit race race2 readshared + +allok_SOURCES = allok.c +deadlock_SOURCES = deadlock.c +inherit_SOURCES = inherit.c +race_SOURCES = race.c +race2_SOURCES = race2.c +readshared_SOURCES = readshared.c + +# force -gstabs, because we don't print symaddr for DWARF yet +AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -gstabs +LDADD = -lpthread diff --git a/helgrind/tests/true.stderr.exp b/helgrind/tests/allok.stderr.exp similarity index 100% rename from helgrind/tests/true.stderr.exp rename to helgrind/tests/allok.stderr.exp diff --git a/helgrind/tests/allok.vgtest b/helgrind/tests/allok.vgtest new file mode 100644 index 0000000000..6063069f7b --- /dev/null +++ b/helgrind/tests/allok.vgtest @@ -0,0 +1,2 @@ +prog: allok +vgopts: --optimise=no diff --git a/helgrind/tests/deadlock.stderr.exp b/helgrind/tests/deadlock.stderr.exp new file mode 100644 index 0000000000..e074ddf8a8 --- /dev/null +++ b/helgrind/tests/deadlock.stderr.exp @@ -0,0 +1,15 @@ + +Thread 3: +Mutex 0x........(m1) locked in inconsistent order + at 0x........: __pthread_mutex_lock (vg_libpthread.c:945) + by 0x........: t2 (deadlock.c:20) + by 0x........: thread_wrapper (vg_libpthread.c:661) + by 0x........: do__quit (vg_scheduler.c:1791) + while holding locks 0x........(m2) + 0x........(m2) last locked at + at 0x........: __pthread_mutex_lock (vg_libpthread.c:945) + by 0x........: t2 (deadlock.c:19) + by 0x........: thread_wrapper (vg_libpthread.c:661) + by 0x........: do__quit (vg_scheduler.c:1791) + while depending on locks 0x........(m1) + diff --git a/helgrind/tests/deadlock.vgtest b/helgrind/tests/deadlock.vgtest new file mode 100644 index 0000000000..38418b486b --- /dev/null +++ b/helgrind/tests/deadlock.vgtest @@ -0,0 +1,2 @@ +prog: deadlock +vgopts: --optimise=no diff --git a/helgrind/tests/filter_stderr b/helgrind/tests/filter_stderr index 0f1c570484..67045440e8 100755 --- a/helgrind/tests/filter_stderr +++ b/helgrind/tests/filter_stderr @@ -5,6 +5,7 @@ dir=`dirname $0` $dir/../../tests/filter_stderr_basic | +$dir/../../tests/filter_addresses | # Output looks like... # diff --git a/helgrind/tests/inherit.stderr.exp b/helgrind/tests/inherit.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/helgrind/tests/inherit.vgtest b/helgrind/tests/inherit.vgtest new file mode 100644 index 0000000000..5db4a74488 --- /dev/null +++ b/helgrind/tests/inherit.vgtest @@ -0,0 +1,2 @@ +prog: inherit +vgopts: --optimise=no diff --git a/helgrind/tests/race.stderr.exp b/helgrind/tests/race.stderr.exp new file mode 100644 index 0000000000..310a6419f0 --- /dev/null +++ b/helgrind/tests/race.stderr.exp @@ -0,0 +1,9 @@ + +Thread 3: +Possible data race writing variable at 0x........ (shared) + at 0x........: th (race.c:10) + by 0x........: thread_wrapper (vg_libpthread.c:661) + by 0x........: do__quit (vg_scheduler.c:1791) + Address 0x........ is in BSS section of /home/jeremy/cvs/valgrind/helgrind/tests/race + Previous state: shared RO, no locks + diff --git a/helgrind/tests/race.vgtest b/helgrind/tests/race.vgtest new file mode 100644 index 0000000000..ca127cdac0 --- /dev/null +++ b/helgrind/tests/race.vgtest @@ -0,0 +1,2 @@ +prog: race +vgopts: --optimise=no diff --git a/helgrind/tests/race2.stderr.exp b/helgrind/tests/race2.stderr.exp new file mode 100644 index 0000000000..7093a6313d --- /dev/null +++ b/helgrind/tests/race2.stderr.exp @@ -0,0 +1,9 @@ + +Thread 3: +Possible data race writing variable at 0x........ + at 0x........: th (race2.c:17) + by 0x........: thread_wrapper (vg_libpthread.c:661) + by 0x........: do__quit (vg_scheduler.c:1791) + Address 0x........ == &(f->poot[5].plop[11]) at race2.c:17 + Previous state: shared RO, no locks + diff --git a/helgrind/tests/race2.vgtest b/helgrind/tests/race2.vgtest new file mode 100644 index 0000000000..a67c27ae4a --- /dev/null +++ b/helgrind/tests/race2.vgtest @@ -0,0 +1,2 @@ +prog: race2 +vgopts: --optimise=no diff --git a/helgrind/tests/readshared.stderr.exp b/helgrind/tests/readshared.stderr.exp new file mode 100644 index 0000000000..139597f9cb --- /dev/null +++ b/helgrind/tests/readshared.stderr.exp @@ -0,0 +1,2 @@ + + diff --git a/helgrind/tests/readshared.vgtest b/helgrind/tests/readshared.vgtest new file mode 100644 index 0000000000..2d91bee035 --- /dev/null +++ b/helgrind/tests/readshared.vgtest @@ -0,0 +1,2 @@ +prog: readshared +vgopts: --optimise=no diff --git a/helgrind/tests/true.vgtest b/helgrind/tests/true.vgtest deleted file mode 100644 index 24fc0a48c5..0000000000 --- a/helgrind/tests/true.vgtest +++ /dev/null @@ -1 +0,0 @@ -prog: ../../tests/true