tests/test-exchange-obsmarkers-case-B2.t
author Gregory Szorc <gregory.szorc@gmail.com>
Fri, 13 Apr 2018 11:02:34 -0700
changeset 37631 2f626233859b
parent 31914 c8e5370ab4ba
permissions -rw-r--r--
wireproto: implement batching on peer executor interface This is a bit more complicated than non-batch requests because we need to buffer sends until the last request arrives *and* we need to support resolving futures as data arrives from the remote. In a classical concurrent.futures executor model, the future "starts" as soon as it is submitted. However, we have nothing to start until the last command is submitted. If we did nothing, calling result() would deadlock, since the future hasn't "started." So in the case where we queue the command, we return a special future type whose result() will trigger sendcommands(). This eliminates the deadlock potential. It also serves as a check against callers who may be calling result() prematurely, as it will prevent any subsequent callcommands() from working. This behavior is slightly annoying and a bit restrictive. But it's the world that half duplex connections forces on us. In order to support streaming responses, we were previously using a generator. But with a futures-based API, we're using futures and not generators. So in order to get streaming, we need a background thread to read data from the server. The approach taken in this patch is to leverage the ThreadPoolExecutor from concurrent.futures for managing a background thread. We create an executor and future that resolves when all response data is processed (or an error occurs). When exiting the context manager, we wait on that background reading before returning. I was hoping we could manually spin up a threading.Thread and this would be simple. But I ran into a few deadlocks when implementing. After looking at the source code to concurrent.futures, I figured it would just be easier to use a ThreadPoolExecutor than implement all the code needed to manually manage a thread. To prove this works, a use of the batch API in discovery has been updated. Differential Revision: https://phab.mercurial-scm.org/D3269
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31914
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     1
============================================
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     2
Testing obsolescence markers push: Cases B.2
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     3
============================================
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     4
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     5
Mercurial pushes obsolescences markers relevant to the "pushed-set", the set of
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     6
all changesets that requested to be "in sync" after the push (even if they are
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     7
already on both side).
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     8
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     9
This test belongs to a series of tests checking such set is properly computed
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    10
and applied. This does not tests "obsmarkers" discovery capabilities.
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    11
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    12
Category B: pruning case
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    13
TestCase 2: Prune on targeted common changeset
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    14
Variants:
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    15
# a: explicite push
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    16
# b: bare push
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    17
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    18
B.2 Pruned changeset on head: nothing pushed
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    19
============================================
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    20
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    21
.. {{{
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    22
..     ⊗ A
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    23
..     |
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    24
..     ● O
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    25
.. }}}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    26
..
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    27
.. Marker exist from:
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    28
..
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    29
..  * A (prune)
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    30
..
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    31
.. Command run:
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    32
..
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    33
..  * hg push -r O
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    34
..  * hg push
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    35
..
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    36
.. Expected exchange:
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    37
..
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    38
..  * prune marker for A
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    39
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    40
Setup
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    41
-----
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    42
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    43
  $ . $TESTDIR/testlib/exchange-obsmarker-util.sh
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    44
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    45
Initial
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    46
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    47
  $ setuprepos B.2
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    48
  creating test repo for test case B.2
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    49
  - pulldest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    50
  - main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    51
  - pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    52
  cd into `main` and proceed with env setup
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    53
  $ cd main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    54
  $ mkcommit A
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    55
  $ hg prune -qd '0 0' .
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    56
  $ hg log -G --hidden
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    57
  x  f5bc6836db60 (draft): A
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    58
  |
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    59
  @  a9bdc8b26820 (public): O
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    60
  
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    61
  $ inspect_obsmarkers
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    62
  obsstore content
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    63
  ================
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    64
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    65
  $ cd ..
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    66
  $ cd ..
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    67
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    68
  $ cp -R B.2 B.2.a
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    69
  $ cp -R B.2 B.2.b
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    70
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    71
Actual Test (explicit push version)
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    72
-----------------------------------
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    73
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    74
  $ dotest B.2.a O
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    75
  ## Running testcase B.2.a
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    76
  # testing echange of "O" (a9bdc8b26820)
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    77
  ## initial state
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    78
  # obstore: main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    79
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    80
  # obstore: pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    81
  # obstore: pulldest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    82
  ## pushing "O" from main to pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    83
  pushing to pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    84
  searching for changes
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    85
  no changes found
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    86
  remote: 1 new obsolescence markers
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    87
  ## post push state
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    88
  # obstore: main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    89
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    90
  # obstore: pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    91
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    92
  # obstore: pulldest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    93
  ## pulling "a9bdc8b26820" from main into pulldest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    94
  pulling from main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    95
  no changes found
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    96
  1 new obsolescence markers
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    97
  ## post pull state
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    98
  # obstore: main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    99
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   100
  # obstore: pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   101
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   102
  # obstore: pulldest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   103
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   104
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   105
Actual Test (bare push version)
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   106
-----------------------------------
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   107
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   108
  $ dotest B.2.b
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   109
  ## Running testcase B.2.b
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   110
  ## initial state
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   111
  # obstore: main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   112
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   113
  # obstore: pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   114
  # obstore: pulldest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   115
  ## pushing from main to pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   116
  pushing to pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   117
  searching for changes
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   118
  no changes found
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   119
  remote: 1 new obsolescence markers
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   120
  ## post push state
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   121
  # obstore: main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   122
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   123
  # obstore: pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   124
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   125
  # obstore: pulldest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   126
  ## pulling from main into pulldest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   127
  pulling from main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   128
  searching for changes
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   129
  no changes found
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   130
  1 new obsolescence markers
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   131
  ## post pull state
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   132
  # obstore: main
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   133
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   134
  # obstore: pushdest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   135
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   136
  # obstore: pulldest
c8e5370ab4ba obsolescence: add test case B-2 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   137
  f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}