<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coreutils/tests/tail, branch master</title>
<subtitle>Mirror of https://https.git.savannah.gnu.org/git/coreutils.git/
</subtitle>
<id>https://git.shady.money/coreutils/atom?h=master</id>
<link rel='self' href='https://git.shady.money/coreutils/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/'/>
<updated>2026-04-10T10:09:10Z</updated>
<entry>
<title>tests: Avoid accidental matching of the vendor field of $host</title>
<updated>2026-04-10T10:09:10Z</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2026-04-10T06:13:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=e2e8d9f389d127ab3c93ce686287c4af16c95929'/>
<id>urn:sha1:e2e8d9f389d127ab3c93ce686287c4af16c95929</id>
<content type='text'>
* tests/chgrp/basic.sh: Test $host_os, not $host_triplet.
* tests/chown/separator.sh: Likewise.
* tests/rm/r-root.sh: Likewise.
* tests/tail/pipe-f.sh: Likewise.
* tests/tail/tail-c.sh: Likewise.
* tests/tee/tee.sh: Likewise.
* tests/touch/dangling-symlink.sh: Likewise.
</content>
</entry>
<entry>
<title>tests: fix "Hangup" termination of non-interactive runs</title>
<updated>2026-02-24T19:25:58Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2026-02-24T15:44:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=8fab3c6d30d812cd681e51221bae27930f62615a'/>
<id>urn:sha1:8fab3c6d30d812cd681e51221bae27930f62615a</id>
<content type='text'>
This avoids the test harness being terminated like:
  make[1]: *** [Makefile:24419: check-recursive] Hangup
  make[3]: *** [Makefile:24668: check-TESTS] Hangup
  make: *** [Makefile:24922: check] Hangup
  make[2]: *** [Makefile:24920: check-am] Hangup
  make[4]: *** [Makefile:24685: tests/misc/usage_vs_refs.log] Error 129
  ...

This happened sometimes when the tests were being run non interactively.
For example when run like:

  setsid make TESTS="tests/timeout/timeout.sh \
   tests/tail/overlay-headers.sh" SUBDIRS=. -j2 check

Note the race window can be made bigger by adding a sleep
after tail is stopped in overlay-headers.sh

The race can trigger the kernel to induce its job control
mechanism to prevent stuck processes.
I.e. where it sends SIGHUP + SIGCONT to a process group
when it determines that group may become orphaned,
and there are stopped processes in that group.

* tests/tail/overlay-headers.sh: Use setsid(1) to keep the stopped
tail process in a separate process group, thus avoiding any kernel
job control protection mechanism.
* tests/timeout/timeout.sh: Use setsid(1) to avoid the kernel
checking the main process group when sleep(1) is reparented.
Fixes https://bugs.gnu.org/80477
</content>
</entry>
<entry>
<title>tests: tail/overlay-headers.sh: fix various issues</title>
<updated>2026-01-08T12:08:14Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2026-01-07T20:29:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=e1cbe82cc6131b2cb8441b948f75a0eb28bdcc40'/>
<id>urn:sha1:e1cbe82cc6131b2cb8441b948f75a0eb28bdcc40</id>
<content type='text'>
* tests/tail/overlay-headers.sh (cleanup_): Ensure we send SIGCONT
to the tail process, otherwise we would hang if the test is terminated
while the tail process is in stopped state.
(wait4stopped_): A new function to ensure tail is in the stopped state
before we start writing to the monitored files.
Also remove "---disable-inotify" from $fastpoll so we actually
test the inotify code (where supported).
Also remove the timeout(1) wrapper, so we actually suspend tail(1).

