Skip "arch" test if it's not built.
authorJim Meyering <jim@meyering.net>
Tue, 10 Jul 2007 20:37:48 +0000 (22:37 +0200)
committerJim Meyering <jim@meyering.net>
Tue, 10 Jul 2007 21:39:05 +0000 (23:39 +0200)
* 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 <jim@meyering.net>
ChangeLog
NEWS
src/Makefile.am
tests/Makefile.am
tests/help-version
tests/misc/Makefile.am
tests/misc/arch

index 770a0e6..95f77ac 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2007-07-10  Jim Meyering  <jim@meyering.net>
 
+       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 5c83bfd..25fa3e9 100644 (file)
--- 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
 
index c01806e..dc860f5 100644 (file)
@@ -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
index 4371d73..682a52c 100644 (file)
@@ -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"
index dd037ee..d882d85 100755 (executable)
@@ -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
 
index 0088e93..5c1d1ea 100644 (file)
 
 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 \
index 4773491..a55a02c 100755 (executable)
 # 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