git p4 test: do not pollute /tmp
commit0cf1b72a38e6190a7e614bbc53fbb81704a3d4af
authorPete Wyckoff <pw@padd.com>
Tue, 21 Jan 2014 23:16:44 +0000 (21 18:16 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 22 Jan 2014 16:06:19 +0000 (22 08:06 -0800)
treeb9cc9161d83b70a11387bd0691ddfc7b3928c30f
parent0055b56e10f77b1b5f5521b8ba3614f962a09288
git p4 test: do not pollute /tmp

Generating the submit template for p4 uses tempfile.mkstemp(),
which by default puts files in /tmp.  For a test that fails,
possibly on purpose, this is not cleaned up.  Run with TMPDIR
pointing into the trash directory so the temp files go away
with the test results.

To do this required some other minor changes.  First, the editor
is launched using system(editor + " " + template_file), using
shell expansion to build the command string.  This doesn't work
if editor has a space in it.  And is generally unwise as it's
easy to fool the shell into doing extra work.  Exec the args
directly, without shell expansion.

Second, without shell expansion, the trick of "P4EDITOR=:" used
in the tests doesn't work.  Use a real command, true, as the
non-interactive editor for testing.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-p4.py
t/lib-git-p4.sh
t/t9805-git-p4-skip-submit-edit.sh