tests/test-exchange-obsmarkers-case-C1.t
author Anton Shestakov <av6@dwimlabs.net>
Fri, 07 Jun 2019 18:14:48 +0800
branchstable
changeset 4687 313565dd75e3
parent 3566 e6bea259c227
child 3591 98941c28f3e2
child 4363 a2fdbece7ce1
permissions -rw-r--r--
pick: remove transaction on the whole command (issue6037) At its core, pick is a pretty straightforward and well-behaving command, it uses functions already in core hg, it checks that wdir is clean and that changeset to pick is not public, it checks if there happen to be merge conflicts and can be --continue'd later, etc. It is very similar to graft in core (it also uses mergemod.graft function), but it obsoletes the original changeset. However, graft does not experience this incorrect behavior from issue 6037. What happens in the test case for this issue when we pick a revision that touches both "a" and "b": mergemod.graft() takes the original changeset and tries to apply it to the wdir, which results in "b" being marked as newly added and ready to be committed, "a" updated with the new content and being marked as modified, but "a" also has conflicts. Pick correctly notices this and saves its state before asking for user intervention. So far so good. However, when the command raises InterventionRequired to print a user-facing message and exit while being wrapped in repo.transaction() context manager, the latter partially undoes what mergemod.graft() did: it unmarks "b" as added. And when user continues pick, "b" is therefore not tracked and is not included in the resulting commit. The transaction is not useful here, because it doesn't touch wdir (it's still dirty), it doesn't remove pickstate (and other commands will refuse to work until pick --abort or --continue), it just makes "b" untracked. The solution is to use repo.transaction() only to wrap code that writes data to hg store in the final stages of the command after all checks have passed and is not expected to fail on trivial cases like merge conflicts. For example, committing the picked changeset. But since pick uses repo.commit() for that, and because that function already uses a transaction, wrapping it in another transaction doesn't make sense.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
     1
============================================
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
     2
Testing obsolescence markers push: Cases C.1
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
     3
============================================
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     4
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
     5
Mercurial pushes obsolescences markers relevant to the "pushed-set", the set of
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
     6
all changesets that requested to be "in sync" after the push (even if they are
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
     7
already on both side).
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     8
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
     9
This test belongs to a series of tests checking such set is properly computed
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    10
and applied. This does not tests "obsmarkers" discovery capabilities.
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    11
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    12
Category C: advanced case
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    13
TestCase 1: Multiple pruned changeset atop each other
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    14
Variants:
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    15
# a: explicite push
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    16
# b: bare push
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    17
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    18
C.1 Multiple pruned changeset atop each other
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    19
=============================================
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    20
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    21
.. {{{
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    22
..    B
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    23
..   |
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    24
..    A
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    25
..   |
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    26
..    O
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    27
.. }}}
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    28
..
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    29
.. Marker exist from:
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    30
..
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    31
..  * A (prune)
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    32
..  * B (prune)
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    33
..
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    34
.. Commands run:
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    35
..
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    36
..  * hg push -r O
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    37
..  * hg push
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    38
..
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    39
.. Expected exchange:
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    40
..
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    41
..  * A (prune)
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    42
..  * B (prune)
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    43
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    44
Setup
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    45
-----
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    46
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    47
  $ . $TESTDIR/testlib/exchange-obsmarker-util.sh
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    48
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    49
Initial
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    50
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    51
  $ setuprepos C.1
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    52
  creating test repo for test case C.1
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    53
  - pulldest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    54
  - main
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    55
  - pushdest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    56
  cd into `main` and proceed with env setup
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    57
  $ cd main
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    58
  $ mkcommit A
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    59
  $ mkcommit B
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    60
  $ hg prune -qd '0 0' '.~1'
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    61
  1 new orphan changesets
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    62
  $ hg prune -qd '0 0' .
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    63
  $ hg log -G --hidden
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    64
  x  f6fbb35d8ac9 (draft): B
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    65
  |
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    66
  x  f5bc6836db60 (draft): A
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    67
  |
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    68
  @  a9bdc8b26820 (public): O
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    69
  
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    70
  $ inspect_obsmarkers
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    71
  obsstore content
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    72
  ================
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
    73
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
    74
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    75
  obshashtree
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    76
  ===========
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
    77
  a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 4e4b1659570cc47f1bdabfa3497e6f2d2b046ad5
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
    78
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 b850046e0c6894550e08fff1bdd1e0a597767183
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
    79
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af b80529986a1201fd5306200ce6a19150fad97a2a
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    80
  obshashrange
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    81
  ============
2228
3b18440cca74 debugstablerange: improve output spacing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2118
diff changeset
    82
           rev         node        index         size        depth      obshash
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
    83
             0 a9bdc8b26820            0            1            1 4e4b1659570c
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    84
  $ cd ..
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    85
  $ cd ..
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    86
2268
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    87
  $ cp -R C.1 C.1.a
f2ebe960998b tests: update test to match upstreamable version
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2230
diff changeset
    88
  $ cp -R C.1 C.1.b
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    89
984
b286f77d680c tests: fix grammar, spelling, punctuation in comments
Greg Ward <greg@gerg.ca>
parents: 957
diff changeset
    90
Actual Test (explicit push)
b286f77d680c tests: fix grammar, spelling, punctuation in comments
Greg Ward <greg@gerg.ca>
parents: 957
diff changeset
    91
---------------------------
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    92
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    93
  $ dotest C.1.a O
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    94
  ## Running testcase C.1.a
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    95
  # testing echange of "O" (a9bdc8b26820)
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    96
  ## initial state
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    97
  # obstore: main
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
    98
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
    99
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   100
  # obstore: pushdest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   101
  # obstore: pulldest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   102
  ## pushing "O" from main to pushdest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   103
  pushing to pushdest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   104
  searching for changes
1078
5717d023da63 obsexc: use the common discovery
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1067
diff changeset
   105
  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
   106
  remote: 2 new obsolescence markers
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   107
  ## post push state
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   108
  # obstore: main
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   109
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   110
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   111
  # obstore: pushdest
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   112
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   113
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   114
  # obstore: pulldest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   115
  ## pulling "a9bdc8b26820" from main into pulldest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   116
  pulling from main
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   117
  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
   118
  2 new obsolescence markers
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   119
  ## post pull state
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   120
  # obstore: main
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   121
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   122
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   123
  # obstore: pushdest
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   124
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   125
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   126
  # obstore: pulldest
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   127
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   128
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   129
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   130
Actual Test (bare push)
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   131
-------------------------------------
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   132
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   133
  $ dotest C.1.b
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   134
  ## Running testcase C.1.b
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   135
  ## initial state
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   136
  # obstore: main
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   137
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   138
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   139
  # obstore: pushdest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   140
  # obstore: pulldest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   141
  ## pushing from main to pushdest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   142
  pushing to pushdest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   143
  searching for changes
1078
5717d023da63 obsexc: use the common discovery
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1067
diff changeset
   144
  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
   145
  remote: 2 new obsolescence markers
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   146
  ## post push state
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   147
  # obstore: main
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   148
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   149
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   150
  # obstore: pushdest
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   151
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   152
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   153
  # obstore: pulldest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   154
  ## pulling from main into pulldest
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   155
  pulling from main
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   156
  searching for changes
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   157
  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
   158
  2 new obsolescence markers
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   159
  ## post pull state
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   160
  # obstore: main
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   161
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   162
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   163
  # obstore: pushdest
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   164
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   165
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
844
45ca2d5f84be exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   166
  # obstore: pulldest
3566
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   167
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
e6bea259c227 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3559
diff changeset
   168
  f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}