diff --git a/tests/run_make_tests.pl b/tests/run_make_tests.pl index 57dfd49d..4a1a8c10 100644 --- a/tests/run_make_tests.pl +++ b/tests/run_make_tests.pl @@ -440,6 +440,13 @@ sub set_defaults $testee = "GNU make"; $make_path = "make"; $tmpfilesuffix = "mk"; + if ($port_type eq 'UNIX') { + $scriptsuffix = '.sh'; + } elsif ($port_type eq 'VMS') { + $scriptsuffix = '.com'; + } else { + $scriptsuffix = '.bat'; + } } # This is no longer used: we import config-flags.pm instead diff --git a/tests/scripts/features/targetvars b/tests/scripts/features/targetvars index 1eb29a76..ee9bc0f0 100644 --- a/tests/scripts/features/targetvars +++ b/tests/scripts/features/targetvars @@ -256,29 +256,29 @@ a: ; @echo $(A) '', "hello; world\n"); # TEST #21: SV-56834 Ensure setting PATH in a target var works properly -mkdir('sd', 0775); -open(my $fh, '>', 'sd/foobar'); -print $fh "exit 0"; -close($fh); -chmod 0755, 'sd/foobar'; +my $sname = "foobar$scriptsuffix"; -run_make_test(q! +mkdir('sd', 0775); +create_file("sd/$sname", "exit 0\n"); +chmod 0755, "sd/$sname"; + +run_make_test(qq! all: PATH := sd -all: ; foobar +all: ; $sname >/dev/null !, - '', "foobar\n"); + '', "$sname >/dev/null\n"); # Don't use the general PATH if not found on the target path $extraENV{PATH} = "$ENV{PATH}:sd"; -run_make_test(q! +run_make_test(qq! all: PATH := .. -all: ; foobar +all: ; $sname !, - '', "foobar\n#MAKE#: foobar: $ERR_no_such_file\n#MAKE#: *** [#MAKEFILE#;3: all] Error 127", 512); + '', "$sname\n#MAKE#: $sname: $ERR_no_such_file\n#MAKE#: *** [#MAKEFILE#;3: all] Error 127", 512); -unlink('sd/foobar'); +unlink("sd/$sname"); rmdir ('sd'); # TEST #19: Test define/endef variables as target-specific vars diff --git a/tests/scripts/misc/general4 b/tests/scripts/misc/general4 index 835a9e4a..007dd93a 100644 --- a/tests/scripts/misc/general4 +++ b/tests/scripts/misc/general4 @@ -80,40 +80,42 @@ all: ; \@echo hi '', "hi\n"); # SV-56834 Ensure setting PATH in the makefile works properly -mkdir('sd', 0775); -create_file('sd/foobar', "exit 0\n"); -chmod 0755, 'sd/foobar'; +my $sname = "foobar$scriptsuffix"; -run_make_test(q! +mkdir('sd', 0775); +create_file("sd/$sname", "exit 0\n"); +chmod 0755, "sd/$sname"; + +run_make_test(qq! PATH := sd -all: ; foobar +all: ; $sname >/dev/null !, - '', "foobar\n"); + '', "$sname >/dev/null\n"); # Don't use the general PATH if not found on the target path $extraENV{PATH} = "$ENV{PATH}:sd"; -run_make_test(q! +run_make_test(qq! PATH := .. -all: ; foobar +all: ; $sname !, - '', "foobar\n#MAKE#: foobar: $ERR_no_such_file\n#MAKE#: *** [#MAKEFILE#;3: all] Error 127", 512); + '', "$sname\n#MAKE#: $sname: $ERR_no_such_file\n#MAKE#: *** [#MAKEFILE#;3: all] Error 127", 512); -unlink('sd/foobar'); +unlink("sd/$sname"); rmdir('sd'); # Ensure that local programs are not found if "." is not on the PATH -create_file('foobar', "exit 0\n"); -chmod 0755, 'foobar'; +create_file($sname, ''); +chmod 0755, $sname; -run_make_test(q! +run_make_test(qq! PATH := .. -all: ; foobar +all: ; $sname !, - '', "foobar\n#MAKE#: foobar: $ERR_no_such_file\n#MAKE#: *** [#MAKEFILE#;3: all] Error 127", 512); + '', "$sname\n#MAKE#: $sname: $ERR_no_such_file\n#MAKE#: *** [#MAKEFILE#;3: all] Error 127", 512); -unlink('foobar'); +unlink($sname); 1;