maint: avoid sc_tight_scope failure in sort.c
[coreutils.git] / tests / seq / seq-epipe.sh
blob8980992924ae08eebe10dba41cb19027b3697e73
1 #!/bin/sh
2 # Test for proper detection of EPIPE with ignored SIGPIPE
4 # Copyright (C) 2016-2024 Free Software Foundation, Inc.
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <https://www.gnu.org/licenses/>.
19 . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
20 print_ver_ seq
21 trap_sigpipe_or_skip_
23 # /bin/sh has an intermittent failure in ignoring SIGPIPE on OpenIndiana 11
24 # so we require bash as discussed at:
25 # https://lists.gnu.org/archive/html/coreutils/2020-03/msg00004.html
26 require_bash_as_SHELL_
28 # upon EPIPE with signals ignored, 'seq' should exit with an error.
29 timeout 10 $SHELL -c \
30 'trap "" PIPE && { seq inf 2>err; echo $? >code; } | head -n1' >out
32 # Exit-code must be 1, indicating 'write error'
33 echo 1 > exp || framework_failure_
34 compare exp out || fail=1
35 compare exp code || fail=1
37 grep '^seq: write error: ' err \
38 || { warn_ "seq emitted incorrect error on EPIPE"; \
39 cat err;\
40 fail=1; }
42 Exit $fail