1#!/bin/sh 2# Test for proper detection of EPIPE with ignored SIGPIPE 3 4# Copyright (C) 2016-2023 Free Software Foundation, Inc. 5 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. 10 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. 15 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/>. 18 19. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src 20print_ver_ seq 21trap_sigpipe_or_skip_ 22 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 26require_bash_as_SHELL_ 27 28# upon EPIPE with signals ignored, 'seq' should exit with an error. 29timeout 10 $SHELL -c \ 30 'trap "" PIPE && { seq inf 2>err; echo $? >code; } | head -n1' >out 31 32# Exit-code must be 1, indicating 'write error' 33echo 1 > exp || framework_failure_ 34compare exp out || fail=1 35compare exp code || fail=1 36 37grep '^seq: write error: ' err \ 38 || { warn_ "seq emitted incorrect error on EPIPE"; \ 39 cat err;\ 40 fail=1; } 41 42Exit $fail 43