sigpipe.at 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Process this file with autom4te to create testsuite. -*- Autotest -*-
  2. # Test suite for GNU tar.
  3. # Copyright 2010-2023 Free Software Foundation, Inc.
  4. # This file is part of GNU tar.
  5. # GNU tar is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation; either version 3 of the License, or
  8. # (at your option) any later version.
  9. # GNU tar is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. # You should have received a copy of the GNU General Public License
  14. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. AT_SETUP([sigpipe handling])
  16. AT_KEYWORDS([sigpipe])
  17. # Description: Tar 1.23 ignored sigpipe which lead to spurious "write
  18. # error" diagnostics when piping output to another programs.
  19. # Reported-by: "Dmitry V. Levin" <[email protected]>
  20. # References: http://lists.gnu.org/archive/html/bug-tar/2010-03/msg00039.html
  21. # <[email protected]>
  22. AT_CHECK([
  23. AT_SIGPIPE_PREREQ
  24. genfile --length 2048 --file first
  25. genfile --length 2048 --file second
  26. genfile --length 2049 --file third
  27. tar cf archive first second third
  28. # Discard diagnostics that some shells generate about broken pipes.
  29. (tar tf archive 2>&3 | :) 3>&2 2>/dev/null
  30. ],
  31. [0])
  32. AT_CLEANUP