1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
#!/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
> Test suite from stdin
> [(stdin):8] sh -c 'echo "I crash in foreground"'
> Output of <(stdin):8> mismatch:
> --- expected
> +++ obtained
> @@ -0,0 +1 @@
> +I crash in foreground
> Test suite `(stdin)': NOK (<(stdin):8> output mismatch)
> [(stdin):5] sh -c 'echo "I also crash in background" && sleep 1'
> Output of <(stdin):5> mismatch:
> --- expected
> +++ obtained
> @@ -0,0 +1 @@
> +I also crash in background
> Test suite `(stdin)': NOK (<(stdin):5> output mismatch)
> [(stdin):2] sh -c 'echo "I crash in background" && sleep 2'
> Output of <(stdin):2> mismatch:
> --- expected
> +++ obtained
> @@ -0,0 +1 @@
> +I crash in background
> Test suite `(stdin)': NOK (<(stdin):2> output mismatch)
|