Module Name: src
Committed By: kre
Date: Sun Nov 18 13:41:24 UTC 2018
Modified Files:
src/tests/bin/sh: t_patterns.sh
Log Message:
It turns out there are more cases where escaping of meta-chars
was not being done properly (too many different code paths inside sh)
so add even more subtests to the case_matching test case to verify
that all (that I can think of for now anyway) get fixed when this
gets cleaned up. The case_matching test case still fails, but now
6 of its subtests should fail (until sh is corrected ... soon).
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/tests/bin/sh/t_patterns.sh
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/bin/sh/t_patterns.sh
diff -u src/tests/bin/sh/t_patterns.sh:1.3 src/tests/bin/sh/t_patterns.sh:1.4
--- src/tests/bin/sh/t_patterns.sh:1.3 Sun Nov 18 01:24:44 2018
+++ src/tests/bin/sh/t_patterns.sh Sun Nov 18 13:41:24 2018
@@ -1,4 +1,4 @@
-# $NetBSD: t_patterns.sh,v 1.3 2018/11/18 01:24:44 kre Exp $
+# $NetBSD: t_patterns.sh,v 1.4 2018/11/18 13:41:24 kre Exp $
#
# Copyright (c) 2018 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -675,10 +675,28 @@ case_matching_body() {
# The first of the "set" tests pair was reported as broken bu
# Martijn Dekker (private mail) (Nov 2018).
- cm "'\'" "'\'" #262
- cm "'\'" '"$var"' "var='\\'"; cf "'\'" '$var' "var='\\'" #264
- cm '$1' '"$2"' 'set -- \\ \\'; cf '$1' '$2' 'set -- \\ \\' #266
- cf '$1' '"$2"' 'set -- \\ \\\\'; cm '$1' '$2' 'set -- \\ \\\\' #268
+ cm "'\\'" "'\\'"; cf "'\\'" "'\\\\'" #263
+ cm "'\\'" '"$var"' "var='\\'"; cf "'\\'" '$var' "var='\\'" #265
+ cm '$1' '"$2"' 'set -- \\ \\'; cf '$1' '$2' 'set -- \\ \\' #267
+ cf '$1' '"$2"' 'set -- \\ \\\\'; cm '$1' '$2' 'set -- \\ \\\\' #269
+ cm "'\\'" "\$( echo '\\\\' )"; cf "'\\'" "\$( echo '\\' )" #271
+ cm "'\\'" "\"\$( echo '\\' )\"" #272
+ cf "'\\'" "\"\$( echo '\\\\' )\"" #273
+
+ if X=$( ${TEST_SH} -c 'printf %s '"\$'\\\\'" 2>/dev/null ) &&
+ [ "$X" = '\' ]
+ then
+ # TEST_SH supports $'...' so we can test it as well
+ # note these are $'\\' and $'\\\\' as patterns.
+ # They should be identical to '\' and '\\'
+ cm "'\\'" "\$'\\\\'"; cf "'\\'" "\$'\\\\\\\\'" #275
+ else
+ # uncomment this if we need to keep sub-test numbering sane
+ # it isn't needed as long as this remains last.
+ # (nb: this is just a repeat of sub-test 263)
+
+ # cm "'\\'" "'\\'"; cf "'\\'" "'\\\\'" #275
+ fi
results
}