Loading...
Note: File does not exist in v6.2.
1#! /bin/bash
2# SPDX-License-Identifier: GPL-2.0
3
4if ! make >/dev/null; then
5 echo "Building liblockdep failed."
6 echo "FAILED!"
7 exit 1
8fi
9
10find tests -name '*.c' | sort | while read -r i; do
11 testname=$(basename "$i" .c)
12 echo -ne "$testname... "
13 if gcc -o "tests/$testname" -pthread "$i" liblockdep.a -Iinclude -D__USE_LIBLOCKDEP &&
14 timeout 1 "tests/$testname" 2>&1 | /bin/bash "tests/${testname}.sh"; then
15 echo "PASSED!"
16 else
17 echo "FAILED!"
18 fi
19 rm -f "tests/$testname"
20done
21
22find tests -name '*.c' | sort | while read -r i; do
23 testname=$(basename "$i" .c)
24 echo -ne "(PRELOAD) $testname... "
25 if gcc -o "tests/$testname" -pthread -Iinclude "$i" &&
26 timeout 1 ./lockdep "tests/$testname" 2>&1 |
27 /bin/bash "tests/${testname}.sh"; then
28 echo "PASSED!"
29 else
30 echo "FAILED!"
31 fi
32 rm -f "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 /bin/bash "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!"
45 fi
46 rm -f "tests/$testname"
47done