]> git.ipfire.org Git - thirdparty/git.git/commit - t/test-lib-functions.sh
test-lib-functions: make 'test_cmp_rev' more informative on failure
authorSZEDER Gábor <szeder.dev@gmail.com>
Mon, 19 Nov 2018 13:28:18 +0000 (14:28 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 20 Nov 2018 03:16:59 +0000 (12:16 +0900)
commit30d0b6dccbc08d2146697f4369ac6bc78508a4c9
tree13ab48faa83e53345793b6db2945ea629da6455b
parentbb75be6cb916297f271c846f2f9caa3daaaec718
test-lib-functions: make 'test_cmp_rev' more informative on failure

The 'test_cmp_rev' helper is merely a wrapper around 'test_cmp'
checking the output of two 'git rev-parse' commands, which means that
its output on failure is not particularly informative, as it's
basically two OIDs with a bit of extra clutter of the diff header, but
without any indication of which two revisions have caused the failure:

  --- expect.rev  2018-11-17 14:02:11.569747033 +0000
  +++ actual.rev  2018-11-17 14:02:11.569747033 +0000
  @@ -1 +1 @@
  -d79ce1670bdcb76e6d1da2ae095e890ccb326ae9
  +139b20d8e6c5b496de61f033f642d0e3dbff528d

It also pollutes the test repo with these two intermediate files,
though that doesn't seem to cause any complications in our current
tests (meaning that I couldn't find any tests that have to work around
the presence of these files by explicitly removing or ignoring them).

Enhance 'test_cmp_rev' to provide a more useful output on failure with
less clutter:

  error: two revisions point to different objects:
    'HEAD^': d79ce1670bdcb76e6d1da2ae095e890ccb326ae9
    'extra': 139b20d8e6c5b496de61f033f642d0e3dbff528d

Doing so is more convenient when storing the OIDs outputted by 'git
rev-parse' in a local variable each, which, as a bonus, won't pollute
the repository with intermediate files.

While at it, also ensure that 'test_cmp_rev' is invoked with the right
number of parameters, namely two.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib-functions.sh