Ralf Wildenhues wrote: > Hi Jim, > > this patch enables the use of Automake's parallel-tests instead of using > check.mk (use the 'next' branch of git Automake). With it, coreutils > make -jN check > > still passes, but distcheck fails, for reasons not yet apparent to me. > > FAIL: mv/i-1 (exit: 255) > ======================== > > Error in tempdir() using > /tmp/coreutils/coreutils-7.1.34-1b9a13/_build/tests/../../tests/mv/i-1.tmp-XXXX: > Parent directory > (/tmp/coreutils/coreutils-7.1.34-1b9a13/_build/tests/../../tests/mv) is not > writable > at ../../tests/CuTmpdir.pm line 98 > BEGIN failed--compilation aborted. > Use of uninitialized value in concatenation (.) or string at > ../../tests/CuTmpdir.pm line 56. > ../../tests/mv/i-1: failed to chdir to :
Hi Ralf, Thanks a lot for doing that! I'll be happy to apply it once those changes hit master. I tried that patch, reproduced the failure, and tracked it down to what must be a change in how the internal (to 'make check's Makefile code) $tst variable is set. Before CuTmpdir would get a directory based on builddir, but the new $tst is in $srcdir, and part of "make distcheck"s job is to ensure that nothing modifies srcdir, so it makes the whole tree read-only. Then, CuTmpdir's attempt to create a temporary directory for "make check" would fail. If I make the following change, to use "$f" instead (also undocumented), "make distcheck" passes once again: diff --git a/tests/CuTmpdir.pm b/tests/CuTmpdir.pm index 166e50b..ffad710 100644 --- a/tests/CuTmpdir.pm +++ b/tests/CuTmpdir.pm @@ -1,7 +1,7 @@ package CuTmpdir; # create, then chdir into a temporary sub-directory -# Copyright (C) 2007-2008 Free Software Foundation, Inc. +# Copyright (C) 2007-2009 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/tests/check.mk b/tests/check.mk index 0c6e7dc..a000eaa 100644 --- a/tests/check.mk +++ b/tests/check.mk @@ -58,7 +58,7 @@ TESTS_ENVIRONMENT = \ if $(PERL) -e 'use warnings' > /dev/null 2>&1; then \ grep '^\#!/usr/bin/perl -T' "$$1" > /dev/null && T_=T || T_=; \ $(PERL) -w$$T_ -I$(srcdir) -MCoreutils \ - -M"CuTmpdir qw($$tst)" -- "$$1"; \ + -M"CuTmpdir qw($$f)" -- "$$1"; \ else \ echo 1>&2 "$$tst: configure did not find a usable version of Perl," \ "so skipping this test"; \ _______________________________________________ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils