Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[tesh] bad cmd result: abort -> store retcode
[simgrid.git] / tools / tesh / catch-all-bg-output.tesh
diff --git a/tools/tesh/catch-all-bg-output.tesh b/tools/tesh/catch-all-bg-output.tesh
new file mode 100644 (file)
index 0000000..5bf7704
--- /dev/null
@@ -0,0 +1,34 @@
+#!/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)