diff options
author | Jim Meyering <meyering@redhat.com> | 2009-02-27 09:12:14 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2009-03-02 09:35:12 +0100 |
commit | 1c7d5b58476d5bf5ab8db5d025b7d0820611aae7 (patch) | |
tree | 465891eddac2b2f93972397b0b899488e515523b | |
parent | 6449370e9e07939712bbe0ebfad38ad78ab69097 (diff) | |
download | coreutils-1c7d5b58476d5bf5ab8db5d025b7d0820611aae7.tar.xz |
tests: when skipping a test, say why on screen, not just in the log
* tests/test-lib.sh: Redirect also to descriptor 9.
Better one-line why-skip diagnostics.
* tests/check.mk (TESTS_ENVIRONMENT): Redirect 9 to stderr.
* tests/misc/pwd-unreadable-parent: Remove redundant "skipping..." diag.
-rw-r--r-- | tests/check.mk | 3 | ||||
-rwxr-xr-x | tests/misc/pwd-unreadable-parent | 4 | ||||
-rw-r--r-- | tests/test-lib.sh | 16 |
3 files changed, 13 insertions, 10 deletions
diff --git a/tests/check.mk b/tests/check.mk index 527e50581..db5f90093 100644 --- a/tests/check.mk +++ b/tests/check.mk @@ -1,5 +1,5 @@ # Include this file at the end of each tests/*/Makefile.am. -# 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 @@ -52,6 +52,7 @@ TESTS_ENVIRONMENT = \ tmp__=$$TMPDIR; test -d "$$tmp__" || tmp__=.; \ . $(srcdir)/envvar-check; \ TMPDIR=$$tmp__; export TMPDIR; \ + exec 9>&2; \ shell_or_perl_() { \ if grep '^\#!/usr/bin/perl' "$$1" > /dev/null; then \ if $(PERL) -e 'use warnings' > /dev/null 2>&1; then \ diff --git a/tests/misc/pwd-unreadable-parent b/tests/misc/pwd-unreadable-parent index c79daad0c..f5c7ae237 100755 --- a/tests/misc/pwd-unreadable-parent +++ b/tests/misc/pwd-unreadable-parent @@ -3,7 +3,7 @@ # is unreadable. Perform this test only on systems with a usable getcwd # function that has this capability. -# 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 @@ -32,7 +32,7 @@ test $host_os != linux-gnu && # Linux ia64 has the gl_FUNC_GETCWD_ABORT_BUG, so we can't use # the system getcwd. test $REPLACE_GETCWD = 1 && - skip_test_ "can't use buggy system getcwd; skipping this test" + skip_test_ "can't use buggy system getcwd" mkdir -p a/b || framework_failure cd a/b || framework_failure diff --git a/tests/test-lib.sh b/tests/test-lib.sh index cf90b446b..b3aaf65db 100644 --- a/tests/test-lib.sh +++ b/tests/test-lib.sh @@ -25,6 +25,7 @@ fi skip_test_() { + echo "$0: skipping test: $@" | head -1 1>&9 echo "$0: skipping test: $@" 1>&2 Exit 77 } @@ -85,9 +86,10 @@ require_controlling_input_terminal_() tty -s || have_input_tty=no test -t 0 || have_input_tty=no if test "$have_input_tty" = no; then - skip_test_ "This test must have a controlling input \`terminal'," \ - "so it may not be run via \`batch', \`at', or \`rsh'." \ - "On some systems, it may not even be run in the background." + skip_test_ 'requires controlling input terminal +This test must have a controlling input "terminal", so it may not be +run via "batch", "at", or "ssh". On some systems, it may not even be +run in the background.' fi } @@ -175,7 +177,7 @@ require_selinux_() very_expensive_() { if test "$RUN_VERY_EXPENSIVE_TESTS" != yes; then - skip_test_ ' + skip_test_ 'very expensive: disabled by default This test is very expensive, so it is disabled by default. To run it anyway, rerun make check with the RUN_VERY_EXPENSIVE_TESTS environment variable set to yes. E.g., @@ -188,7 +190,7 @@ environment variable set to yes. E.g., expensive_() { if test "$RUN_EXPENSIVE_TESTS" != yes; then - skip_test_ ' + skip_test_ 'expensive: disabled by default This test is relatively expensive, so it is disabled by default. To run it anyway, rerun make check with the RUN_EXPENSIVE_TESTS environment variable set to yes. E.g., @@ -217,8 +219,8 @@ require_membership_in_two_groups_() groups=${COREUTILS_GROUPS-`(id -G || /usr/xpg4/bin/id -G) 2>/dev/null`} case "$groups" in *' '*) ;; - *) skip_test_ ' -$0: this test requires that you be a member of more than one group, + *) skip_test_ 'requires membership in two groups +this test requires that you be a member of more than one group, but running `id -G'\'' either failed or found just one. If you really are a member of at least two groups, then rerun this test with COREUTILS_GROUPS set in your environment to the space-separated list |