From: Junio C Hamano Date: Fri, 03 Feb 2012 22:45:25 GMT Subject: Re: [PATCH] t0300-credentials: Word around a solaris /bin/sh bug Message-ID: <7vipjnmt8a.fsf@alter.siamese.dyndns.org> In-Reply-To: <20120203215507.GB3472@sigill.intra.peff.net> Jeff King writes: >> 2) echo "#!$2" ;; >> *) BUG ;; >> esac >"$1" && >> cat >>"$1" && >> chmod +x "$1" >> } >> > > Nice. I was going to suggest a wrapper like "write_sh_script" so you > didn't have to spell out $SHELL_PATH, but I think the auto-detection > makes sense (and falling back to shell makes even more sense, as that > covers 99% of the cases anyway). Let's not over-engineer this and stick to the simple-stupid-sufficient. Something like this? t/test-lib.sh | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/t/test-lib.sh b/t/test-lib.sh index bdd9513..1b9c461 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -379,6 +379,15 @@ test_config () { git config "$@" } +# Prepare a script to be used in the test +write_script () { + { + echo "#!${2-"$SHELL_PATH"}" + cat + } >"$1" && + chmod +x "$1" +} + # Use test_set_prereq to tell that a particular prerequisite is available. # The prerequisite can later be checked for in two ways: #