tests/test-stream-bundle-v2.t
author Boris Feld <boris.feld@octobus.net>
Wed, 31 Jan 2018 11:44:33 +0100
changeset 37169 99f28a4b2a3a
parent 37168 a2b350d9f6ae
child 37170 b837655c1509
permissions -rw-r--r--
streamclonebundle: add a test for stream clone bundle v2 Differential Revision: https://phab.mercurial-scm.org/D1956
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37166
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     1
Test creating a consuming stream bundle v2
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     2
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     3
  $ getmainid() {
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     4
  >    hg -R main log --template '{node}\n' --rev "$1"
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     5
  > }
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     6
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     7
  $ cp $HGRCPATH $TESTTMP/hgrc.orig
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     8
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     9
  $ cat >> $HGRCPATH << EOF
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    10
  > [experimental]
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    11
  > evolution.createmarkers=True
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    12
  > evolution.exchange=True
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    13
  > bundle2-output-capture=True
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    14
  > [ui]
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    15
  > ssh="$PYTHON" "$TESTDIR/dummyssh"
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    16
  > logtemplate={rev}:{node|short} {phase} {author} {bookmarks} {desc|firstline}
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    17
  > [web]
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    18
  > push_ssl = false
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    19
  > allow_push = *
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    20
  > [phases]
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    21
  > publish=False
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    22
  > [extensions]
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    23
  > drawdag=$TESTDIR/drawdag.py
37169
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    24
  > clonebundles=
37166
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    25
  > EOF
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    26
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    27
The extension requires a repo (currently unused)
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    28
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    29
  $ hg init main
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    30
  $ cd main
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    31
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    32
  $ hg debugdrawdag <<'EOF'
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    33
  > E
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    34
  > |
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    35
  > D
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    36
  > |
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    37
  > C
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    38
  > |
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    39
  > B
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    40
  > |
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    41
  > A
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    42
  > EOF
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    43
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    44
  $ hg bundle -a --type="none-v2;stream=v2" bundle.hg
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    45
  $ hg debugbundle bundle.hg
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    46
  Stream params: {}
37168
a2b350d9f6ae bundlespec: add support for some variants
Boris Feld <boris.feld@octobus.net>
parents: 37166
diff changeset
    47
  stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Cstore}
37166
568e9b928c4c streambundlev2: add a new test-file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    48
  $ hg debugbundle --spec bundle.hg
37168
a2b350d9f6ae bundlespec: add support for some variants
Boris Feld <boris.feld@octobus.net>
parents: 37166
diff changeset
    49
  none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Cstore
37169
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    50
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    51
Test that we can apply the bundle as a stream clone bundle
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    52
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    53
  $ cat > .hg/clonebundles.manifest << EOF
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    54
  > http://localhost:$HGPORT1/bundle.hg BUNDLESPEC=`hg debugbundle --spec bundle.hg`
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    55
  > EOF
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    56
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    57
  $ hg serve -d -p $HGPORT --pid-file hg.pid --accesslog access.log
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    58
  $ cat hg.pid >> $DAEMON_PIDS
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    59
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    60
  $ "$PYTHON" $TESTDIR/dumbhttp.py -p $HGPORT1 --pid http.pid
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    61
  $ cat http.pid >> $DAEMON_PIDS
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    62
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    63
  $ cd ..
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    64
  $ hg clone http://localhost:$HGPORT streamv2-clone-implicit --debug
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    65
  using http://localhost:$HGPORT/
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    66
  sending capabilities command
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    67
  sending clonebundles command
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    68
  applying clone bundle from http://localhost:$HGPORT1/bundle.hg
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    69
  bundle2-input-bundle: with-transaction
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    70
  bundle2-input-part: "stream2" (params: 3 mandatory) supported
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    71
  applying stream bundle
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    72
  11 files to transfer, 1.65 KB of data
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    73
  adding [s] data/A.i (66 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    74
  adding [s] data/B.i (66 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    75
  adding [s] data/C.i (66 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    76
  adding [s] data/D.i (66 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    77
  adding [s] data/E.i (66 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    78
  adding [s] 00manifest.i (584 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    79
  adding [s] 00changelog.i (595 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    80
  adding [s] phaseroots (43 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    81
  adding [c] branch2-served (94 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    82
  adding [c] rbc-names-v1 (7 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    83
  adding [c] rbc-revs-v1 (40 bytes)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    84
  transferred 1.65 KB in \d\.\d seconds \(.*/sec\) (re)
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    85
  bundle2-input-part: total payload size 1840
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    86
  bundle2-input-bundle: 0 parts total
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    87
  finished applying clone bundle
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    88
  query 1; heads
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    89
  sending batch command
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    90
  searching for changes
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    91
  all remote heads known locally
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    92
  no changes found
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    93
  sending getbundle command
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    94
  bundle2-input-bundle: with-transaction
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    95
  bundle2-input-part: "listkeys" (params: 1 mandatory) supported
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    96
  bundle2-input-part: "phase-heads" supported
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    97
  bundle2-input-part: total payload size 24
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    98
  bundle2-input-bundle: 1 parts total
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
    99
  checking for updated bookmarks
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   100
  updating to branch default
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   101
  resolving manifests
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   102
   branchmerge: False, force: False, partial: False
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   103
   ancestor: 000000000000, local: 000000000000+, remote: 9bc730a19041
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   104
   A: remote created -> g
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   105
  getting A
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   106
   B: remote created -> g
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   107
  getting B
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   108
   C: remote created -> g
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   109
  getting C
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   110
   D: remote created -> g
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   111
  getting D
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   112
   E: remote created -> g
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   113
  getting E
99f28a4b2a3a streamclonebundle: add a test for stream clone bundle v2
Boris Feld <boris.feld@octobus.net>
parents: 37168
diff changeset
   114
  5 files updated, 0 files merged, 0 files removed, 0 files unresolved