Reported by Bruno Haible on macOS 26
</content>
</entry>
<entry>
<title>maint: run 'make update-copyright'</title>
<updated>2026-01-01T18:56:16Z</updated>
<author>
<name>Collin Funk</name>
<email>collin.funk1@gmail.com</email>
</author>
<published>2026-01-01T18:56:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=73d3a49f45770c45808e4fdab35ae4fe248a3cd9'/>
<id>urn:sha1:73d3a49f45770c45808e4fdab35ae4fe248a3cd9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests: use tail --debug to determine inotify support</title>
<updated>2025-11-17T14:50:04Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2025-11-14T17:03:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=eebe2abbb6a582550d88d0ee74be4d4f0bf253bd'/>
<id>urn:sha1:eebe2abbb6a582550d88d0ee74be4d4f0bf253bd</id>
<content type='text'>
* init.cfg (require_inotify_supported_): A new function that
indicates inotify support for a file in the current directory,
using tail --debug, rather than awkward strace checks etc.
* tests/tail/inotify-dir-recreate.sh: Call require_inotify_supported_.
 tests/tail/inotify-only-regular.sh: Likewise.
 tests/tail/inotify-race.sh: Likewise.
 tests/tail/inotify-race2.sh: Likewise.
</content>
</entry>
<entry>
<title>tail: add --debug to report the --follow implementation</title>
<updated>2025-11-17T13:55:12Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2025-11-14T16:26:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=d611bcbffff10b09fb98923ed1645620c2086e75'/>
<id>urn:sha1:d611bcbffff10b09fb98923ed1645620c2086e75</id>
<content type='text'>
* doc/coreutils.texi (tail invocation): Describe --debug.
* src/tail.c (tail_forever, tail_forever_inotify): Output
which --follow implementation is being used.
* tests/tail/debug.sh: Add a new test.
* tests/local.mk: Reference the new test.
* NEWS: Mention the new feature.
</content>
</entry>
<entry>
<title>tests: tail: avoid a test failure on GNU/Hurd</title>
<updated>2025-11-08T19:43:07Z</updated>
<author>
<name>Collin Funk</name>
<email>collin.funk1@gmail.com</email>
</author>
<published>2025-11-08T06:15:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=56fc0e6f8d4d7cce77fa36a4dd2500b3841645ef'/>
<id>urn:sha1:56fc0e6f8d4d7cce77fa36a4dd2500b3841645ef</id>
<content type='text'>
* tests/tail/tail-c.sh: Allow 'tail -c 4096 /dev/urandom' to run forever
on GNU/Hurd since lseek fails with ESPIPE.
</content>
</entry>
<entry>
<title>tests: avoid false failure due to small timeout</title>
<updated>2025-11-08T10:14:38Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2025-11-08T10:14:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=cc88c2a8071c34b801841e3ac50f56ef00ef28d9'/>
<id>urn:sha1:cc88c2a8071c34b801841e3ac50f56ef00ef28d9</id>
<content type='text'>
* tests/tail/tail-c.sh: Tests that fail after a timeout
should use as least 10s to avoid intermittent failures
on slow/loaded hosts.
</content>
</entry>
<entry>
<title>tail: fix tailing larger number of lines in regular files</title>
<updated>2025-09-24T21:37:18Z</updated>
<author>
<name>Hannes Braun</name>
<email>hannes@hannesbraun.net</email>
</author>
<published>2025-09-24T19:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=914972e80dbf82aac9ffe3ff1f67f1028e1a788b'/>
<id>urn:sha1:914972e80dbf82aac9ffe3ff1f67f1028e1a788b</id>
<content type='text'>
* src/tail.c (file_lines): Seek to the previous block instead of the
beginning (or a little before) of the block that was just scanned.
Otherwise, the same block is read and scanned (at least partially)
again. This bug was introduced by commit v9.7-219-g976f8abc1.
* tests/tail/basic-seek.sh: Add a new test.
* tests/local.mk: Reference the new test.
* NEWS: mention the bug fix.
</content>
</entry>
<entry>
<title>tests: tail: avoid false failure with overlayfs</title>
<updated>2025-09-21T12:45:54Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2025-09-21T12:45:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=076e24741685d0041d81f53fd32dc7f5878b22a9'/>
<id>urn:sha1:076e24741685d0041d81f53fd32dc7f5878b22a9</id>
<content type='text'>
* tests/tail/inotify-dir-recreate.sh: Add an extra check
that inotify is in use, as it's required for this test.
Inotify is avoided with overlayfs for which the
df --local check is not sufficient exclusion for.
</content>
</entry>
</feed>
