summaryrefslogtreecommitdiff
path: root/Shell/Tests/sigpipe.sh
blob: 1866b506bad671b0adadaf29cfdd63ac2007347d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh

# `head -n 1` should close stdout of the `Shell -c` command, which means the
# second echo should exit unsuccessfully and sigpipe.sh.out should not be
# created.
rm -f sigpipe.sh.out

{ echo foo && echo bar && echo baz > sigpipe.sh.out } | head -n 1 > /dev/null

# Failing commands don't make the test fail, just an explicit `exit 1` does.
# So the test only fails if sigpipe.sh.out exists (since then `exit 1` runs),
# not if the `test` statement returns false.
test -e sigpipe.sh.out && exit 1