shelltest: downgrade #48 to a warning.

This is the test that
   x=y f
does *not* unset x after running f, if f is a shell function.  Apparently
that's the right thing to do, but freebsd dash 0.5.10.2 fails it.  This is
surprising because debian dash 0.5.8-2.4 passes, and it is presumably older.
Downgrade this to a warning because we want freebsd to have some cheap sh
variant that passes with redo, and nobody should be *relying* on this
insane behaviour anyway.

freebsd 11.2 sh (but not freebsd dash) fails test #24.  That one seems
rather serious, so I don't want to downgrade it to a warning.
This commit is contained in:
Avery Pennarun 2018-10-29 07:35:56 +00:00
commit eb004d531e

View file

@ -136,7 +136,7 @@ EOF
[ "$t1" = "b c" ] || fail 21 [ "$t1" = "b c" ] || fail 21
[ "$t2" = "b c" ] || fail 22 [ "$t2" = "b c" ] || fail 22
[ "$t3" = "b c" ] || fail 23 [ "$t3" = "b c" ] || fail 23
[ "$t4" = "b c" ] || fail 24 [ "$t4" = "b c" ] || fail 24 # freebsd 11.2 sh fails this
[ "$t5" = "b c" ] || fail 25 [ "$t5" = "b c" ] || fail 25
@ -205,7 +205,7 @@ g=1 h=1 i=1
g=2 f g=2 f
h=2 : h=2 :
i=2 ls >/dev/null i=2 ls >/dev/null
[ "$g" = "2" ] || fail 48 [ "$g" = "2" ] || warn 48 # freebsd dash 0.5.10.2 fails this
[ "$h" = "2" ] || fail 49 [ "$h" = "2" ] || fail 49
[ "$i" = "1" ] || fail 50 [ "$i" = "1" ] || fail 50