Hi Matt
On 30/03/2025 11:54, Matt Hunter wrote:
On Sun Mar 30, 2025 at 6:11 AM EDT, Phillip Wood wrote:
Thank you for adding a test. We have a helper function test_line_count
which provides a helpful debugging message if the comparison fails.
Using that and avoiding process substitutions we'd write
sort head >sorted_head &&
sort cmp >sorted_cmp &&
comm -12 sorted_head sorted_cmp >actual &&
test_line_count = 0 actual
Thanks for that helper tip. I was just about to send a v2 when your
message came in, so I'm getting that incorporated now.
By the way, I had originally wanted to write test assertions that
checked the actual number of commit ids returned from each of the two
calls to rev-list - something like:
git rev-list --X-only HEAD...cmp >file &&
test_line_count = N file
But since I'm not very familiar with this test harness yet, I couldn't
actually figure the correct value for N. It's not 1 (the commit made in
my test body), and it's not 2 (that commit, plus the one from the setup
case at the top of the file). Any appropriate higher value wasn't
obvious.
Each test in a given file runs in the same repository (this is a
performance optimization) so the number of commits will depend on what
the previous tests have done. Usually there is a setup test at the start
of the file which creates some commits with tags. Individual tests can
then use those tags to establish a known state.
Best Wishes
Phillip
So I switched to what you saw in my v1. Maybe this "no commit ids in
common" test is actually the stronger assertion?