mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-04-20 18:56:39 +02:00
tests: correct print_ver_ arguments and add a rule to enforce this
We use print_ver_ to run "PROG --version" for each program under test. Some tests have been derived from others, while the argument(s) to print_ver_ have not been adapted. Add a new cfg.mk rule to prohibit this. * cfg.mk (sc_prohibit_test_calls_print_ver_with_irrelevant_argument): New rule, to prohibit a test script from calling print_env_ for a program not actually used by that test. * tests/chown/basic: s/\(print_ver_\) chgrp/\1 chown/ * tests/cp/acl: s/\(print_ver_\) mv/\1 cp/ * tests/cp/capability: s/\(print_ver_\) ls/\1 cp/ * tests/cp/cp-parents: s/(print_ver_\) mv/\1 cp/ * tests/du/bind-mount-dir-cycle: s/(print_ver_\) rm/\1 du/ * tests/misc/wc-parallel: s/(print_ver_\) md5sum/\1 wc/
This commit is contained in:
committed by
Jim Meyering
parent
cf7e1b5b8f
commit
fadf9c5257
18
cfg.mk
18
cfg.mk
@@ -329,6 +329,24 @@ sc_some_programs_must_avoid_exit_failure:
|
||||
&& { echo '$(ME): do not use EXIT_FAILURE in the above' \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
# Ensure that tests call the print_ver_ function for programs which are
|
||||
# actually used in that test.
|
||||
sc_prohibit_test_calls_print_ver_with_irrelevant_argument:
|
||||
@git grep -w print_ver_ tests \
|
||||
| sed 's#:print_ver_##' \
|
||||
| { fail=0; \
|
||||
while read file name; do \
|
||||
for i in $$name; do \
|
||||
case "$$i" in install) i=ginstall;; esac; \
|
||||
grep -w "$$i" $$file|grep -vw print_ver_|grep -q . \
|
||||
|| { fail=1; \
|
||||
echo "*** Test: $$file, offending: $$i." 1>&2; };\
|
||||
done; \
|
||||
done; \
|
||||
test $$fail = 0 || exit 1; \
|
||||
} || { echo "$(ME): the above test(s) call print_ver_ for" \
|
||||
"program(s) they don't use" 1>&2; exit 1; }
|
||||
|
||||
# Exempt the contents of any usage function from the following.
|
||||
_continued_string_col_1 = \
|
||||
s/^usage .*?\n}//ms;/\\\n\w/ and print ("$$ARGV\n"),$$e=1;END{$$e||=0;exit $$e}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
||||
print_ver_ chgrp
|
||||
print_ver_ chown
|
||||
require_root_
|
||||
|
||||
touch f || framework_failure_
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
||||
print_ver_ mv getfacl setfacl
|
||||
print_ver_ cp getfacl setfacl
|
||||
|
||||
require_acl_
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
||||
print_ver_ ls
|
||||
print_ver_ cp
|
||||
require_root_
|
||||
working_umask_or_skip_
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
||||
print_ver_ mv
|
||||
print_ver_ cp
|
||||
|
||||
working_umask_or_skip_
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
||||
print_ver_ rm
|
||||
print_ver_ du
|
||||
require_root_
|
||||
|
||||
cleanup_()
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
||||
print_ver_ md5sum
|
||||
print_ver_ wc
|
||||
|
||||
(mkdir tmp && cd tmp && seq 2000 | xargs touch)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user