not = 1 - not;
s = "all";
}
- if (opt->bitflag != QUAL_FAULT && strcmp(s, "all") == 0) {
- for (i = 0; i < num_quals; i++) {
- qualify_one(i, opt->bitflag, not, -1, NULL);
+ if (opt->bitflag != QUAL_FAULT) {
+ if (strcmp(s, "all") == 0) {
+ for (i = 0; i < num_quals; ++i) {
+ qualify_one(i, opt->bitflag, not, -1, NULL);
+ }
+ return;
+ }
+ for (i = 0; i < num_quals; ++i) {
+ qualify_one(i, opt->bitflag, !not, -1, NULL);
}
- return;
- }
- for (i = 0; i < num_quals; i++) {
- qualify_one(i, opt->bitflag, !not, -1, NULL);
}
copy = xstrdup(s);
for (p = strtok(copy, ","); p; p = strtok(NULL, ",")) {
check_fault_injection()
{
- local trace fault err first step
+ local trace fault err first step extra
trace=$1; shift
fault=$1; shift
err=$1; shift
first=$1; shift
step=$1; shift
+ extra="$*"
local when=
if [ -z "$first$step" ]; then
outgot="$NAME.out.got"
run_strace -a11 -e trace=$trace \
- -e fault=$fault$when$error "$@" \
+ "$@" -e fault=$fault$when$error $extra \
./$NAME $raw "$err" "$first" "$step" $N \
> "$EXP" 4> "$outexp" 5> "$outgot"
for err in '' ENOSYS 22 EINVAL; do
for fault in writev 51,desc; do
check_fault_injection \
- writev $fault "$err" '' ''
+ writev $fault "$err" '' '' -efault=chdir
for F in 1 2 3 5 7 11; do
check_fault_injection \
writev $fault "$err" $F ''