Code

tests: add write_script helper function
authorJunio C Hamano <gitster@pobox.com>
Sat, 4 Feb 2012 06:29:01 +0000 (01:29 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sat, 4 Feb 2012 07:01:07 +0000 (23:01 -0800)
commit840c519d7e7ae4651a7b5a0954f7aa53eebc29b6
treedac8be1023f6930cb6166d43d6fa5626a6314d41
parent828ea97de486c1693d6e4f2c7347acb50235a85d
tests: add write_script helper function

Many of the scripts in the test suite write small helper
shell scripts to disk. It's best if these shell scripts
start with "#!$SHELL_PATH" rather than "#!/bin/sh", because
/bin/sh on some platforms is too buggy to be used.

However, it can be cumbersome to expand $SHELL_PATH, because
the usual recipe for writing a script is:

cat >foo.sh <<-\EOF
#!/bin/sh
echo my arguments are "$@"
EOF

To expand $SHELL_PATH, you have to either interpolate the
here-doc (which would require quoting "\$@"), or split the
creation into two commands (interpolating the $SHELL_PATH
line, but not the rest of the script). Let's provide a
helper function that makes that less syntactically painful.

While we're at it, this helper can also take care of the
"chmod +x" that typically comes after the creation of such a
script, saving the caller a line.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh