tests: robustify strace -k tests
Allow __getpid as an alternative name for getpid, allow __kernel_vsyscall after getpid. * tests/strace-k.expected: New file. * tests/strace-k-demangle.expected: Likewise. * tests/Makefile.am (EXTRA_DIST): Add them. * tests/strace-k-demangle.test (expected): Remove. * tests/strace-k.test: Likewise. Use grep to check the output.
This commit is contained in:
parent
9574a6e231
commit
958cb40a6e
@ -392,7 +392,9 @@ EXTRA_DIST = \
|
||||
strace-E.expected \
|
||||
strace-T.expected \
|
||||
strace-ff.expected \
|
||||
strace-k-demangle.expected \
|
||||
strace-k-demangle.test \
|
||||
strace-k.expected \
|
||||
strace-k.test \
|
||||
strace-r.expected \
|
||||
strace.supp \
|
||||
|
1
tests/strace-k-demangle.expected
Normal file
1
tests/strace-k-demangle.expected
Normal file
@ -0,0 +1 @@
|
||||
(__kernel_vsyscall )?(__)?getpid ns::f3\(int\) ns::f2\(int\) ns::f1\(int\) ns::f0\(int\) main
|
@ -2,6 +2,5 @@
|
||||
# Check strace -k symbol names demangling.
|
||||
|
||||
test_prog=../stack-fcall-mangled
|
||||
expected='getpid ns::f3(int) ns::f2(int) ns::f1(int) ns::f0(int) main '
|
||||
|
||||
. "${srcdir=.}"/strace-k.test
|
||||
|
1
tests/strace-k.expected
Normal file
1
tests/strace-k.expected
Normal file
@ -0,0 +1 @@
|
||||
(__kernel_vsyscall )?(__)?getpid f3 f2 f1 f0 main
|
@ -35,20 +35,21 @@
|
||||
[ -f /proc/self/maps ] ||
|
||||
framework_skip_ '/proc/self/maps is not available'
|
||||
|
||||
check_prog grep
|
||||
check_prog sed
|
||||
check_prog tr
|
||||
|
||||
: ${test_prog=../stack-fcall}
|
||||
: ${expected='getpid f3 f2 f1 f0 main '}
|
||||
|
||||
run_prog "$test_prog"
|
||||
run_prog "${test_prog=../stack-fcall}"
|
||||
run_strace -e getpid -k $args
|
||||
|
||||
result=$(sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" |
|
||||
tr '\n' ' ')
|
||||
expected="$srcdir/$NAME.expected"
|
||||
sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" |
|
||||
tr '\n' ' ' |sed 's/ $//' > "$OUT"
|
||||
|
||||
test "$result" = "$expected" || {
|
||||
echo "expected: \"$expected\""
|
||||
echo "result: \"$result\""
|
||||
LC_ALL=C grep -E -x -f "$expected" < "$OUT" > /dev/null || {
|
||||
cat >&2 <<__EOF__
|
||||
Failed pattern of expected output: $(cat "$expected")
|
||||
Actual output: $(cat "$OUT")
|
||||
__EOF__
|
||||
dump_log_and_fail_with "$STRACE $args output mismatch"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user