Skip to content

Commit

Permalink
t6111: add parents to tests
Browse files Browse the repository at this point in the history
Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Kevin Bracey authored and Junio C Hamano committed May 16, 2013
1 parent e16f434 commit 53e3835
Showing 1 changed file with 19 additions and 19 deletions.
38 changes: 19 additions & 19 deletions t/t6111-rev-list-treesame.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@ test_expect_success setup '
test_commit M file "Parts 1+2"
'

# could we soup this up to optionally check parents? So "(BA)C" would check
# that C is shown and has parents B A.
check_outcome () {
outcome=$1
shift
Expand Down Expand Up @@ -109,45 +107,47 @@ check_result () {
# except the most basic list. Achieving this means normal merge D will also be
# shown in normal full-history, as we can't distinguish unless we do a
# simplification pass. After simplification, D is dropped but G remains.
# Also, merge simplification of G should not drop the parent B that the default
# simple history follows.
check_result 'M L K J I H G F E D C B A'
check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FE)G (D)F (B)E (BC)D (A)C (A)B A'
check_result 'M H L K J I G E F D C B A' --topo-order
check_result 'M L H B A' -- file
check_result 'M L H B A' --parents -- file
check_result '(LH)M (B)L (B)H (A)B A' --parents -- file
check_outcome failure 'M L J I H G F D B A' --full-history -- file # drops G
check_result 'M L K J I H G F D B A' --full-history --parents -- file
check_outcome failure 'M H L J I G F B A' --simplify-merges -- file # drops G
check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FB)G (D)F (BA)D (A)B A' --full-history --parents -- file
check_outcome failure '(LH)M (G)H (J)L (I)J (G)I (FB)G (B)F (A)B A' --simplify-merges -- file # drops G
check_result 'M L K G F D B A' --first-parent
check_result 'M L G F B A' --first-parent -- file

# Check that odd merge G remains shown when F is the bottom.
check_result 'M L K J I H G E' F..M
check_result 'M H L K J I G E' F..M --topo-order
check_result 'M L H' F..M -- file
check_result 'M L H' F..M --parents -- file # L+H's parents rewritten to B, so more useful than it may seem
check_result '(LH)M (B)L (B)H' --parents F..M -- file
check_outcome failure 'M L J I H G' F..M --full-history -- file # drops G
check_result 'M L K J I H G' F..M --full-history --parents -- file
check_outcome failure 'M H L J I G' F..M --simplify-merges -- file # drops G
check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FB)G' F..M --full-history --parents -- file
check_outcome failure '(LH)M (G)H (J)L (I)J (G)I (FB)G' F..M --simplify-merges -- file # drops G
check_result 'M L K J I H G' F..M --ancestry-path
check_outcome failure 'M L J I H G' F..M --ancestry-path -- file # drops G
check_result 'M L K J I H G' F..M --ancestry-path --parents -- file
check_result 'M H L J I G' F..M --ancestry-path --simplify-merges -- file
check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FE)G' F..M --ancestry-path --parents -- file
check_result '(LH)M (G)H (J)L (I)J (G)I (FE)G' F..M --ancestry-path --simplify-merges -- file
check_result 'M L K G' F..M --first-parent
check_result 'M L G' F..M --first-parent -- file

# Note that G is pruned when E is the bottom, even if it's the same commit list
# If we want history since E, then we're quite happy to ignore G that took E.
check_result 'M L K J I H G' E..M --ancestry-path
check_result 'M L J I H' E..M --ancestry-path -- file
check_outcome failure 'M L K J I H' E..M --ancestry-path --parents -- file # includes G
check_outcome failure 'M H L J I' E..M --ancestry-path --simplify-merges -- file # includes G
check_outcome failure '(LH)M (K)L (EJ)K (I)J (E)I (E)H' E..M --ancestry-path --parents -- file # includes G
check_outcome failure '(LH)M (E)H (J)L (I)J (E)I' E..M --ancestry-path --simplify-merges -- file # includes G

# Should still be able to ignore I-J branch in simple log, despite limiting
# to G.
check_result 'M L K J I H' G..M
check_result 'M H L K J I' G..M --topo-order
check_outcome failure 'M L H' G..M -- file # includes J I
check_outcome failure 'M L H' G..M --parents -- file # includes J I
check_outcome failure '(LH)M (G)L (G)H' G..M --parents -- file # includes J I
check_result 'M L J I H' G..M --full-history -- file
check_result 'M L K J I H' G..M --full-history --parents -- file
check_result 'M H L J I' G..M --simplify-merges -- file
Expand All @@ -162,10 +162,10 @@ check_result 'M H L J I' G..M --ancestry-path --simplify-merges -- file
# we can't decide if the merge from INTERESTING commit C was sensible.
check_result 'F D C' B..F
check_result 'F' B..F -- file
check_outcome failure 'F' B..F --parents -- file # includes D
check_outcome failure '(B)F' B..F --parents -- file # includes D
check_outcome failure 'F D' B..F --full-history -- file # drops D prematurely
check_result 'F D' B..F --full-history --parents -- file
check_result 'F' B..F --simplify-merges -- file
check_result '(D)F (BA)D' B..F --full-history --parents -- file
check_result '(B)F' B..F --simplify-merges -- file
check_result 'F D' B..F --ancestry-path
check_result 'F' B..F --ancestry-path -- file
check_outcome failure 'F' B..F --ancestry-path --parents -- file # includes D
Expand All @@ -181,10 +181,10 @@ check_result 'F' E...F -- file
# and it differs from it.
check_result 'F D B' C..F
check_result 'F B' C..F -- file
check_result 'F B' C..F --parents -- file
check_result '(B)F (A)B' C..F --parents -- file
check_outcome failure 'F D B' C..F --full-history -- file # drops D
check_result 'F D B' C..F --full-history --parents -- file
check_result 'F D B' C..F --simplify-merges -- file
check_result '(D)F (BC)D (A)B' C..F --full-history --parents -- file
check_result '(D)F (BC)D (A)B' C..F --simplify-merges -- file
check_result 'F D' C..F --ancestry-path
check_outcome failure 'F D' C..F --ancestry-path -- file # drops D
check_result 'F D' C..F --ancestry-path --parents -- file
Expand Down

0 comments on commit 53e3835

Please sign in to comment.