Sender: rich AT phekda DOT freeserve DOT co DOT uk Message-ID: <3AE1C3E5.48286A98@phekda.freeserve.co.uk> Date: Sat, 21 Apr 2001 18:31:17 +0100 From: Richard Dawe X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.17 i586) X-Accept-Language: de,fr MIME-Version: 1.0 To: Jim Meyering CC: DJGPP workers Subject: Re: (Fileutils) More test suite & Fetish.pm problems References: <3AE1927A DOT 261002F1 AT phekda DOT freeserve DOT co DOT uk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Hello. Jim Meyering wrote: > > Richard Dawe wrote: > | Essentially there seems to be a difference in behaviour between DJGPP > | and Unix when executing programs using the path. [snip] > I know this was a problem in 4.0, and I fixed it in at least some cases. > Maybe I missed some. Please show me which tests fail (and how) and I'll > take a look. The tests that fail are: dircolors/simple ls-2/quoting mv/i-1 These are the only tests that use Fetish.pm. They fail when comparing expected and returned stderr - like so: -: test a: stderr mismatch, comparing a.1 and a.E Below is a diff that fixes the problems. Please note that the Makefile.am files also have changes for: * MS-DOS using ';' as the path separator; * the cases where I renamed tests to fit the 8+3 convention. With these fixes (plus the Fetish.pm fix we talked about before) these tests pass. > You really should be using the latest test release :-) > 4.0 is way too old and has several known bugs, as I'm sure you now know. Since the port of 4.0 is very nearly done, I want to get it finished, before I move onto looking at 4.0.43. Hopefully I will get some time during the week or next weekend to look at 4.0.43. Thanks, bye, Rich =] -- Richard Dawe http://www.phekda.freeserve.co.uk/richdawe/ *** /develop/ports/orig/fileutils-4.0/tests/dircolors/Makefile.am Sat Oct 3 06:53:40 1998 --- /develop/ports/gnu.dev/filutil4.0/tests/dircolors/Makefile.am Sat Apr 21 15:05:30 2001 *************** TESTS_ENVIRONMENT = \ *** 6,12 **** top_srcdir=$(top_srcdir) \ srcdir=$(srcdir) \ PERL="@PERL@" \ ! PATH=../../src:$$PATH \ ! PROG=dircolors TESTS = simple --- 6,12 ---- top_srcdir=$(top_srcdir) \ srcdir=$(srcdir) \ PERL="@PERL@" \ ! PATH="../../src;$$PATH" \ ! PROG=../../src/dircolors TESTS = simple *** /develop/ports/orig/fileutils-4.0/tests/dircolors/simple Sat Oct 3 06:52:02 1998 --- /develop/ports/gnu.dev/filutil4.0/tests/dircolors/simple Sat Apr 21 15:04:40 2001 *************** require 5.003; *** 15,20 **** --- 15,21 ---- use strict; (my $program_name = $0) =~ s|.*/||; + my $prog = $ENV{PROG} || die "$0: \$PROG not specified in environment\n"; # Turn off localisation of executable's ouput. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; *************** use strict; *** 22,35 **** my @Tests = ( ['a', {IN => {k => "exec\n"}}, ! {ERR => "dircolors: k:1: invalid line; missing second token\n"}, {EXIT => 1}], ); 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 --- 23,35 ---- my @Tests = ( ['a', {IN => {k => "exec\n"}}, ! {ERR => "$prog: k:1: invalid line; missing second token\n"}, {EXIT => 1}], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; EOF *** /develop/ports/orig/fileutils-4.0/tests/ls-2/Makefile.am Sat Oct 3 06:57:58 1998 --- /develop/ports/gnu.dev/filutil4.0/tests/ls-2/Makefile.am Sat Apr 21 15:07:48 2001 *************** TESTS_ENVIRONMENT = \ *** 6,12 **** top_srcdir=$(top_srcdir) \ srcdir=$(srcdir) \ PERL="@PERL@" \ ! PATH=../../src:$$PATH \ ! PROG=ls TESTS = quoting --- 6,12 ---- top_srcdir=$(top_srcdir) \ srcdir=$(srcdir) \ PERL="@PERL@" \ ! PATH="../../src;$$PATH" \ ! PROG=../../src/ls TESTS = quoting *** /develop/ports/orig/fileutils-4.0/tests/ls-2/quoting Sat Oct 3 06:57:42 1998 --- /develop/ports/gnu.dev/filutil4.0/tests/ls-2/quoting Sat Apr 21 15:07:38 2001 *************** require 5.003; *** 15,20 **** --- 15,21 ---- use strict; (my $program_name = $0) =~ s|.*/||; + my $prog = $ENV{PROG} || die "$0: \$PROG not specified in environment\n"; # Turn off localisation of executable's ouput. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; *************** my @Tests = *** 47,53 **** my $save_temps = $ENV{SAVE_TEMPS}; 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 --- 48,53 ---- *** /develop/ports/orig/fileutils-4.0/tests/mv/Makefile.am Mon Oct 5 05:33:14 1998 --- /develop/ports/gnu.dev/filutil4.0/tests/mv/Makefile.am Sat Apr 21 15:05:56 2001 *************** *** 1,7 **** ## Process this file with automake to produce Makefile.in -*-Makefile-*-. AUTOMAKE_OPTIONS = 1.3 gnits ! TESTS = mv-special-1 into-self into-self-2 backup-is-src i-1 EXTRA_DIST = $(TESTS) setup TESTS_ENVIRONMENT = \ DF=../../src/df \ --- 1,7 ---- ## Process this file with automake to produce Makefile.in -*-Makefile-*-. AUTOMAKE_OPTIONS = 1.3 gnits ! TESTS = mv-special-1 toself toself2 backup-is-src i-1 EXTRA_DIST = $(TESTS) setup TESTS_ENVIRONMENT = \ DF=../../src/df \ *************** TESTS_ENVIRONMENT = \ *** 13,17 **** RM=../../src/rm \ TOUCH=../../src/touch \ PERL="@PERL@" \ ! PATH=../../src:$$PATH \ ! PROG=mv --- 13,17 ---- RM=../../src/rm \ TOUCH=../../src/touch \ PERL="@PERL@" \ ! PATH="../../src;$$PATH" \ ! PROG=../../src/mv *** /develop/ports/orig/fileutils-4.0/tests/mv/i-1 Sun Oct 4 03:04:48 1998 --- /develop/ports/gnu.dev/filutil4.0/tests/mv/i-1 Sat Apr 21 15:06:40 2001 *************** require 5.003; *** 15,20 **** --- 15,21 ---- use strict; (my $program_name = $0) =~ s|.*/||; + my $prog = $ENV{PROG} || die "$0: \$PROG not specified in environment\n"; # Turn off localisation of executable's ouput. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; *************** my @Tests = *** 26,32 **** # Make sure a `n' reply to `mv -i...' aborts the move operation. [$test_a, '-i', {IN => {src => "a\n"}}, {IN => {dst => "b\n"}}, '<', {IN => "n\n"}, ! {ERR => "mv: overwrite `dst'? "}, {POST => sub { -r 'src' or die "test $test_a failed\n"}}, {EXIT => 1}, ], --- 27,33 ---- # Make sure a `n' reply to `mv -i...' aborts the move operation. [$test_a, '-i', {IN => {src => "a\n"}}, {IN => {dst => "b\n"}}, '<', {IN => "n\n"}, ! {ERR => "$prog: overwrite `dst'? "}, {POST => sub { -r 'src' or die "test $test_a failed\n"}}, {EXIT => 1}, ], *************** my @Tests = *** 35,41 **** 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 --- 36,41 ----