Andrei Rybak <rybak.a.v@xxxxxxxxx> writes: > On 14/08/18 13:47, SZEDER Gábor wrote: >> ... both >> invocations produce empty 'pack{a,b}.objects' files, and the >> subsequent 'test_cmp' happily finds those two empty files identical. > > Is test_cmp ever used for empty files? Would it make sense for > test_cmp to issue warning when an empty file is being compared? Typically test_cmp is used to compare the actual output from a dubious command being tested with the expected output from a procedure that is known not to be broken (e.g. a run of 'echo', or a 'cat' of here-doc), so at least one side would not be empty. The test done here is an odd case---it compares output from two equally dubious processes that are being tested and sees if their results match. That said, since we have test_must_be_empty, we could forbid feeding empty files to test_cmp, after telling everybody that a test that expects an empty output must use test_must_be_empty. I do not think it is a terrible idea.