tests/test-exchange-B2.t
author Laurent Charignon <lcharignon@fb.com>
Sat, 13 Jun 2015 11:14:27 -0700
changeset 1362 73e5b5280c1c
parent 1093 a49f2e7a2755
child 2083 778afb036245
permissions -rw-r--r--
inhibit: improve performance of transaction wrapping Before this patch, transaction wrapping was the most expensive part of inhibit computation wise. This patch changes the revset that we use in the transaction wrapping to make it ~50x faster to compute: revset #0: obsolete() - hidden() 0) wall 0.000214 comb 0.000000 user 0.000000 sys 0.000000 (best of 11209) vs revset #0: (not hidden()) and obsolete() 0) wall 0.010965 comb 0.010000 user 0.010000 sys 0.000000 (best of 237)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     1
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     2
Initial setup
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     3
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     4
  $ . $TESTDIR/_exc-util.sh
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     5
984
b286f77d680c tests: fix grammar, spelling, punctuation in comments
Greg Ward <greg@gerg.ca>
parents: 957
diff changeset
     6
=== B.2 Pruned changeset on head: nothing pushed ===
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     7
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     8
.. {{{
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     9
..      A
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    10
..     |
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    11
..      O
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    12
.. }}}
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    13
..
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    14
.. Marker exist from:
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    15
..
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    16
..  * A (prune)
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    17
..
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    18
.. Command run:
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    19
..
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    20
..  * hg push -r O
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    21
..  * hg push
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    22
..
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    23
.. Expected exchange:
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    24
..
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    25
..  * prune marker for A
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    26
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    27
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    28
  $ setuprepos B.2
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    29
  creating test repo for test case B.2
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    30
  - pulldest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    31
  - main
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    32
  - pushdest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    33
  cd into `main` and proceed with env setup
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    34
  $ cd main
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    35
  $ mkcommit A
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    36
  $ hg prune -qd '0 0' .
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    37
  $ hg log -G --hidden
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    38
  x  f5bc6836db60 (draft): A
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    39
  |
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    40
  @  a9bdc8b26820 (public): O
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    41
  
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    42
  $ hg debugobsolete
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
    43
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    44
  $ cd ..
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    45
  $ cd ..
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    46
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    47
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    48
  $ cp -r B.2 B.2.a
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    49
  $ cp -r B.2 B.2.b
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    50
984
b286f77d680c tests: fix grammar, spelling, punctuation in comments
Greg Ward <greg@gerg.ca>
parents: 957
diff changeset
    51
Actual Test (explicit push version)
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    52
-----------------------------------
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    53
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    54
  $ dotest B.2.a O
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    55
  ## Running testcase B.2.a
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    56
  # testing echange of "O" (a9bdc8b26820)
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    57
  ## initial state
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    58
  # obstore: main
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
    59
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    60
  # obstore: pushdest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    61
  # obstore: pulldest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    62
  ## pushing "O" from main to pushdest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    63
  pushing to pushdest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    64
  searching for changes
1078
5717d023da63 obsexc: use the common discovery
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1067
diff changeset
    65
  no changes found
1093
a49f2e7a2755 obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
    66
  remote: 1 new obsolescence markers
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    67
  ## post push state
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    68
  # obstore: main
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
    69
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    70
  # obstore: pushdest
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
    71
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    72
  # obstore: pulldest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    73
  ## pulling "a9bdc8b26820" from main into pulldest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    74
  pulling from main
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    75
  no changes found
1093
a49f2e7a2755 obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
    76
  1 new obsolescence markers
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    77
  ## post pull state
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    78
  # obstore: main
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
    79
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    80
  # obstore: pushdest
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
    81
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    82
  # obstore: pulldest
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
    83
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    84
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    85
Actual Test (bare push version)
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    86
-----------------------------------
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    87
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    88
  $ dotest B.2.b
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    89
  ## Running testcase B.2.b
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    90
  ## initial state
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    91
  # obstore: main
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
    92
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    93
  # obstore: pushdest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    94
  # obstore: pulldest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    95
  ## pushing from main to pushdest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    96
  pushing to pushdest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    97
  searching for changes
1078
5717d023da63 obsexc: use the common discovery
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1067
diff changeset
    98
  no changes found
1093
a49f2e7a2755 obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
    99
  remote: 1 new obsolescence markers
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   100
  ## post push state
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   101
  # obstore: main
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
   102
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   103
  # obstore: pushdest
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
   104
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   105
  # obstore: pulldest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   106
  ## pulling from main into pulldest
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   107
  pulling from main
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   108
  searching for changes
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   109
  no changes found
1093
a49f2e7a2755 obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
   110
  1 new obsolescence markers
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   111
  ## post pull state
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   112
  # obstore: main
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
   113
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   114
  # obstore: pushdest
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
   115
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
838
b4087501d6a5 exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   116
  # obstore: pulldest
1067
5d063fed9e3d evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1065
diff changeset
   117
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}