-
Notifications
You must be signed in to change notification settings - Fork 296
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
1,867 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
commit 4fc5dc0292acd77f17281f451774ba2ca4203026 | ||
Author: Jun-ichi Takimoto <[email protected]> | ||
Date: Thu Sep 15 18:56:20 2022 +0900 | ||
|
||
50629: do not use egrep in tests | ||
|
||
diff --git a/Test/D07multibyte.ztst b/Test/D07multibyte.ztst | ||
index e2e9a25ef..6909346cb 100644 | ||
--- a/Test/D07multibyte.ztst | ||
+++ b/Test/D07multibyte.ztst | ||
@@ -1,19 +1,7 @@ | ||
%prep | ||
|
||
-# Find a UTF-8 locale. | ||
- setopt multibyte | ||
-# Don't let LC_* override our choice of locale. | ||
- unset -m LC_\* | ||
- mb_ok= | ||
- langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8 | ||
- $(locale -a 2>/dev/null | egrep 'utf8|UTF-8')) | ||
- for LANG in $langs; do | ||
- if [[ é = ? ]]; then | ||
- mb_ok=1 | ||
- break; | ||
- fi | ||
- done | ||
- if [[ -z $mb_ok ]]; then | ||
+ LANG=$(ZTST_find_UTF8) | ||
+ if [[ -z $LANG ]]; then | ||
ZTST_unimplemented="no UTF-8 locale or multibyte mode is not implemented" | ||
else | ||
print -u $ZTST_fd Testing multibyte with locale $LANG | ||
diff --git a/Test/E01options.ztst b/Test/E01options.ztst | ||
index 2acbfd357..d38fbed74 100644 | ||
--- a/Test/E01options.ztst | ||
+++ b/Test/E01options.ztst | ||
@@ -651,7 +651,7 @@ | ||
>noktarg1 | ||
>0 1 | ||
|
||
- showopt() { setopt | egrep 'localoptions|ksharrays'; } | ||
+ showopt() { echo ${(FM)${(@f)"$(setopt)"}:#(localoptions|ksharrays)*} } | ||
f1() { setopt localoptions ksharrays; showopt } | ||
f2() { setopt ksharrays; showopt } | ||
setopt kshoptionprint | ||
diff --git a/Test/V07pcre.ztst b/Test/V07pcre.ztst | ||
index c9c844d2a..ca13419e5 100644 | ||
--- a/Test/V07pcre.ztst | ||
+++ b/Test/V07pcre.ztst | ||
@@ -6,20 +6,8 @@ | ||
return 0 | ||
fi | ||
setopt rematch_pcre | ||
-# Find a UTF-8 locale. | ||
- setopt multibyte | ||
-# Don't let LC_* override our choice of locale. | ||
- unset -m LC_\* | ||
- mb_ok= | ||
- langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8 | ||
- $(locale -a 2>/dev/null | egrep 'utf8|UTF-8')) | ||
- for LANG in $langs; do | ||
- if [[ é = ? ]]; then | ||
- mb_ok=1 | ||
- break; | ||
- fi | ||
- done | ||
- if [[ -z $mb_ok ]]; then | ||
+ LANG=$(ZTST_find_UTF8) | ||
+ if [[ -z $LANG ]]; then | ||
ZTST_unimplemented="no UTF-8 locale or multibyte mode is not implemented" | ||
else | ||
print -u $ZTST_fd Testing PCRE multibyte with locale $LANG | ||
diff --git a/Test/X02zlevi.ztst b/Test/X02zlevi.ztst | ||
index 8146d6752..203c13c32 100644 | ||
--- a/Test/X02zlevi.ztst | ||
+++ b/Test/X02zlevi.ztst | ||
@@ -1,16 +1,7 @@ | ||
# Tests of the vi mode of ZLE | ||
|
||
%prep | ||
- unset -m LC_\* | ||
- ZSH_TEST_LANG= | ||
- langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8 | ||
- $(locale -a 2>/dev/null | egrep 'utf8|UTF-8')) | ||
- for LANG in $langs; do | ||
- if [[ é = ? ]]; then | ||
- ZSH_TEST_LANG=$LANG | ||
- break; | ||
- fi | ||
- done | ||
+ ZSH_TEST_LANG=$(ZTST_find_UTF8) | ||
if ( zmodload zsh/zpty 2>/dev/null ); then | ||
. $ZTST_srcdir/comptest | ||
comptestinit -v -z $ZTST_testdir/../Src/zsh | ||
diff --git a/Test/X03zlebindkey.ztst b/Test/X03zlebindkey.ztst | ||
index 43692a85b..5277332a7 100644 | ||
--- a/Test/X03zlebindkey.ztst | ||
+++ b/Test/X03zlebindkey.ztst | ||
@@ -3,16 +3,7 @@ | ||
# into bindings. The latter is particularly tricky with multibyte sequences. | ||
|
||
%prep | ||
- unset -m LC_\* | ||
- ZSH_TEST_LANG= | ||
- langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8 | ||
- $(locale -a 2>/dev/null | egrep 'utf8|UTF-8')) | ||
- for LANG in $langs; do | ||
- if [[ é = ? ]]; then | ||
- ZSH_TEST_LANG=$LANG | ||
- break; | ||
- fi | ||
- done | ||
+ ZSH_TEST_LANG=$(ZTST_find_UTF8) | ||
if ( zmodload zsh/zpty 2>/dev/null ); then | ||
. $ZTST_srcdir/comptest | ||
comptestinit -z $ZTST_testdir/../Src/zsh | ||
diff --git a/Test/Y01completion.ztst b/Test/Y01completion.ztst | ||
index 6af0efc6d..f976f9f91 100644 | ||
--- a/Test/Y01completion.ztst | ||
+++ b/Test/Y01completion.ztst | ||
@@ -1,16 +1,7 @@ | ||
# Tests for completion system. | ||
|
||
%prep | ||
- unset -m LC_\* | ||
- ZSH_TEST_LANG= | ||
- langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8 | ||
- $(locale -a 2>/dev/null | egrep 'utf8|UTF-8')) | ||
- for LANG in $langs; do | ||
- if [[ é = ? ]]; then | ||
- ZSH_TEST_LANG=$LANG | ||
- break; | ||
- fi | ||
- done | ||
+ ZSH_TEST_LANG=$(ZTST_find_UTF8) | ||
if ( zmodload zsh/zpty 2>/dev/null ); then | ||
. $ZTST_srcdir/comptest | ||
mkdir comp.tmp | ||
diff --git a/Test/ztst.zsh b/Test/ztst.zsh | ||
index aca275c1c..d95b726e7 100755 | ||
--- a/Test/ztst.zsh | ||
+++ b/Test/ztst.zsh | ||
@@ -37,6 +37,21 @@ emulate -R zsh | ||
# LANG must be passed to child zsh. | ||
export LANG | ||
|
||
+# find UTF-8 locale | ||
+ZTST_find_UTF8 () { | ||
+ setopt multibyte | ||
+ # Don't let LC_* override our choice of locale. | ||
+ unset -m LC_\* | ||
+ local langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8 | ||
+ ${(M)$(locale -a 2>/dev/null):#*.(utf8|UTF-8)}) | ||
+ for LANG in $langs; do | ||
+ if [[ é = ? ]]; then | ||
+ echo $LANG | ||
+ return | ||
+ fi | ||
+ done | ||
+} | ||
+ | ||
# Don't propagate variables that are set by default in the shell. | ||
typeset +x WORDCHARS | ||
|
Oops, something went wrong.