summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--NEWS4
-rw-r--r--src/Makefile.am4
-rw-r--r--tests/Makefile.am4
-rwxr-xr-xtests/help-version8
-rw-r--r--tests/misc/Makefile.am5
-rwxr-xr-xtests/misc/arch6
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 <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 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