From 958cb40a6e9caacfdd3cf87ab1061cbde783a50f Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Sat, 7 Apr 2018 23:35:45 +0000 Subject: [PATCH] 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. --- tests/Makefile.am | 2 ++ tests/strace-k-demangle.expected | 1 + tests/strace-k-demangle.test | 1 - tests/strace-k.expected | 1 + tests/strace-k.test | 19 ++++++++++--------- 5 files changed, 14 insertions(+), 10 deletions(-) create mode 100644 tests/strace-k-demangle.expected create mode 100644 tests/strace-k.expected diff --git a/tests/Makefile.am b/tests/Makefile.am index d88a09bc..1b520c25 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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 \ diff --git a/tests/strace-k-demangle.expected b/tests/strace-k-demangle.expected new file mode 100644 index 00000000..e42e78fc --- /dev/null +++ b/tests/strace-k-demangle.expected @@ -0,0 +1 @@ +(__kernel_vsyscall )?(__)?getpid ns::f3\(int\) ns::f2\(int\) ns::f1\(int\) ns::f0\(int\) main diff --git a/tests/strace-k-demangle.test b/tests/strace-k-demangle.test index 1616449f..106a7004 100755 --- a/tests/strace-k-demangle.test +++ b/tests/strace-k-demangle.test @@ -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 diff --git a/tests/strace-k.expected b/tests/strace-k.expected new file mode 100644 index 00000000..840d648f --- /dev/null +++ b/tests/strace-k.expected @@ -0,0 +1 @@ +(__kernel_vsyscall )?(__)?getpid f3 f2 f1 f0 main diff --git a/tests/strace-k.test b/tests/strace-k.test index 2a21a9db..c189711d 100755 --- a/tests/strace-k.test +++ b/tests/strace-k.test @@ -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" } -- 2.40.0