Skip to content

Commit 45c0c21

Browse files
committed
Merge branch 'jk/shell-portability'
test fixes. * jk/shell-portability: t5500 & t7403: lose bash-ism "local" test-lib: add in-shell "env" replacement
2 parents 8ffc9d2 + e256eec commit 45c0c21

File tree

4 files changed

+25
-4
lines changed

4 files changed

+25
-4
lines changed

t/t4014-format-patch.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1072,7 +1072,7 @@ test_expect_success '--from omits redundant in-body header' '
10721072
'
10731073

10741074
test_expect_success 'in-body headers trigger content encoding' '
1075-
GIT_AUTHOR_NAME="éxötìc" test_commit exotic &&
1075+
test_env GIT_AUTHOR_NAME="éxötìc" test_commit exotic &&
10761076
test_when_finished "git reset --hard HEAD^" &&
10771077
git format-patch -1 --stdout --from >patch &&
10781078
cat >expect <<-\EOF &&

t/t5500-fetch-pack.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,6 @@ check_prot_path () {
558558
}
559559

560560
check_prot_host_port_path () {
561-
local diagport
562561
case "$2" in
563562
*ssh*)
564563
pp=ssh

t/t7403-submodule-sync.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ test_expect_success 'change submodule' '
6262
'
6363

6464
reset_submodule_urls () {
65-
local root
66-
root=$(pwd) &&
6765
(
66+
root=$(pwd) &&
6867
cd super-clone/submodule &&
6968
git config remote.origin.url "$root/submodule"
7069
) &&
7170
(
71+
root=$(pwd) &&
7272
cd super-clone/submodule/sub-submodule &&
7373
git config remote.origin.url "$root/submodule"
7474
)

t/test-lib-functions.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -939,3 +939,25 @@ mingw_read_file_strip_cr_ () {
939939
eval "$1=\$$1\$line"
940940
done
941941
}
942+
943+
# Like "env FOO=BAR some-program", but run inside a subshell, which means
944+
# it also works for shell functions (though those functions cannot impact
945+
# the environment outside of the test_env invocation).
946+
test_env () {
947+
(
948+
while test $# -gt 0
949+
do
950+
case "$1" in
951+
*=*)
952+
eval "${1%%=*}=\${1#*=}"
953+
eval "export ${1%%=*}"
954+
shift
955+
;;
956+
*)
957+
"$@"
958+
exit
959+
;;
960+
esac
961+
done
962+
)
963+
}

0 commit comments

Comments
 (0)