--- /dev/null
+#!/usr/bin/env tesh
+
+# Checks that background processes' output is not lost when a foreground
+# process (or another background process) does not match its expectation.
+
+! expect return 2
+< ! timeout 3
+< & sh -c 'echo "I crash in background" && sleep 2'
+<
+< ! timeout 2
+< & sh -c 'echo "I also crash in background" && sleep 1'
+<
+< !timeout 1
+< $ sh -c 'echo "I crash in foreground"'
+$ ${bindir:=.}/tesh
+> Output of <meh.tesh:8> mismatch:
+> --- expected
+> +++ obtained
+> @@ -0,0 +1 @@
+> +I crash in foreground
+> Test suite `meh.tesh': NOK (<meh.tesh:8> output mismatch)
+> Output of <meh.tesh:5> mismatch:
+> --- expected
+> +++ obtained
+> @@ -0,0 +1 @@
+> +I also crash in background
+> Test suite `meh.tesh': NOK (<meh.tesh:5> output mismatch)
+> Test suite `meh.tesh': NOK (<meh.tesh:2> timeout after 4 sec)
+> Output of <meh.tesh:2> mismatch:
+> --- expected
+> +++ obtained
+> @@ -0,0 +1 @@
+> +I crash in background
+> Test suite `meh.tesh': NOK (<meh.tesh:2> output mismatch)