summaryrefslogtreecommitdiff
path: root/tests/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scripts')
-rw-r--r--tests/scripts/features/export8
-rw-r--r--tests/scripts/functions/eval4
-rw-r--r--tests/scripts/functions/origin2
-rw-r--r--tests/scripts/options/dash-e2
-rw-r--r--tests/scripts/variables/SHELL13
5 files changed, 15 insertions, 14 deletions
diff --git a/tests/scripts/features/export b/tests/scripts/features/export
index 1690ee8..38efe11 100644
--- a/tests/scripts/features/export
+++ b/tests/scripts/features/export
@@ -56,7 +56,7 @@ FOO= BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n";
# TEST 1: make sure vars inherited from the parent are exported
-$ENV{FOO} = 1;
+$extraENV{FOO} = 1;
&run_make_with_options($makefile,"",&get_logfile,0);
@@ -65,8 +65,6 @@ FOO=foo BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n";
&compare_output($answer,&get_logfile(1));
-delete $ENV{FOO};
-
# TEST 2: global export. Explicit unexport takes precedence.
&run_make_with_options($makefile,"EXPORT_ALL=1",&get_logfile,0);
@@ -237,14 +235,12 @@ EOF
close(MAKEFILE);
-@ENV{qw(A B C D E F G H I J)} = qw(1 2 3 4 5 6 7 8 9 10);
+@extraENV{qw(A B C D E F G H I J)} = qw(1 2 3 4 5 6 7 8 9 10);
&run_make_with_options($makefile5,"",&get_logfile,0);
$answer = "A= B= C= D= E= F= G= H= I= J=\n";
&compare_output($answer,&get_logfile(1));
-delete @ENV{qw(A B C D E F G H I J)};
-
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/functions/eval b/tests/scripts/functions/eval
index bc43053..9595d4e 100644
--- a/tests/scripts/functions/eval
+++ b/tests/scripts/functions/eval
@@ -127,13 +127,11 @@ EOF
close(MAKEFILE);
-$ENV{EVAR} = '1';
+$extraENV{EVAR} = '1';
&run_make_with_options($makefile4, "", &get_logfile);
$answer = "OK\n";
&compare_output($answer,&get_logfile(1));
-delete $ENV{EVAR};
-
# Clean out previous information to allow new run_make_test() interface.
# If we ever convert all the above to run_make_test() we can remove this line.
diff --git a/tests/scripts/functions/origin b/tests/scripts/functions/origin
index d5116cd..49e6f38 100644
--- a/tests/scripts/functions/origin
+++ b/tests/scripts/functions/origin
@@ -16,7 +16,7 @@ defined per the following list:
'automatic' Automatic variable\n";
# Set an environment variable
-$ENV{MAKETEST} = 1;
+$extraENV{MAKETEST} = 1;
open(MAKEFILE,"> $makefile");
diff --git a/tests/scripts/options/dash-e b/tests/scripts/options/dash-e
index 472270d..17c3fc8 100644
--- a/tests/scripts/options/dash-e
+++ b/tests/scripts/options/dash-e
@@ -4,7 +4,7 @@ $description = "The following test creates a makefile to ...";
$details = "";
-$ENV{GOOGLE} = 'boggle';
+$extraENV{GOOGLE} = 'boggle';
open(MAKEFILE,"> $makefile");
diff --git a/tests/scripts/variables/SHELL b/tests/scripts/variables/SHELL
index 93c1872..adfa5b1 100644
--- a/tests/scripts/variables/SHELL
+++ b/tests/scripts/variables/SHELL
@@ -4,15 +4,16 @@ $description = "Test proper handling of SHELL.";
# Find the default value when SHELL is not set. On UNIX it will be /bin/sh,
# but on other platforms who knows?
-$oshell = $ENV{SHELL};
+resetENV();
delete $ENV{SHELL};
$mshell = `echo 'all:;\@echo \$(SHELL)' | $make_path -f-`;
chop $mshell;
# According to POSIX, the value of SHELL in the environment has no impact on
# the value in the makefile.
+# Note %extraENV takes precedence over the default value for the shell.
-$ENV{SHELL} = '/dev/null';
+$extraENV{SHELL} = '/dev/null';
run_make_test('all:;@echo "$(SHELL)"', '', $mshell);
# According to POSIX, any value of SHELL set in the makefile should _NOT_ be
@@ -21,7 +22,7 @@ run_make_test('all:;@echo "$(SHELL)"', '', $mshell);
# all when $(SHELL) is perl :-/. So, we just add an extra initial / and hope
# for the best on non-UNIX platforms :-/.
-$ENV{SHELL} = $mshell;
+$extraENV{SHELL} = $mshell;
run_make_test("SHELL := /$mshell\n".'
all:;@echo "$(SHELL) $$SHELL"
@@ -30,6 +31,8 @@ all:;@echo "$(SHELL) $$SHELL"
# As a GNU make extension, if make's SHELL variable is explicitly exported,
# then we really _DO_ export it.
+$extraENV{SHELL} = $mshell;
+
run_make_test("export SHELL := /$mshell\n".'
all:;@echo "$(SHELL) $$SHELL"
', '', "/$mshell /$mshell");
@@ -38,10 +41,14 @@ all:;@echo "$(SHELL) $$SHELL"
# Test out setting of SHELL, both exported and not, as a target-specific
# variable.
+$extraENV{SHELL} = $mshell;
+
run_make_test("all: SHELL := /$mshell\n".'
all:;@echo "$(SHELL) $$SHELL"
', '', "/$mshell $mshell");
+$extraENV{SHELL} = $mshell;
+
run_make_test("all: export SHELL := /$mshell\n".'
all:;@echo "$(SHELL) $$SHELL"
', '', "/$mshell $mshell");