t5541: clean up truncating access log
commita704c6439a9a34045f6d5bde78d5982b11e6d478
authorSZEDER Gábor <szeder.dev@gmail.com>
Thu, 12 Jul 2018 12:22:14 +0000 (12 14:22 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 12 Jul 2018 17:40:26 +0000 (12 10:40 -0700)
treebe126ecde500270c7efa0f52a59530df812931d6
parent4dde7b8799dec0e7aecb04fdc55c656e674cff6f
t5541: clean up truncating access log

In the second test of 't5541-http-push-smart.sh', 'no empty path
components' we truncate Apache's access log by running:

  echo >.../access.log

There are two issues with this approach:

  - This doesn't leave an empty file behind, like a proper truncation
    would, but a file with a lone newline in it.  Consequently, a
    later test checking the log's contents must consider this improper
    truncation and include an empty line in the expected content.

  - This truncation is done in the middle of the test, because,
    quoting the in-code comment, "we do this [truncation] before the
    actual comparison to ensure the log is cleared" even when
    subsequent 'test_cmp' fails.  Alas, this is not quite robust
    enough, as it is conceivable that 'git clone' fails after already
    having sent a request, in which case the access log would not be
    truncated and would leave stray log entries behind.

Since there is no need for that newline at all, drop the 'echo' from
the truncation and adjust the expected content accordingly.
Furthermore, make sure that the truncation is performed no matter
whether and how 'git clone' fails unexpectedly by specifying it as a
'test_when_finished' command.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5541-http-push-smart.sh