From 856e93df7667578d7a425e1ab6da71c113954f97 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 5 Jun 2006 20:05:00 +0000 Subject: Rename file to avoid bugs with VPATH builds and Solaris 'make'. --- tests/misc/Makefile.in | 16 +++++++++---- tests/misc/false | 28 ---------------------- tests/misc/false-status | 28 ++++++++++++++++++++++ tests/misc/pwd | 63 ------------------------------------------------- tests/misc/pwd-long | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ tests/misc/sort | 32 ------------------------- tests/misc/sort-merge | 32 +++++++++++++++++++++++++ tests/misc/test | 33 -------------------------- tests/misc/test-diag | 33 ++++++++++++++++++++++++++ 9 files changed, 167 insertions(+), 161 deletions(-) delete mode 100755 tests/misc/false create mode 100755 tests/misc/false-status delete mode 100755 tests/misc/pwd create mode 100755 tests/misc/pwd-long delete mode 100755 tests/misc/sort create mode 100755 tests/misc/sort-merge delete mode 100755 tests/misc/test create mode 100755 tests/misc/test-diag diff --git a/tests/misc/Makefile.in b/tests/misc/Makefile.in index 7894a2f90..87e775fa7 100644 --- a/tests/misc/Makefile.in +++ b/tests/misc/Makefile.in @@ -311,8 +311,14 @@ TESTS_ENVIRONMENT = \ PERL="$(PERL)" \ BUILD_SRC_DIR="`pwd`/../../src" \ PATH="`pwd`/../../src$(PATH_SEPARATOR)$$PATH" \ - PROG=$$tst + PROG=`../../src/basename -- "$$tst"` + +# Do not choose a name that is a shell keyword like 'if', or a +# commonly-used utility like 'cat' or 'test', as the name of a test. +# Otherwise, VPATH builds will fail on hosts like Solaris, since they +# will expand 'if test ...' to 'if .../test ...', and the '.../test' +# will execute the test script rather than the standard utility. TESTS = \ base64 \ basename \ @@ -322,7 +328,7 @@ TESTS = \ date-sec \ dirname \ expand \ - false \ + false-status \ fold \ head-c \ head-elide-tail \ @@ -335,12 +341,12 @@ TESTS = \ pathchk1 \ printf \ printf-hex \ - pwd \ + pwd-long \ sha224sum \ sha256sum \ sha384sum \ sha512sum \ - sort \ + sort-merge \ sort-rand \ split-a \ split-fail \ @@ -348,7 +354,7 @@ TESTS = \ stat-fmt \ stat-printf \ tac-continue \ - test \ + test-diag \ tty-eof all: all-am diff --git a/tests/misc/false b/tests/misc/false deleted file mode 100755 index 2d85bb56c..000000000 --- a/tests/misc/false +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# ensure that false exits nonzero even with --help or --version - -if test "$VERBOSE" = yes; then - set -x - false --version -fi - -pwd=`pwd` -t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ -trap 'status=$?; cd $pwd; chmod -R u+rwx $t0; rm -rf $t0 && exit $status' 0 -trap '(exit $?); exit $?' 1 2 13 15 - -framework_failure=0 -mkdir -p $tmp || framework_failure=1 -cd $tmp || framework_failure=1 - -if test $framework_failure = 1; then - echo "$0: failure in testing framework" 1>&2 - (exit 1); exit 1 -fi - -fail=0 - -false --version > /dev/null && fail=1 -false --help > /dev/null && fail=1 - -(exit $fail); exit $fail diff --git a/tests/misc/false-status b/tests/misc/false-status new file mode 100755 index 000000000..2d85bb56c --- /dev/null +++ b/tests/misc/false-status @@ -0,0 +1,28 @@ +#!/bin/sh +# ensure that false exits nonzero even with --help or --version + +if test "$VERBOSE" = yes; then + set -x + false --version +fi + +pwd=`pwd` +t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ +trap 'status=$?; cd $pwd; chmod -R u+rwx $t0; rm -rf $t0 && exit $status' 0 +trap '(exit $?); exit $?' 1 2 13 15 + +framework_failure=0 +mkdir -p $tmp || framework_failure=1 +cd $tmp || framework_failure=1 + +if test $framework_failure = 1; then + echo "$0: failure in testing framework" 1>&2 + (exit 1); exit 1 +fi + +fail=0 + +false --version > /dev/null && fail=1 +false --help > /dev/null && fail=1 + +(exit $fail); exit $fail diff --git a/tests/misc/pwd b/tests/misc/pwd deleted file mode 100755 index 7975960e4..000000000 --- a/tests/misc/pwd +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh - -: ${PERL=perl} - -$PERL -e 1 > /dev/null 2>&1 || { - echo 1>&2 "$0: configure didn't find a usable version of Perl," \ - "so can't run this test" - exit 77 -} - -framework_failure=0 -pwd=`${BUILD_SRC_DIR?}/pwd` || framework_failure=1 -t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ -trap 'status=$?; cd $pwd; chmod -R u+rwx $t0; rm -rf $t0 && exit $status' 0 -trap '(exit $?); exit $?' 1 2 13 15 - -mkdir -p $tmp || framework_failure=1 -cd $tmp || framework_failure=1 - -if test $framework_failure = 1; then - echo "$0: failure in testing framework" 1>&2 - (exit 1); exit 1 -fi - -ARGV_0=$0 -export ARGV_0 - -CWD=$pwd/$tmp -export CWD - -$PERL -w -- - <<\EOF - -# Show that pwd works even when the length of the resulting -# directory name is longer than PATH_MAX. -use strict; -use Cwd; - -(my $ME = $ENV{ARGV_0}) =~ s|.*/||; - -my $cwd = $ENV{CWD}; -my $z = 'z' x 31; -my $n = 256; -my $expected = $cwd . ("/$z" x $n); - -my $i = 0; -do - { - mkdir $z, 0700 - or die "$ME: at depth $i: $!\n"; - chdir $z; - } -until (++$i == $n); - -my $build_src_dir = $ENV{BUILD_SRC_DIR}; -$build_src_dir - or die "$ME: envvar BUILD_SRC_DIR not defined\n"; -my $pwd_binary = "$build_src_dir/pwd"; --x $pwd_binary - or die "$ME: $pwd_binary is not an executable file\n"; -chomp (my $actual = `$pwd_binary`); -$expected eq $actual - or die "$ME: $expected\n$actual\n"; -EOF diff --git a/tests/misc/pwd-long b/tests/misc/pwd-long new file mode 100755 index 000000000..7975960e4 --- /dev/null +++ b/tests/misc/pwd-long @@ -0,0 +1,63 @@ +#!/bin/sh + +: ${PERL=perl} + +$PERL -e 1 > /dev/null 2>&1 || { + echo 1>&2 "$0: configure didn't find a usable version of Perl," \ + "so can't run this test" + exit 77 +} + +framework_failure=0 +pwd=`${BUILD_SRC_DIR?}/pwd` || framework_failure=1 +t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ +trap 'status=$?; cd $pwd; chmod -R u+rwx $t0; rm -rf $t0 && exit $status' 0 +trap '(exit $?); exit $?' 1 2 13 15 + +mkdir -p $tmp || framework_failure=1 +cd $tmp || framework_failure=1 + +if test $framework_failure = 1; then + echo "$0: failure in testing framework" 1>&2 + (exit 1); exit 1 +fi + +ARGV_0=$0 +export ARGV_0 + +CWD=$pwd/$tmp +export CWD + +$PERL -w -- - <<\EOF + +# Show that pwd works even when the length of the resulting +# directory name is longer than PATH_MAX. +use strict; +use Cwd; + +(my $ME = $ENV{ARGV_0}) =~ s|.*/||; + +my $cwd = $ENV{CWD}; +my $z = 'z' x 31; +my $n = 256; +my $expected = $cwd . ("/$z" x $n); + +my $i = 0; +do + { + mkdir $z, 0700 + or die "$ME: at depth $i: $!\n"; + chdir $z; + } +until (++$i == $n); + +my $build_src_dir = $ENV{BUILD_SRC_DIR}; +$build_src_dir + or die "$ME: envvar BUILD_SRC_DIR not defined\n"; +my $pwd_binary = "$build_src_dir/pwd"; +-x $pwd_binary + or die "$ME: $pwd_binary is not an executable file\n"; +chomp (my $actual = `$pwd_binary`); +$expected eq $actual + or die "$ME: $expected\n$actual\n"; +EOF diff --git a/tests/misc/sort b/tests/misc/sort deleted file mode 100755 index 6cc6ed252..000000000 --- a/tests/misc/sort +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -: ${PERL=perl} -: ${srcdir=.} - -$PERL -e 1 > /dev/null 2>&1 || { - echo 1>&2 "$0: configure didn't find a usable version of Perl," \ - "so can't run this test" - exit 77 -} - -exec $PERL -w -I$srcdir/.. -MCoreutils -- - <<\EOF -require 5.003; -use strict; - -(my $program_name = $0) =~ s|.*/||; - -# Turn off localisation of executable's ouput. -@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; - -my @Tests = - ( - ['m1', '-m', {IN=> {empty=> ''}}, {IN=> {f=> "foo\n"}}, {OUT=>"foo\n"}], - ); - -my $save_temps = $ENV{DEBUG}; -my $verbose = $ENV{VERBOSE}; - -my $prog = $ENV{PROG} || die "$0: \$PROG not specified in environment\n"; -my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); -exit $fail; -EOF diff --git a/tests/misc/sort-merge b/tests/misc/sort-merge new file mode 100755 index 000000000..d27f42ea1 --- /dev/null +++ b/tests/misc/sort-merge @@ -0,0 +1,32 @@ +#!/bin/sh + +: ${PERL=perl} +: ${srcdir=.} + +$PERL -e 1 > /dev/null 2>&1 || { + echo 1>&2 "$0: configure didn't find a usable version of Perl," \ + "so can't run this test" + exit 77 +} + +exec $PERL -w -I$srcdir/.. -MCoreutils -- - <<\EOF +require 5.003; +use strict; + +(my $program_name = $0) =~ s|.*/||; + +# Turn off localisation of executable's ouput. +@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; + +my @Tests = + ( + ['m1', '-m', {IN=> {empty=> ''}}, {IN=> {f=> "foo\n"}}, {OUT=>"foo\n"}], + ); + +my $save_temps = $ENV{DEBUG}; +my $verbose = $ENV{VERBOSE}; + +my $prog = 'sort'; +my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); +exit $fail; +EOF diff --git a/tests/misc/test b/tests/misc/test deleted file mode 100755 index c154f38cf..000000000 --- a/tests/misc/test +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -: ${PERL=perl} -: ${srcdir=.} - -$PERL -e 1 > /dev/null 2>&1 || { - echo 1>&2 "$0: configure didn't find a usable version of Perl," \ - "so can't run this test" - exit 77 -} - -exec $PERL -w -I$srcdir/.. -MCoreutils -- - <<\EOF -require 5.003; -use strict; - -(my $program_name = $0) =~ s|.*/||; - -# Turn off localisation of executable's ouput. -@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; - -my $prog = '../../src/test'; -my @Tests = - ( - # In coreutils-5.93, this diagnostic lacked the newline. - ['o', '-o arg', {ERR => "$prog: extra argument `-o'\n"}, {EXIT => 2}], - ); - -my $save_temps = $ENV{DEBUG}; -my $verbose = $ENV{VERBOSE}; - -my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); -exit $fail; -EOF diff --git a/tests/misc/test-diag b/tests/misc/test-diag new file mode 100755 index 000000000..c154f38cf --- /dev/null +++ b/tests/misc/test-diag @@ -0,0 +1,33 @@ +#!/bin/sh + +: ${PERL=perl} +: ${srcdir=.} + +$PERL -e 1 > /dev/null 2>&1 || { + echo 1>&2 "$0: configure didn't find a usable version of Perl," \ + "so can't run this test" + exit 77 +} + +exec $PERL -w -I$srcdir/.. -MCoreutils -- - <<\EOF +require 5.003; +use strict; + +(my $program_name = $0) =~ s|.*/||; + +# Turn off localisation of executable's ouput. +@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; + +my $prog = '../../src/test'; +my @Tests = + ( + # In coreutils-5.93, this diagnostic lacked the newline. + ['o', '-o arg', {ERR => "$prog: extra argument `-o'\n"}, {EXIT => 2}], + ); + +my $save_temps = $ENV{DEBUG}; +my $verbose = $ENV{VERBOSE}; + +my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); +exit $fail; +EOF -- cgit v1.2.3-54-g00ecf