tests/test-exchange-A5.t
author Laurent Charignon <lcharignon@fb.com>
Thu, 04 Jun 2015 16:49:16 -0700
changeset 1361 043e5ca9322f
parent 1093 a49f2e7a2755
child 2083 778afb036245
permissions -rw-r--r--
evolve: extract the code computing dependencies in a separate function The code to compute dependencies between unstable changeset can be reused to compute the next reveset. This patch extracts it in its own function to make it reusable.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     2
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     3
Initial setup
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     4
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     5
  $ . $TESTDIR/_exc-util.sh
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     6
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     7
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     8
=== A.5 partial reordering ===
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     9
..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    10
.. {{{
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    11
..   B ø⇠⇠
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    12
..     | 
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    13
..   A ø⇠⇠⇠○ A'
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    14
..     | ⇡/
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    15
..     | ○ B'
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    16
..     |/
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    17
..      O
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    18
.. }}}
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    19
..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    20
.. Marker exist from:
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    21
..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    22
..  * `⇠○ A'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    23
..  * `Bø⇠○ B'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    24
..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    25
.. Command run:
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    26
..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    27
..  * hg push -r B
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    28
..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    29
.. Expected exchange:
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    30
..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    31
..  * `⇠○ B'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    32
..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    33
.. Expected Exclude:
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    34
..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    35
..  * `Aø⇠○ A'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    36
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    37
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    38
initial
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    39
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    40
  $ setuprepos A.5
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    41
  creating test repo for test case A.5
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    42
  - pulldest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    43
  - main
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    44
  - pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    45
  cd into `main` and proceed with env setup
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    46
  $ cd main
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    47
  $ mkcommit A0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    48
  $ mkcommit B0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    49
  $ hg update 0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    50
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    51
  $ mkcommit B1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    52
  created new head
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    53
  $ mkcommit A1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    54
  $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(A0)'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    55
  $ hg debugobsolete `getid 'desc(B0)'` `getid 'desc(B1)'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    56
  $ hg debugobsolete `getid 'desc(A0)'` `getid 'desc(A1)'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    57
  $ hg log -G --hidden
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    58
  @  8c0a98c83722 (draft): A1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    59
  |
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    60
  o  f6298a8ac3a4 (draft): B1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    61
  |
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    62
  | x  6e72f0a95b5e (draft): B0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    63
  | |
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    64
  | x  28b51eb45704 (draft): A0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    65
  |/
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    66
  o  a9bdc8b26820 (public): O
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    67
  
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    68
  $ hg debugobsolete
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
    69
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
    70
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
    71
  28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    72
  $ cd ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    73
  $ cd ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    74
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    75
Actual Test
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    76
-----------
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    77
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    78
  $ dotest A.5 B1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    79
  ## Running testcase A.5
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    80
  # testing echange of "B1" (f6298a8ac3a4)
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    81
  ## initial state
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    82
  # obstore: main
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
    83
  28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
    84
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
    85
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    86
  # obstore: pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    87
  # obstore: pulldest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    88
  ## pushing "B1" from main to pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    89
  pushing to pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    90
  searching for changes
1089
cdd22a5e5ef1 enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
    91
  remote: adding changesets
cdd22a5e5ef1 enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
    92
  remote: adding manifests
cdd22a5e5ef1 enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
    93
  remote: adding file changes
cdd22a5e5ef1 enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
    94
  remote: added 1 changesets with 1 changes to 1 files
1093
a49f2e7a2755 obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1089
diff changeset
    95
  remote: 1 new obsolescence markers
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    96
  ## post push state
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    97
  # obstore: main
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
    98
  28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
    99
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
   100
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   101
  # obstore: pushdest
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
   102
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   103
  # obstore: pulldest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   104
  ## pulling "f6298a8ac3a4" from main into pulldest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   105
  pulling from main
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   106
  searching for changes
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   107
  adding changesets
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   108
  adding manifests
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   109
  adding file changes
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   110
  added 1 changesets with 1 changes to 1 files
1093
a49f2e7a2755 obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1089
diff changeset
   111
  1 new obsolescence markers
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   112
  (run 'hg update' to get a working copy)
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   113
  ## post pull state
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   114
  # obstore: main
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
   115
  28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
   116
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
   117
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   118
  # obstore: pushdest
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
   119
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   120
  # obstore: pulldest
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
   121
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}