Re: [GSoC PATCH v3 4/5] t7700: test for promisor file content after repack
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 7, 2026, 18:10 UTC
- Message-ID
- <xmqqwlyi4p6t.fsf@gitster.g>
- In-Reply-To
- <8e58c1263d15fb8dba8ce1d2866d369e938bf2b6.1775431990.git.lorenzo.pegorari2002@gmail.com>
LorenzoPegorari <lorenzo.pegorari2002@gmail.com> writes:
Show 54 quoted lines
> Add tests that checks if the content of ".promisor" files are correctly > copied inside the ".promisor" files created by a repack. > > Signed-off-by: LorenzoPegorari <lorenzo.pegorari2002@gmail.com> > --- > t/t7700-repack.sh | 63 +++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 63 insertions(+) > > diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh > index 63ef63fc50..89a2116641 100755 > --- a/t/t7700-repack.sh > +++ b/t/t7700-repack.sh > @@ -904,4 +904,67 @@ test_expect_success 'pending objects are repacked appropriately' ' > ) > ' > > +test_expect_success 'check one .promisor file content after repack' ' > + test_when_finished rm -rf prom_test && > + git init prom_test && > + path=prom_test/.git/objects/pack && > + > + ( > + test_commit_bulk -C prom_test --start=1 1 && > + > + # Simulate .promisor file by creating it manually > + prom=$(ls $path/*.pack | sed "s/\.pack/.promisor/") && > + oid=$(git -C prom_test rev-parse HEAD) && > + echo "$oid ref" >$prom && > + > + # Save the current .promisor content, repack, and check if correct > + prom_before_repack=$(cat $prom) && > + git -C prom_test repack -a -d && > + prom=$(ls $path/*.pack | sed "s/\.pack/.promisor/") && > + # $prom should contain "$prom_before_repack <date>" > + test_grep "$prom_before_repack " $prom && > + > + # Save the current .promisor content, repack, and check if correct > + cat $prom >prom_before_repack && > + git -C prom_test repack -a -d && > + prom=$(ls $path/*.pack | sed "s/\.pack/.promisor/") && > + # $prom should be exactly the same as prom_before_repack > + test_cmp prom_before_repack $prom > + ) > +' > + > +test_expect_success 'check multiple .promisor file content after repack' ' > +... > + > + # Repack, and check if correct compared to previous saved .promisor content > + git -C prom_test repack -a -d && > + prom=$(ls $path/*.pack | sed "s/\.pack/.promisor/") && > + # $prom should contain "$prom_before_repack1 <date>" & "$prom_before_repack2 <date>" > + test_grep "$prom_before_repack1 " $prom && > + test_grep "$prom_before_repack2 " $prom &&
This test seems to be flakey.
https://github.com/git/git/actions/runs/24095497271/job/70292906676#step:10:5274
shows that $prom gets two file names, and because test_grep is expecting a single source to grep inside, the first test_grep fails.