Re: [PATCH v2 1/3] t6423: add tests of dual directory rename plus add/add conflict
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jun 30, 2022, 10:21 UTC
- Message-ID
- <220630.86tu82e9b8.gmgdl@evledraar.gmail.com>
- In-Reply-To
- <bf4c03d01d5730503eb710e92a80136d5caa981a.1656572225.git.gitgitgadget@gmail.com>
On Thu, Jun 30 2022, Elijah Newren via GitGitGadget wrote:
> From: Elijah Newren <newren@gmail.com>
> +test_setup_12l () {
> + test_create_repo 12l_$1 &&Can & should just be "git init", see f0d4d398e28 (test-lib: split up and deprecate test_create_repo(), 2021-05-10).
> + ( > + cd 12l_$1 && > + > + mkdir -p sub1 sub2
The "-p" here isn't needed, you're not creating recursive directories.
> + git ls-files -s >out && > + test_line_count = 5 out &&
Can't this just use test_stdout_line_count? Except...
Show 14 quoted lines
> + > + git rev-parse >actual \ > + :0:sub3/file :0:sub3/newfile :0:sub3/sub2/other \ > + :2:sub1/sub2/new_add_add_file \ > + :3:sub1/sub2/new_add_add_file && > + git rev-parse >expect \ > + O:sub1/file B:sub1/newfile O:sub2/other \ > + A:sub2/new_add_add_file \ > + B:sub1/sub2/new_add_add_file && > + test_cmp expect actual && > + > + git ls-files -o >actual && > + test_write_lines actual expect out >expect && > + test_cmp expect actual
This test seems a bit odd, here we're just checking that we've created scratch files for the internal use of our test, why is it important that we have an "out" file, when the only reason we have it is because we needed it for checking the "ls-files" line count above?
Show 14 quoted lines
> + ) > +' > + > +test_expect_merge_algorithm failure failure '12l (A into B): Rename into each other + add/add conflict' ' > + test_setup_12l AintoB && > + ( > + cd 12l_AintoB && > + > + git checkout -q B^0 && > + > + test_must_fail git -c merge.directoryRenames=true merge -s recursive A^0 && > + > + git ls-files -s >out && > + test_line_count = 5 out &&
ditto.
Show 12 quoted lines
> + git rev-parse >actual \ > + :0:sub3/file :0:sub3/newfile :0:sub3/sub2/other \ > + :2:sub1/sub2/new_add_add_file \ > + :3:sub1/sub2/new_add_add_file && > + git rev-parse >expect \ > + O:sub1/file B:sub1/newfile O:sub2/other \ > + B:sub1/sub2/new_add_add_file \ > + A:sub2/new_add_add_file && > + test_cmp expect actual && > + > + git ls-files -o >actual && > + test_write_lines actual expect out >expect &&
ditto