[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: parallel-tests

From: Jim Meyering
Subject: Re: parallel-tests
Date: Tue, 17 Mar 2009 14:40:59 +0100

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";              \

reply via email to

[Prev in Thread] Current Thread [Next in Thread]