about summary refs log tree commit diff
path: root/Test
diff options
context:
space:
mode:
authorBart Schaefer <schaefer@zsh.org>2023-02-14 17:54:42 -0800
committerBart Schaefer <schaefer@zsh.org>2023-02-14 17:54:42 -0800
commit32cceefa95903190829af26723b7ad51c163040c (patch)
tree08fb3d46e4ae86001181549988b0fb64256e916c /Test
parent7e0c4406ceba1e021bf37680d6a6b8dcd3dd657f (diff)
downloadzsh-32cceefa95903190829af26723b7ad51c163040c.tar.gz
zsh-32cceefa95903190829af26723b7ad51c163040c.tar.xz
zsh-32cceefa95903190829af26723b7ad51c163040c.zip
51437: Fix incorrectly-passed test case, masked by unrelated bug.
A bug with zmodload when unloading/reloading a static module caused the
state of the shell options to change during K01 test.  Worked around it.
Also changed warnnestedvar messages to look more like other such.
Diffstat (limited to 'Test')
-rw-r--r--Test/K01nameref.ztst23
1 files changed, 21 insertions, 2 deletions
diff --git a/Test/K01nameref.ztst b/Test/K01nameref.ztst
index d240e4917..6a5e767df 100644
--- a/Test/K01nameref.ztst
+++ b/Test/K01nameref.ztst
@@ -532,6 +532,13 @@ F:Same test, should part 5 output look like this?
 >nameref-local-nameref-local
 >typeset parameters
 
+ if [[ $options[typesettounset] != on ]]; then
+   ZTST_skip='Ignoring zmodload bug that resets TYPESET_TO_UNSET'
+   setopt typesettounset
+ fi
+0:options reloaded
+F:Checking for a bug in zmodload that affects later tests
+
  typeset ptr2=var2
  typeset var2=GLOBAL
  () {
@@ -541,7 +548,7 @@ F:Same test, should part 5 output look like this?
    typeset var2=VAR2
    print -r -- ${(P)ptr1}
  }
-0:
+0:Order of evaluation with ${(P)...}
 >VAR2
 
  ary=(one two three four)
@@ -666,7 +673,19 @@ F:Same test, should part 5 output look like this?
 >
 >scalar-local
 >
-*?*ref: global reference to local variable: one
+*?*reference ref*to local variable one
+
+ unset -n ref
+ typeset -n ref
+ () {
+   setopt localoptions warn_nested_var
+   typeset inner
+   ref=inner
+ }
+ typeset -p ref
+0:Global variable is a reference, warning
+>typeset -n ref=inner
+*?*reference ref*to local variable inner
 
  typeset -n ptr='ary[$(echo 2)]'
  typeset -a ary=(one two three)