t3404: use write_script
commit7bec7f50ae10ce760160ed4d11e47cd0494cb8d7
authorJunio C Hamano <gitster@pobox.com>
Tue, 12 Apr 2016 16:59:59 +0000 (12 09:59 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 12 Apr 2016 16:59:59 +0000 (12 09:59 -0700)
tree6addfbd693a781a833375f6cf8536ae1a034460f
parenta3bb8ca74ca01859f5eed962256faea737d4db7c
t3404: use write_script

The test uses hardcoded #!/bin/sh to create a pre-commit hook
script.  Because the generated script uses $(command substitution),
which is not supported by /bin/sh on some platforms (e.g. Solaris),
the resulting pre-commit always fails.

Which is not noticeable as the test that uses the hook is about
checking the behaviour of the command when the hook fails ;-), but
nevertheless it is not testing what we wanted to test.

Use write_script so that the resulting script is run under the same
shell our scripted Porcelain commands are run, which must support
the necessary $(construct).

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3404-rebase-interactive.sh