Check that -o |pipe_command works. In particular, check that
strace waits for completion of piped command.
* tests/opipe.test: New test.
* tests/Makefile.am (TESTS): Add it.
detach-sleeping.test \
detach-stopped.test \
detach-running.test \
+ opipe.test \
restart_syscall.test \
$(LIBUNWIND_TESTS)
--- /dev/null
+#!/bin/sh
+
+# Check how -o '|pipe' works.
+
+. "${srcdir=.}/init.sh"
+
+OUT="$LOG.out"
+EXP="$LOG.exp"
+
+check_prog grep
+run_prog grep chdir $srcdir/umovestr.expected > "$EXP"
+run_prog ./umovestr
+
+> "$LOG" || fail_ "failed to write $LOG"
+$STRACE -o "|cat > $LOG && $SLEEP_A_BIT && grep chdir < $LOG > $OUT" -e chdir $args ||
+ dump_log_and_fail_with "$STRACE $args failed"
+
+match_diff "$OUT" "$EXP"
+rm -f "$EXP" "$OUT"