From 89dc0194511bdf7709ad5fc63acd079d6fa62b75 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 10 Jul 2007 22:37:48 +0200 Subject: Skip "arch" test if it's not built. * tests/misc/Makefile.am (built_programs): Define. (TESTS_ENVIRONMENT): Add $(built_programs), for... * tests/misc/arch: ...this: skip the test if arch is not built. * src/Makefile.am (built_programs.list): New rule. * tests/Makefile.am (built_programs): Rename from all_programs. (TESTS_ENVIRONMENT): Use built_programs, not all_programs. * tests/help-version: Likewise. * NEWS: Mention that using --enable-no-install-program=X may cause "make check" to fail. Signed-off-by: Jim Meyering --- ChangeLog | 11 +++++++++++ NEWS | 4 ++++ src/Makefile.am | 4 ++++ tests/Makefile.am | 4 ++-- tests/help-version | 8 ++++---- tests/misc/Makefile.am | 5 +++++ tests/misc/arch | 6 ++++++ 7 files changed, 36 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 770a0e6ef..95f77acb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,16 @@ 2007-07-10 Jim Meyering + Skip "arch" test if it's not built. + * tests/misc/Makefile.am (built_programs): Define. + (TESTS_ENVIRONMENT): Add $(built_programs), for... + * tests/misc/arch: ...this: skip the test if arch is not built. + * src/Makefile.am (built_programs.list): New rule. + * tests/Makefile.am (built_programs): Rename from all_programs. + (TESTS_ENVIRONMENT): Use built_programs, not all_programs. + * tests/help-version: Likewise. + * NEWS: Mention that using --enable-no-install-program=X may + cause "make check" to fail. + Add support for enabling/disabling installation of specified programs. * NEWS: Mention new configure-time options. Mention that neither arch nor su is built/installed, by default. diff --git a/NEWS b/NEWS index 5c83bfd1a..25fa3e98e 100644 --- a/NEWS +++ b/NEWS @@ -35,6 +35,10 @@ GNU coreutils NEWS -*- outline -*- You can inhibit the compilation and installation of selected programs at configure time. For example, to avoid installing "hostname" and "uptime", use ./configure --enable-no-install-program=hostname,uptime + Note: currently, "make check" passes, even when arch and su are not + built (that's the new default). However, if you inhibit the building + and installation of other programs, don't be surprised if some parts + of "make check" fail. ** Bug fixes diff --git a/src/Makefile.am b/src/Makefile.am index c01806e08..dc860f5e4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -286,6 +286,10 @@ all_programs = \ $(bin_SCRIPTS) \ $(EXTRA_PROGRAMS) +built_programs.list: + @echo $(bin_PROGRAMS) $(bin_SCRIPTS) | tr ' ' '\n' \ + | sed -e 's,$(EXEEXT)$$,,' | $(ASSORT) -u + all_programs.list: @echo $(all_programs) | tr ' ' '\n' | sed -e 's,$(EXEEXT)$$,,' \ | $(ASSORT) -u diff --git a/tests/Makefile.am b/tests/Makefile.am index 4371d73a9..682a52c19 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -5,11 +5,11 @@ # current locale considers to be equal. ASSORT = LC_ALL=C sort -all_programs = (cd ../src && MAKEFLAGS= $(MAKE) -s all_programs.list) +built_programs = (cd ../src && MAKEFLAGS= $(MAKE) -s built_programs.list) TESTS = help-version TESTS_ENVIRONMENT = \ - all_programs="`$(all_programs)`" \ + built_programs="`$(built_programs)`" \ PACKAGE_BUGREPORT=$(PACKAGE_BUGREPORT) \ CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \ PATH="$(VG_PATH_PREFIX)`pwd`/../src$(PATH_SEPARATOR)$$PATH" diff --git a/tests/help-version b/tests/help-version index dd037eed6..d882d85f8 100755 --- a/tests/help-version +++ b/tests/help-version @@ -39,7 +39,7 @@ expected_failure_status_dir=2 expected_failure_status_ls=2 expected_failure_status_vdir=2 -case "$all_programs" in +case "$built_programs" in *groups*) if test -w /dev/full && test -c /dev/full \ && echo > /dev/full 2>/dev/null; then @@ -59,7 +59,7 @@ scripts to fail, so it is being removed from the list of programs checked by this test. ************************************************ EOF - all_programs=`echo $all_programs | tr ' ' '\n' | grep -v '^groups$'` + built_programs=`echo $built_programs | tr ' ' '\n' | grep -v '^groups$'` fi ;; esac @@ -67,7 +67,7 @@ esac fail=0 for lang in C fr da; do - for i in $all_programs; do + for i in $built_programs; do # Skip `test'; it doesn't accept --help or --version. test $i = test && continue; @@ -196,7 +196,7 @@ stat_args=$tmp_in unlink_args=$tmp_in lbracket_args=": ]" -for i in $all_programs; do +for i in $built_programs; do # Skip these. case $i in chroot|stty|tty|false|chcon|runcon) continue;; esac diff --git a/tests/misc/Makefile.am b/tests/misc/Makefile.am index 0088e939d..5c1d1eac5 100644 --- a/tests/misc/Makefile.am +++ b/tests/misc/Makefile.am @@ -19,7 +19,11 @@ EXTRA_DIST = $(TESTS) +built_programs = \ + (cd $(top_builddir)/src && MAKEFLAGS= $(MAKE) -s built_programs.list) + TESTS_ENVIRONMENT = \ + built_programs="`$(built_programs)`" \ top_srcdir=$(top_srcdir) \ abs_top_builddir=$(abs_top_builddir) \ srcdir=$(srcdir) \ @@ -40,6 +44,7 @@ TESTS_ENVIRONMENT = \ # will execute the test script rather than the standard utility. TESTS = \ + arch \ pr \ df-P \ pwd-unreadable-parent \ diff --git a/tests/misc/arch b/tests/misc/arch index 4773491b4..a55a02c1c 100755 --- a/tests/misc/arch +++ b/tests/misc/arch @@ -18,6 +18,12 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. +# skip this test if arch isn't being built. +case " $built_programs " in + *" arch "*) ;; + *) (exit 77); exit 77 ;; +esac + if test "$VERBOSE" = yes; then set -x arch --version -- cgit v1.2.3-70-g09d2