aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib/lockdep/run_tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lib/lockdep/run_tests.sh')
-rwxr-xr-xtools/lib/lockdep/run_tests.sh39
1 files changed, 27 insertions, 12 deletions
diff --git a/tools/lib/lockdep/run_tests.sh b/tools/lib/lockdep/run_tests.sh
index 2e570a188f16..c8fbd0306960 100755
--- a/tools/lib/lockdep/run_tests.sh
+++ b/tools/lib/lockdep/run_tests.sh
@@ -1,32 +1,47 @@
1#! /bin/bash 1#! /bin/bash
2# SPDX-License-Identifier: GPL-2.0 2# SPDX-License-Identifier: GPL-2.0
3 3
4make &> /dev/null 4if ! make >/dev/null; then
5 echo "Building liblockdep failed."
6 echo "FAILED!"
7 exit 1
8fi
5 9
6for i in `ls tests/*.c`; do 10find tests -name '*.c' | sort | while read -r i; do
7 testname=$(basename "$i" .c) 11 testname=$(basename "$i" .c)
8 gcc -o tests/$testname -pthread $i liblockdep.a -Iinclude -D__USE_LIBLOCKDEP &> /dev/null
9 echo -ne "$testname... " 12 echo -ne "$testname... "
10 if [ $(timeout 1 ./tests/$testname 2>&1 | wc -l) -gt 0 ]; then 13 if gcc -o "tests/$testname" -pthread "$i" liblockdep.a -Iinclude -D__USE_LIBLOCKDEP &&
14 timeout 1 "tests/$testname" 2>&1 | "tests/${testname}.sh"; then
11 echo "PASSED!" 15 echo "PASSED!"
12 else 16 else
13 echo "FAILED!" 17 echo "FAILED!"
14 fi 18 fi
15 if [ -f "tests/$testname" ]; then 19 rm -f "tests/$testname"
16 rm tests/$testname
17 fi
18done 20done
19 21
20for i in `ls tests/*.c`; do 22find tests -name '*.c' | sort | while read -r i; do
21 testname=$(basename "$i" .c) 23 testname=$(basename "$i" .c)
22 gcc -o tests/$testname -pthread -Iinclude $i &> /dev/null
23 echo -ne "(PRELOAD) $testname... " 24 echo -ne "(PRELOAD) $testname... "
24 if [ $(timeout 1 ./lockdep ./tests/$testname 2>&1 | wc -l) -gt 0 ]; then 25 if gcc -o "tests/$testname" -pthread -Iinclude "$i" &&
26 timeout 1 ./lockdep "tests/$testname" 2>&1 |
27 "tests/${testname}.sh"; then
25 echo "PASSED!" 28 echo "PASSED!"
26 else 29 else
27 echo "FAILED!" 30 echo "FAILED!"
28 fi 31 fi
29 if [ -f "tests/$testname" ]; then 32 rm -f "tests/$testname"
30 rm tests/$testname 33done
34
35find tests -name '*.c' | sort | while read -r i; do
36 testname=$(basename "$i" .c)
37 echo -ne "(PRELOAD + Valgrind) $testname... "
38 if gcc -o "tests/$testname" -pthread -Iinclude "$i" &&
39 { timeout 10 valgrind --read-var-info=yes ./lockdep "./tests/$testname" >& "tests/${testname}.vg.out"; true; } &&
40 "tests/${testname}.sh" < "tests/${testname}.vg.out" &&
41 ! grep -Eq '(^==[0-9]*== (Invalid |Uninitialised ))|Mismatched free|Source and destination overlap| UME ' "tests/${testname}.vg.out"; then
42 echo "PASSED!"
43 else
44 echo "FAILED!"
31 fi 45 fi
46 rm -f "tests/$testname"
32done 47done