rank: add test with golden values
This adds a regression test for the computation of the rank, using the current
values computed with the naive algorithm as the "golden" reference.
Differential Revision: https://phab.mercurial-scm.org/D12142
--- a/tests/test-rank.t Fri Jan 28 11:45:18 2022 +0100
+++ b/tests/test-rank.t Fri Jan 28 11:45:33 2022 +0100
@@ -36,3 +36,188 @@
$ cd ..
+
+Build a bigger example repo
+
+ $ hg init rank-repo-generated
+ $ cd rank-repo-generated
+ $ hg debugbuilddag '.:root1+5:mp1<root1+10:mp2/mp1+3<mp1+2:mp3/mp2$+15/mp1+4'
+ $ hg log -G -T '{desc}'
+ o r42
+ |
+ o r41
+ |
+ o r40
+ |
+ o r39
+ |
+ o r38
+ |\
+ | o r37
+ | |
+ | o r36
+ | |
+ | o r35
+ | |
+ | o r34
+ | |
+ | o r33
+ | |
+ | o r32
+ | |
+ | o r31
+ | |
+ | o r30
+ | |
+ | o r29
+ | |
+ | o r28
+ | |
+ | o r27
+ | |
+ | o r26
+ | |
+ | o r25
+ | |
+ | o r24
+ | |
+ | o r23
+ |
+ | o r22
+ | |\
+ | | o r21
+ | | |
+ +---o r20
+ | |
+ | | o r19
+ | | |
+ | | o r18
+ | | |
+ | | o r17
+ | | |
+ +---o r16
+ | |/
+ | o r15
+ | |
+ | o r14
+ | |
+ | o r13
+ | |
+ | o r12
+ | |
+ | o r11
+ | |
+ | o r10
+ | |
+ | o r9
+ | |
+ | o r8
+ | |
+ | o r7
+ | |
+ | o r6
+ | |
+ o | r5
+ | |
+ o | r4
+ | |
+ o | r3
+ | |
+ o | r2
+ | |
+ o | r1
+ |/
+ o r0
+
+
+
+Check the rank
+--------------
+
+ $ hg log -G -T '{_fast_rank}'
+ o 26
+ |
+ o 25
+ |
+ o 24
+ |
+ o 23
+ |
+ o 22
+ |\
+ | o 15
+ | |
+ | o 14
+ | |
+ | o 13
+ | |
+ | o 12
+ | |
+ | o 11
+ | |
+ | o 10
+ | |
+ | o 9
+ | |
+ | o 8
+ | |
+ | o 7
+ | |
+ | o 6
+ | |
+ | o 5
+ | |
+ | o 4
+ | |
+ | o 3
+ | |
+ | o 2
+ | |
+ | o 1
+ |
+ | o 19
+ | |\
+ | | o 8
+ | | |
+ +---o 7
+ | |
+ | | o 20
+ | | |
+ | | o 19
+ | | |
+ | | o 18
+ | | |
+ +---o 17
+ | |/
+ | o 11
+ | |
+ | o 10
+ | |
+ | o 9
+ | |
+ | o 8
+ | |
+ | o 7
+ | |
+ | o 6
+ | |
+ | o 5
+ | |
+ | o 4
+ | |
+ | o 3
+ | |
+ | o 2
+ | |
+ o | 6
+ | |
+ o | 5
+ | |
+ o | 4
+ | |
+ o | 3
+ | |
+ o | 2
+ |/
+ o 1
+