if (sysent_vec[p][i].sys_name
&& strcmp(s, sysent_vec[p][i].sys_name) == 0
) {
- qualify_one(i, bitflag, not, 0);
+ qualify_one(i, bitflag, not, p);
rc = 0;
}
}
for (pers = 0; pers < SUPPORTED_PERSONALITIES; pers++) {
for (i = 0; i < nsyscall_vec[pers]; i++)
if (sysent_vec[pers][i].sys_flags & n)
- qualify_one(i, opt->bitflag, not, 0);
+ qualify_one(i, opt->bitflag, not, pers);
}
continue;
}
# Automake input for strace tests.
-TESTS = ptrace_setoptions strace-f
+TESTS = ptrace_setoptions strace-f qual_syscall
EXTRA_DIST = init.sh $(TESTS)
--- /dev/null
+#!/bin/sh
+
+# Ensure that strace -e trace=set works.
+
+. "${srcdir=.}/init.sh"
+
+check_strace
+check_prog timeout
+check_prog ls
+check_prog grep
+
+timeout -s 9 $check_timeout \
+$STRACE -e execve ls > /dev/null 2> check.log &&
+grep '^execve(' check.log > /dev/null ||
+ { cat check.log; fail_ 'strace -e execve does not work'; }
+
+grep -v '^execve(' check.log |
+LC_ALL=C grep '^[[:alnum:]_]*(' > /dev/null &&
+ { cat check.log; fail_ 'strace -e execve does not work properly'; }
+
+timeout -s 9 $check_timeout \
+$STRACE -e trace=process ls > /dev/null 2> check.log &&
+grep '^execve(' check.log > /dev/null ||
+ { cat check.log; fail_ 'strace -e trace=process does not work'; }
+
+grep '^open' check.log > /dev/null &&
+ { cat check.log; fail_ 'strace -e trace=process does not work properly'; }
+
+exit 0