aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2020-04-17 08:32:13 +1000
committerSteve Bennett <steveb@workware.net.au>2020-04-17 17:36:50 +1000
commit1fe274439565fe4cf94559131ef820c4f61f4173 (patch)
treee1ec382b2001e24c844fa7c3057fcffd0923339a
parentb3064200cd20bcbc34ed66f3b0f51929f9751189 (diff)
downloadjimtcl-1fe274439565fe4cf94559131ef820c4f61f4173.zip
jimtcl-1fe274439565fe4cf94559131ef820c4f61f4173.tar.gz
jimtcl-1fe274439565fe4cf94559131ef820c4f61f4173.tar.bz2
env: Fix error in case of too many arguments
Should produce an error, but did not previously Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r--jim.c2
-rw-r--r--tests/jim.test15
2 files changed, 16 insertions, 1 deletions
diff --git a/jim.c b/jim.c
index 0ff2b7b..c50b94b 100644
--- a/jim.c
+++ b/jim.c
@@ -15052,7 +15052,7 @@ static int Jim_EnvCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv
return JIM_OK;
}
- if (argc < 2) {
+ if (argc > 3) {
Jim_WrongNumArgs(interp, 1, argv, "varName ?default?");
return JIM_ERR;
}
diff --git a/tests/jim.test b/tests/jim.test
index 9c12ac7..3a0e357 100644
--- a/tests/jim.test
+++ b/tests/jim.test
@@ -3472,6 +3472,21 @@ test rand-1.2 {Check limits} {
catch {unset sum; unset err; unset i}
################################################################################
+# ENV
+################################################################################
+test env-1.1 {env} -body {
+ env abc def ghi
+} -returnCodes error -result {wrong # args: should be "env varName ?default?"}
+
+test env-1.2 {env} -body {
+ env DOES_NOT_EXIST abc
+} -result {abc}
+
+test env-1.3 {env} -body {
+ env DOES_NOT_EXIST
+} -returnCodes error -result {environment variable "DOES_NOT_EXIST" does not exist}
+
+################################################################################
# JIM REGRESSION TESTS
################################################################################
test regression-1.0 {Rename against procedures with static vars} {