summaryrefslogtreecommitdiffstats
path: root/tests/dd
AgeCommit message (Collapse)AuthorLines
4 daysdd: always diagnose partial writes on write failurePádraig Brady-0/+37
* src/dd.c (dd_copy): Increment the partial write count upon failure. * tests/dd/partial-write.sh: Add a new test. * tests/local.mk: Reference the new test. * NEWS: Mention the bug fix. Fixes https://bugs.gnu.org/80583
2026-02-18maint: tests: avoid EPERM specific handlingPádraig Brady-8/+3
* tests/dd/fail-ftruncate-fstat.sh: Use $EPERM rather than mapping specific strings to the Linux $EPERM. * tests/mkdir/smack-no-root.sh: Use $EPERM rather than hardcoding.
2026-01-24tests: dd: avoid EPERM false failure on SolarisPádraig Brady-2/+5
* tests/dd/fail-ftruncate-fstat.sh: Also map the "Not owner" error for EPERM seen on earlier Solaris 11 releases. Reported by Bruno Haible.
2026-01-19tests: dd: avoid a false test failure on Solaris 11.4Collin Funk-1/+4
* tests/dd/fail-ftruncate-fstat.sh: Replace the message used by Solaris 11.4 for strerror (EPERM) with the one we expect.
2026-01-01maint: run 'make update-copyright'Collin Funk-21/+21
2025-12-25dd: don't continue copying when ftruncate fails using seek= and of=Collin Funk-0/+76
* src/dd.c (main): Reduce the scope of exit_status. Exit immediately if ftruncate fails. * tests/dd/fail-ftruncate-fstat.sh: New test. * tests/local.mk (all_tests): Add the new test. * NEWS: Mention the bug fix.
2025-12-08tests: fix non-portable use of printf '\x..'Pádraig Brady-2/+2
* tests/dd/conv-case.sh: Use octal instead. * tests/ls/hyperlink.sh: Likewise. * tests/sort/sort-locale.sh: Likewise.
2025-11-14tests: dd: add tests for conv=lcase and conv=ucaseCollin Funk-0/+57
* tests/dd/conv-case.sh: New test. * tests/local.mk (all_tests): Add it.
2025-09-20tests: dd: avoid false failure on Solaris 10Pádraig Brady-1/+1
* tests/dd/no-allocate.sh: Give some extra space to the determined vm limit.
2025-03-10tests: dd: ensure posix_fadvise errors are handledPádraig Brady-0/+56
* tests/dd/nocache_fail.sh: Add a test case for the recent fix.
2025-01-01maint: update all copyright year number rangesPádraig Brady-18/+18
Update to latest gnulib with new copyright year. Run "make update-copyright" and then... * gnulib: Update included in this commit as copyright years are the only change from the previous gnulib commit. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. * tests/sample-test: Adjust to use the single most recent year.
2024-11-20dd: port big-offset test to macOS 12.6Paul Eggert-3/+3
* tests/dd/skip-seek-past-file.sh: Do not assume that seek to exactly OFF_T_MAX should fail; it works on macOS 12.6 and POSIX allows this. Come to think of it, it should work on Solaris too, if someone ever comes across a Solaris host with a file system that allows such files.
2024-11-19tests: fix inconsistent use of getlimits_Pádraig Brady-1/+1
* tests/dd/skip-seek-past-file.sh: s/eval $(getlimits)/getlimits_/
2024-05-16dd: skip some alloc tests on ZFSPaul Eggert-1/+4
* tests/dd/sparse.sh: Skip some tests on ZFS.
2024-01-17tests: make ulimit -v interact better with ASANPádraig Brady-1/+1
ulimit -v is generally not supported with ASAN, giving errors like: "ReserveShadowMemoryRange failed while trying to map 0x... bytes. Perhaps you're using ulimit -v" * tests/cp/link-heap.sh: Mention ASAN as a possible reason for skipping. * tests/csplit/csplit-heap.sh: Likewise. * tests/cut/cut-huge-range.sh: Likewise. * tests/dd/no-allocate.sh: Likewise. * tests/printf/printf-surprise.sh: Likewise. * tests/rm/many-dir-entries-vs-OOM.sh: Likewise. * tests/head/head-c.sh: Only skip the part of the test needing ulimit. * tests/split/line-bytes.sh: Likewise.
2024-01-01maint: update all copyright year number rangesPádraig Brady-18/+18
Update to latest gnulib with new copyright year. Run "make update-copyright" and then... * gnulib: Update included in this commit as copyright years are the only change from the previous gnulib commit. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Manually update copyright year, until we fully sync with gnulib at a later stage. * tests/sample-test: Adjust to use the single most recent year.
2023-06-11dd: fix parsing of numbers with more than two multipliersPádraig Brady-0/+12
* src/dd.c (parse_integer): Use recursion to support more than two multipliers. Also protect suffix[-1] access to ensure we don't inspect before the passed string. * tests/dd/bytes.sh: Add test cases. * doc/coreutils.texi (dd invocation): Note the support for specifying many multipliers in a number. * NEWS: Mention the bug fix. Fixes https://bugs.debian.org/1037275
2023-01-01maint: update all copyright year number rangesPádraig Brady-18/+18
Update to latest gnulib with new copyright year. Run "make update-copyright" and then... * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Manually update copyright year, until we fully sync with gnulib at a later stage. * tests/sample-test: Adjust to use the single most recent year.
2022-02-22dd: counts ending in "B" now count bytesPaul Eggert-31/+38
This implements my suggestion in Bug#54112. * src/dd.c (usage): Document the change. (parse_integer, scanargs): Implement the change. Omit some now-obsolete checks for invalid flags. * tests/dd/bytes.sh: Test the new behavior, while retaining checks for the now-obsolete usage. * tests/dd/nocache_eof.sh: Avoid now-obsolete usage.
2022-02-22dd: support iseek= and oseek=Paul Eggert-0/+10
Alias iseek=N to skip=N, oseek=N to seek=N (Bug#45648). * src/dd.c (scanargs): Parse iseek= and oseek=. * tests/dd/skip-seek.pl (sk-seek5): New test case.
2022-01-27dd: improve integer overflow checkingPaul Eggert-4/+14
* src/dd.c: Prefer signed to unsigned types where either will do, as this helps improve checking with gcc -fsanitize=undefined. Limit the signed types to their intended ranges. (MAX_BLOCKSIZE): Don’t exceed IDX_MAX - slop either. (input_offset_overflow): Remove; overflow now denoted by negative. (parse_integer): Return INTMAX_MAX on overflow, instead of unspecified. Do not falsely report overflow for ‘00x99999999999999999999999999999’. * tests/dd/misc.sh: New test for 00xBIG. * tests/dd/skip-seek-past-file.sh: Adjust to new diagnostic wording. New test for BIGxBIG.
2022-01-02maint: update all copyright year number rangesPádraig Brady-18/+18
Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. * tests/sample-test: Adjust to use the single most recent year.
2021-01-01maint: update all copyright year number rangesPádraig Brady-18/+18
Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. * tests/sample-test: Adjust to use the single most recent year.
2020-07-08tests: simplify since expr now works on bignumsPaul Eggert-2/+1
* cfg.mk (sc_prohibit_expr_unsigned): Remove. * tests/dd/skip-seek-past-dev.sh (DEV_OFLOW): * tests/id/setgid.sh (gp1): * tests/misc/cut-huge-range.sh (CUT_MAX): * tests/misc/expr.pl: * tests/misc/sort-discrim.sh: Assume expr works on bignums. * tests/misc/cut-huge-range.sh (subtract_one): Remove; no longer needed.
2020-06-30tests: avoid spurious testsuite failureAndreas Schwab-1/+1
* tests/dd/stats.sh: Increase timeout. Fixes https://bugs.gnu.org/42135
2020-02-29tests: avoid false failures on darwin 19.2.0Pádraig Brady-1/+10
With these adjustments, all tests pass on macOS Catalina. * tests/dd/sparse.sh: Adjust so that systems like apfs that don't create holes < 16 MiB do not fail erroneously. * tests/touch/trailing-slash.sh: Darwin was seen to dereference symlinks to files when given a trailing slash, so avoid that particular case.
2020-01-01maint: update all copyright year number rangesPádraig Brady-18/+18
Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. * tests/sample-test: Adjust to use the single most recent year.
2019-05-26doc: clarify dd sparse detection is by *output* blockKevin Locke-4/+4
The wording of the dd --help text suggests that output will be skipped for sparse *input* blocks (i.e. that NUL-checking is done on input blocks) while the code actually checks/skips all-NUL *output* blocks.[1] * src/dd.c (usage): Update the --help text to clarify the above. * tests/dd/sparse.sh: Ensure sparseness is controlled with obs. [1]: https://superuser.com/a/1136358
2019-01-01maint: update all copyright year number rangesAssaf Gordon-18/+18
Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. * tests/sample-test: Adjust to use the single most recent year.
2018-01-01maint: update all copyright year number rangesPádraig Brady-18/+18
Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. * tests/sample-test: Adjust to use the single most recent year.
2017-12-10tests: fix false failure in new dd/nocache_eof testPádraig Brady-3/+3
* test/dd/nocache_eof.sh: Also handle fadvise64_64 which is used on 32 bit x86. Note strace internally maps fadvise64_64 to {arm,xtensa}_fadvise64_64.
2017-11-24dd: support iflag=direct with arbitrary sized filesPádraig Brady-2/+2
* src/dd.c (iread): Handle read error with a non-aligned file offset in the O_DIRECT case. This is not an issue on XFS at least, but on EXT4 the final read will return EINVAL rather than the expected 0 to indicate EOF. * tests/dd/direct.sh: Test the iflag=direct case also. * NEWS: Mention the improvement.
2017-10-24tests: avoid false failure when O_DIRECT isn't supportedPádraig Brady-11/+10
* tests/dd/nocache_eof.sh: Only run the O_DIRECT tests when 512 byte alignment is supported. Otherwise with older XFS on systems with > 1MiB pages, or on file systems not supporting O_DIRECT, there would have been false failures. * tests/dd/direct.sh: Clarify the skip message.
2017-10-24dd: fix nocache regions passed to posix_fadvise()Pádraig Brady-0/+98
Previously with oflag=direct the call to invalidate_cache() was not passed to the kernel, as it was less than a page size, and a subsequent call was not made to invalidate the pending space. Similarly with oflag=nocache the pending space at EOF was not invalidated. Even though these amount to only a single page in the page cache it can be significant. For example on XFS before kernel patch v4.9-rc1-4-g0ee7a3f, O_DIRECT files would have been read inefficiently if any pages were cached, even if they were already synced to storage. * src/dd.c (i_nocache_eof, o_nocache_eof): New bools used to control when we want invalidate_cache(,0) to clear to EOF. (cache_round): Use IO_BUFSIZE (currently 132KiB) to minimize calls to the relatively expensive advise function, rather than page_size. This also makes it clear that while the kernel function operates on pages, this size is chosen for performance reasons. (invalidate_cache): Refactor to share more code between input and output paths. Use i_nocache_eof and o_nocache_eof rather than proxying off max_records. Ensure we invalidate full pages when clearing to EOF as the kernel will ignore any non complete pages. Fix the offset used for the output path. (dd_copy): Invalidate the cache of the input after the offset is updated, for consistency and so we don't try to invalidate before the start of the file. When we read EOF on input, set flags so that we invalidate to EOF. (main): Invalidate to EOF in more cases, by depending on the i_nocache_eof and o_nocache_eof flags. * doc/coreutils.texi (dd invocation): Clarify the alignment and persisted caveats on the example applying "nocache" to part of a file. * tests/dd/nocache_eof.sh: A new test. * tests/local.mk: Reference the new test. * NEWS: Mention the bug fix. Issue reported by Eric Bergen.
2017-09-19all: prefer HTTPS in URLsPaul Eggert-17/+17
2017-08-29tests: don't fail tests when failing to write filesPádraig Brady-3/+3
* tests/sample-test: Use framework_error_ rather than fail=1 * tests/chown/deref.sh: Likewise. * tests/chown/preserve-root.sh: Likewise. * tests/cp/src-base-dot.sh: Likewise. * tests/dd/unblock-sync.sh: Likewise. * tests/du/2g.sh: Likewise. * tests/du/inacc-dest.sh: Likewise. * tests/du/one-file-system.sh: Likewise. * tests/fmt/goal-option.sh: Likewise. * tests/ln/hard-backup.sh: Likewise. * tests/ls/color-dtype-dir.sh: Likewise. * tests/ls/m-option.sh: Likewise. * tests/ls/stat-dtype.sh: Likewise. * tests/ls/time-style-diag.sh: Likewise. * tests/ls/x-option.sh: Likewise. * tests/misc/chcon.sh: Likewise. * tests/misc/nohup.sh: Likewise. * tests/misc/od-N.sh: Likewise. * tests/misc/sort-compress.sh: Likewise. * tests/misc/tac-continue.sh: Likewise. * tests/misc/time-style.sh: Likewise. * tests/mv/backup-dir.sh: Likewise. * tests/mv/dir2dir.sh: Likewise. * tests/rm/dir-no-w.sh: Likewise. * tests/rm/dir-nonrecur.sh: Likewise. * tests/rm/inaccessible.sh: Likewise. * tests/rm/interactive-always.sh: Likewise. * tests/rm/interactive-once.sh: Likewise. * tests/rm/rm3.sh: Likewise. * tests/rm/v-slash.sh: Likewise. * tests/touch/relative.sh: Likewise.
2017-01-01maint: update all copyright year number rangesPádraig Brady-17/+17
Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. * tests/sample-test: Adjust to use the single most recent year.
2016-11-04dd: warn about counts specified with confusing 0x prefixPádraig Brady-0/+10
* src/dd.c (parse_integer): Suggest to use "00x" instead of "0x", which is significant for the "count", "seek", and "skip" operands. * tests/dd/misc.sh: Add a test case. Fixes http://bugs.gnu.org/24874
2016-04-21tests: avoid potential overflows with `expr`Pádraig Brady-1/+2
* cfg.mk (sc_prohibit_expr_unsigned): expr uses intmax_t internally when GMP is not available, so flag any uses of unsigned limits. * tests/misc/timeout-parameters.sh: Remove the overflow related to UINT_MAX as it's handled by the following case. Change the following case from 99... to $TIME_T_OFLOW to be more expressive in what it's actually testing. Directly check that commands succeed, rather than inspecting $? afterwards. * tests/dd/skip-seek-past-dev.sh: Guard against large device sizes. * tests/id/setgid.sh: Protect: Guard against large group IDs. * tests/misc/cut-huge-range.sh: Tweak comment to avoid syntax check. It's tempting to simplify to just skip the test if expr fails, but SIZE_MAX > INTMAX_MAX is the common case.
2016-01-18tests: adjust delays to avoid false positivesPádraig Brady-1/+1
* tests/rm/dangling-symlink.sh: The effective delay was only 1.5s. So delay before the operation, and increase the iteration count by 1 to increase the delay to 6.3s. This failure was noticed once on a FreeBSD 10.2 x86_64 virtual machine. * tests/dd/stats.sh: Remove quotes on sleep argument to ensure arguments are accumulated appropriately. * tests/du/move-dir-while-traversing.sh: sleep before operation, to increase the effective delay from 1.6s to 3.2s. * tests/tail-2/flush-initial.sh: Likewise. * tests/tail-2/pipe-f2.sh: Sleep first so that the effective delay matches the commented value.
2016-01-10tests: fix races wrt output files of background processesBernhard Voelker-0/+2
At least the false positive in tail-2/follow-stdin.sh could be seen on a 4-core i5 system with -j8. Fix similar cases. too. * tests/tail-2/follow-stdin.sh: Empty the 'out' file in each iteration. Otherwise, under heavy system load, 'check_tail_output' would see the expected output from the previous round before tail would have the chance to come up in the background. While at it, move the creation of the 'exp' file out of the loop. * tests/dd/stats.sh: Empty the output file of the background process here, too. * tests/misc/cat-buf.sh: Likewise. * tests/misc/stdbuf.sh: Likewise. * tests/tail-2/wait.sh: Likewise.
2016-01-01maint: update all copyright year number rangesPádraig Brady-17/+17
Run "make update-copyright" and then... * gnulib: Update to latest with copyright year adjusted. * tests/init.sh: Sync with gnulib to pick up copyright year. * bootstrap: Likewise. * tests/sample-test: Adjust to use the single most recent year.
2015-12-31dd: summarize in --human-readable format tooPaul Eggert-5/+5
Problem reported by Linda Walsh in: http://bugs.gnu.org/17505 * NEWS: Document this. * doc/coreutils.texi (dd invocation): Use a simpler script. Adjust output example to match new behavior. * src/dd.c (human_size): Remove. All uses changed to use human_readable and ... (human_opts): ... this new constant. (abbreviation_lacks_prefix): New function. (print_xfer_stats): Use it. Output both --si and --human-readable summaries, but only if they have prefixes. * tests/dd/reblock.sh, tests/dd/stats.sh: Test new behavior.
2015-11-10tests: ensure programs are built before testingPádraig Brady-1/+1
programs may not be built due to missing system dependencies, or any program can be excluded at configure time with --enable-no-install-program. So ensure we're not testing the system versions in these cases. * init.cfg (print_ver_): Call require_built_ first. * tests/misc/tty-eof.pl: Skip programs not built. * tests/Coreutils.pm (run_tests): Likewise. * tests/misc/ls-misc.pl: Use 'env test' rather than abs path. * tests/misc/test-diag.pl: Likewise. * tests/local.mk: Adjust include order for dependencies. * tests/misc/arch.sh: Remove redundant calls to require_built_. * tests/misc/chroot-fail.sh: Likewise. * tests/misc/groups-dash.sh: Likewise. * tests/misc/groups-version.sh: Likewise. * tests/misc/stdbuf.sh: Likewise. * tests/cp/acl.sh: Remove problematic call to print_ver_ [gs]etfacl. * tests/mv/acl.sh: Likewise. * cfg.mk (sc_env_test_dependencies): A new syntax check to enforce specifying dependencies with print_ver_ for programs specified through the env command. * du/bigtime.sh: Add new print_ver_ dependencies. * du/max-depth.sh: Likewise. * dd/ascii.sh: Likewise. * tests/ls/capability.sh: Likewise. * tests/ls/root-rel-symlink-color.sh: Likewise. * tests/misc/chroot-fail.sh: Likewise. * tests/misc/readlink-fp-loop.sh: Likewise. * tests/misc/sort-debug-keys.sh: Likewise. * tests/readlink/can-e.sh: Likewise. * tests/readlink/can-f.sh: Likewise. * tests/readlink/can-m.sh: Likewise. * tests/tail-2/inotify-race.sh: Likewise. * tests/tail-2/inotify-race2.sh: Likewise. * tests/touch/no-create-missing.sh: Likewise. * tests/touch/no-dereference.sh: Likewise. * tests/misc/printenv.sh: Tweak to avoid syntax check trigger. * tests/misc/help-version.sh: Likewise. * tests/misc/yes.sh: Likewise. * tests/misc/printf-quote.sh: Use previously unused $prog. * configure.ac (EXTRA_MANS): Add $gl_no_install_prog to the list so that check-x-vs-1 syntax check is satisfied.
2015-11-10tests: cleanup trapping of signal namesPádraig Brady-1/+2
A side effect of this cleanup is we no longer depend on our own kill command being built. * init.cfg (require_trap_signame_): A new function to verify that the shell supports specifying traps by signal name. (require_kill_group_): A new function to ensure the shell supports sending a signal to a group. * tests/du/move-dir-while-traversing.sh: Ensure trap supports signal names. * tests/misc/stty-invalid.sh: Likewise. * tests/misc/stty-pairs.sh: Likewise. * tests/misc/stty-row-col.sh: Likewise. * tests/misc/stty.sh: Likewise. * tests/misc/sort-compress.sh: Likewise. Also simplify trap call. * tests/install/trap.sh: Likewise. * tests/misc/timeout.sh: Likewise. * tests/dd/stats.sh: Likewise. Also use default kill command. * tests/misc/timeout-group.sh: Likewise.
2015-10-08tests: adjust recent changes to virtual memory limitsPádraig Brady-4/+4
* tests/dd/no-allocate.sh: Account for timeout(1) when determining the required mem, as timeout has additional shared libs. This avoids the need for the hardcoded 4M addition to the limit. * tests/misc/head-c.sh: Increase the base limit, to account for the fact that head(1) will allocate some additional mem in this case. * tests/misc/cut-huge-range.sh: Remove mention of specific limits. * tests/misc/printf-surprise.sh: Likewise. Reported by Dmitry V. Levin
2015-09-22maint: use adaptive approach for `ulimit -v` based testsBernhard Voelker-5/+11
When configured with either 'symlinks' or 'shebangs' as value for the --enable-single-binary option, tests based on `ulimit -v` are skipped. The reason is that the multicall 'coreutils' binary requires much more memory due to shared libraries being loaded, and the size of the 'date' binary (~290KiB) compared to the multicall binary (~5MiB), of course. Finally, in the case of 'shebangs', the starting shell requires more memory, too Instead of using hard-coded values for the memory limit, use an adaptive approach: first determine the amount of memory for a similar, yet more trivial invocation of the command, and then do the real test run using that limit (plus some buffer in some cases). * init.cfg (require_ulimit_v_): Remove function. (get_min_ulimit_v_): Add function to determine the minimum memory limit required for a given command in an adaptive way. * cfg.mk (sc_prohibit_test_ulimit_without_require_): Change the name of the above function in the syntax-check rule. * tests/cp/link-heap.sh: Use the above function to determine the minimum memory required to run a command simpler than in the real test run. Use that limit plus a buffer there. While at it, change to list of commands in the subshell to fail also if the beginning `ulimit -v` fails. * tests/dd/no-allocate.sh: Likewise. * tests/misc/csplit-heap.sh: Likewise. * tests/misc/cut-huge-range.sh: Likewise. * tests/misc/head-c.sh: Likewise. * tests/misc/printf-surprise.sh: Likewise. * tests/split/line-bytes.sh: Likewise. * tests/rm/many-dir-entries-vs-OOM.sh: Likewise - doing it separately for each program under test.
2015-07-01tests: fix false failure on slower systemsPádraig Brady-3/+3
* tests/dd/stats.sh: Wait 20s for dd to write 250MB through a fifo, rather than 10s for 500MB. The failure was seen often on a lightly loaded SPARC-Enterprise-T5220 running Solaris 10.
2015-05-14tests: fix async allocation race on BTRFSPádraig Brady-1/+8
* tests/dd/sparse.sh: Sync files before checking allocations, which may be done asynchronously on NFS and BTRFS at least. Also mark this test as very expensive on remote file systems. * tests/du/2g.sh: Likewise, also use fallocate if available to efficiently allocate the large file, otherwise skip on remote file systems. * tests/tail-2/inotify-rotate-resources.sh: Use the more standard is_local_dir_() to check remoteness. * tests/cp/fiemap-empty.sh: Comment on the sync issue for this currerntly unused test. Fixes http://bugs.gnu.org/20570
2015-05-11tests: cleanup background processes upon interruptionPádraig Brady-1/+9
Reap background processes so that: - Stray processes aren't left on the system - Files aren't held open causing deletion issues on NFS - Partitions used to run the tests from can be unmounted * tests/tail-2/F-vs-missing.sh: Add the `kill && wait` of the background $pid(s) to cleanup_(). * tests/tail-2/F-vs-rename.sh: Likewise. * tests/tail-2/f-vs-rename.sh: Likewise. * tests/tail-2/append-only.sh: Likewise. * tests/tail-2/assert-2.sh: Likewise. * tests/tail-2/assert.sh: Likewise. * tests/tail-2/flush-initial.sh: Likewise. * tests/tail-2/inotify-hash-abuse.sh: Likewise. * tests/tail-2/inotify-hash-abuse2.sh: Likewise. * tests/tail-2/inotify-race.sh: Likewise. * tests/tail-2/inotify-rotate-resources.sh: Likewise. * tests/tail-2/inotify-rotate.sh: Likewise. * tests/tail-2/pid.sh: Likewise. * tests/tail-2/pipe-f2.sh: Likewise. * tests/tail-2/retry.sh: Likewise. * tests/tail-2/symlink.sh: Likewise. * tests/tail-2/tail-n0f.sh: Likewise. * tests/tail-2/wait.sh: Likewise. * tests/cp/existing-perm-race.sh: Likewise. * tests/cp/file-perm-race.sh: Likewise. * tests/cp/parent-perm-race.sh: Likewise. * tests/cp/sparse-to-pipe.sh: Likewise. * tests/dd/stats.sh: Likewise. * tests/du/move-dir-while-traversing.sh: Likewise. * tests/misc/cat-buf.sh: Likewise. * tests/misc/help-version.sh: Likewise. * tests/misc/printf-surprise.sh: Likewise. * tests/misc/sort-compress-proc.sh: Likewise. * tests/misc/sort-spinlock-abuse.sh: Likewise. * tests/misc/stdbuf.sh: Likewise. * tests/misc/tac-continue.sh: Likewise. * tests/misc/timeout-group.sh: Likewise. * tests/mv/i-3.sh: Likewise. * tests/rm/dangling-symlink.sh: Likewise. * tests/rm/isatty.sh: Likewise. * cfg.mk (sc_prohibit_test_background_without_cleanup_): A new syntax-check to ensure cleanup_() is defined when background tasks are created in a test.