root@x104:[/data/prj/gnu/ coreutils/coreutils-8.20]cd tests root@x104:[/data/prj/gnu/coreutils/coreutils-8.20/tests]truss -f -o /tmp/tr m> cd .. && make check TESTS=tests/tail-2/F-vs-missing.sh SUBDIRS=. make[1]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20' GEN public-submodule-commit make check-recursive make[2]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20' Making check in . make[3]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20' make check-TESTS check-local make[4]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20' make[5]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20' PASS: tests/tail-2/F-vs-missing.sh ============= 1 test passed ============= make[5]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20' GEN check-README GEN check-duplicate-no-install GEN sc-avoid-builtin GEN sc-avoid-io GEN sc-avoid-non-zero GEN sc-avoid-path GEN sc-avoid-timezone GEN sc-avoid-zeroes GEN sc-exponent-grouping GEN sc-lower-case-var GEN sc-use-small-caps-NUL GEN check-texinfo make[4]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20' make[3]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20' make[2]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20' make[1]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20' root@x104:[/data/prj/gnu/coreutils/coreutils-8.20/tests] So, for directory ./tests it passes; from . it does not :) ========= root@x104:[/data/prj/gnu/coreutils/coreutils-8.20/tests]cd .. root@x104:[/data/prj/gnu/coreutils/coreutils-8.20]truss -f -o /tmp/tr make check TESTS=tail-2/F-vs-missing.sh GEN public-submodule-commit make check-recursive make[1]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20' Making check in po make[2]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20/po' make[2]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20/po' Making check in . make[2]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20' make check-TESTS check-local make[3]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20' make[4]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.20' cat: tail-2/F-vs-missing.log: No such file or directory ================================================ GNU coreutils 8.20: ./tests/test-suite.log ================================================ 1 of 1 test failed. .. contents:: :depth: 2 ====================================== 1 of 1 test failed See ./tests/test-suite.log Please report to bug-coreutils@gnu.org ====================================== make[4]: *** [tests/test-suite.log] Error 1 make[4]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20' make[3]: *** [check-TESTS] Error 2 make[3]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20' make[2]: *** [check-am] Error 2 make[2]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/data/prj/gnu/coreutils/coreutils-8.20' make: *** [check] Error 2 root@x104:[/data/prj/gnu/coreutils/coreutils-8.20] Suggestions? On Thu, Nov 15, 2012 at 6:39 PM, Paul Eggert wrote: > There are a lot of failures there, though none seem to > be all that serious for real-world use. Probably the best > thing to do is to go through them one by one. The first > failure is in tests/tail-2/F-vs-missing.sh, and the log > says: > > + rm -rf /data/prj/gnu/coreutils/coreutils-8.20/gt-F-vs-missing.sh.f7EB > rm: cannot remove > '/data/prj/gnu/coreutils/coreutils-8.20/gt-F-vs-missing.sh.f7EB': File > exists > > This indicates that coreutils 'rm -rf' somehow missed some > files under that directory, and then tried to remove the > directory without removing the files, or perhaps the kernel > didn't remove the files, or something like that. > > Can you please 'truss' the test and see what system calls > were executed near the point of failure? One way to do that > would be something like this: > > cd tests > truss -f -o /tmp/tr make check TESTS=tail-2/F-vs-missing.sh > > and then look near the end of /tmp/tr. >