GNU bug report logs -
#12778
Failure when running check-root make target
Previous Next
Full log
Message #32 received at 12778 <at> debbugs.gnu.org (full text, mbox):
----- Mail original -----
> De: "Matt Burgess" <matthew <at> linuxfromscratch.org>
> À: 12778 <at> debbugs.gnu.org
> Cc: matthew <at> linuxfromscratch.org
> Envoyé: Jeudi 1 Novembre 2012 21:29:33
> Objet: bug#12778: Failure when running check-root make target
>
> Hi,
>
> When running 'make NON_ROOT_USERNAME=nobody check-root' on
> coreutils-8.20, I get:
>
> CCLD test-xvasprintf
> CC test-yesno.o
> CCLD test-yesno
> make[6]: Leaving directory
> `/home/burgessm/sources/coreutils-8.20/gnulib-tests'
> make check-TESTS
> make[6]: Entering directory
> `/home/burgessm/sources/coreutils-8.20/gnulib-tests'
> make[7]: Entering directory
> `/home/burgessm/sources/coreutils-8.20/gnulib-tests'
> make[7]: *** No rule to make target `tests/chown/basic.sh.log',
> needed
> by `test-suite.log'. Stop.
> make[7]: Leaving directory
> `/home/burgessm/sources/coreutils-8.20/gnulib-tests'
> make[6]: *** [check-TESTS] Error 2
>
> This looks a little odd to me, as it appears that its finished building
> the gnulib-tests, comes out of that directory, then immediately goes
> back in to then start running coreutils' own tests, which it has already
> successfully run. Unless I've completely misread the logs, that is.
>
> This is on a Fedora-17 host, in case it's caused by make (3.82) or
> something else in the toolchain.
>
> Thanks,
>
> Matt.
>
>
I think this was commit 21b5147fd8ee493727e2a3ca17b3bf695c5024d3 in v8.20 that broke the behavior.
-# Some tests always need root privileges, others need them only sometimes.
-ALL_RECURSIVE_TARGETS += check-root
-check-root:
- cd tests && $(MAKE) $@ SUBDIRS=
-
Previously check-root was a recursive target going nowhere but in tests directory.
Now, top Makefile contain
ALL_RECURSIVE_TARGETS = distcheck-hook check-root
SUBDIRS = po . gnulib-tests
check-root:
$(MAKE) check TESTS='$(root_tests)'
So check-root target would go in 'po . gnulib-tests' directories if not stopped by the above issue.
With coreutils-8.20, same result could be achieved using :
make NON_ROOT_USERNAME=nobody SUBDIRS= check-root
This patch allow again "make NON_ROOT_USERNAME=nobody check-root" to run without the error above.
This worked for me running autoreconf -fiv && configure again && make && make NON_ROOT_USERNAME=nobody check-root
I supposed it is not required to run both 'check-TESTS check-local' targets while running check-root, so I replaced too 'check' target by 'check-TESTS'.
Gilles
diff --git a/tests/local.mk b/tests/local.mk
index 1b0ace4..f3b4849 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -137,7 +137,7 @@ all_root_tests = \
ALL_RECURSIVE_TARGETS += check-root
.PHONY: check-root
check-root:
- $(MAKE) check TESTS='$(root_tests)'
+ $(MAKE) check-TESTS TESTS='$(root_tests)' SUBDIRS=
# Do not choose a name that is a shell keyword like 'if', or a
# commonly-used utility like 'cat' or 'test', as the name of a test.
This bug report was last modified 12 years and 219 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.