tests: add tests showing pulling from infinitepush works over wire
authorPulkit Goyal <7895pulkit@gmail.com>
Wed, 04 Apr 2018 17:37:35 +0530
changeset 37561 8478b198af9c
parent 37560 41ba336d9f1e
child 37562 e5cd8d1a094d
tests: add tests showing pulling from infinitepush works over wire The current tests in test-infinitepush-ci.t showed that `hg pull -r <rev>` does not work. Digging in code, I found that we have logic for pulling from bundlestore without having client side logic. This patch adds test demonstrating that pulling from bundlestore works when working over wire. Pulling from bundlestore when the peer is a localpeer still does not works. Differential Revision: https://phab.mercurial-scm.org/D3072
tests/test-infinitepush-ci.t
--- a/tests/test-infinitepush-ci.t	Fri Mar 30 17:01:12 2018 -0700
+++ b/tests/test-infinitepush-ci.t	Wed Apr 04 17:37:35 2018 +0530
@@ -9,6 +9,8 @@
 
   $ . "$TESTDIR/library-infinitepush.sh"
   $ cat >> $HGRCPATH <<EOF
+  > [ui]
+  > ssh = python "$TESTDIR/dummyssh"
   > [alias]
   > glog = log -GT "{rev}:{node|short} {desc}\n{phase}"
   > EOF
@@ -26,6 +28,7 @@
   $ cd ..
   $ hg clone repo client -q
   $ hg clone repo client2 -q
+  $ hg clone ssh://user@dummy/repo client3 -q
   $ cd client
 
 Pushing a new commit from the client to the server
@@ -175,8 +178,8 @@
   searching for changes
   no changes found
 
-Pulling from second client to test `hg pull -r <rev>`
-------------------------------------------------------
+Pulling from second client which is a localpeer to test `hg pull -r <rev>`
+--------------------------------------------------------------------------
 
 Pulling the revision which is applied
 
@@ -197,8 +200,8 @@
      public
 
 Pulling the revision which is in bundlestore
-XXX: we should support pulling revisions from bundlestore without client side
-wrapping
+XXX: we should support pulling revisions from a local peers bundlestore without
+client side wrapping
 
   $ hg pull -r b4e4bce660512ad3e71189e14588a70ac8e31fef
   pulling from $TESTTMP/repo
@@ -212,6 +215,62 @@
 
   $ cd ../client
 
+Pulling from third client which is not a localpeer
+---------------------------------------------------
+
+Pulling the revision which is applied
+
+  $ cd ../client3
+  $ hg pull -r 6cb0989601f1
+  pulling from ssh://user@dummy/repo
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+  new changesets 6cb0989601f1
+  (run 'hg update' to get a working copy)
+  $ hg glog
+  o  1:6cb0989601f1 added a
+  |  public
+  @  0:67145f466344 initialcommit
+     public
+
+Pulling the revision which is in bundlestore
+
+Trying to specify short hash
+XXX: we should support this
+  $ hg pull -r b4e4bce660512
+  pulling from ssh://user@dummy/repo
+  abort: unknown revision 'b4e4bce660512'!
+  [255]
+
+XXX: we should show better message when the pull is happening from bundlestore
+  $ hg pull -r b4e4bce660512ad3e71189e14588a70ac8e31fef
+  pulling from ssh://user@dummy/repo
+  searching for changes
+  no changes found
+  adding changesets
+  adding manifests
+  adding file changes
+  added 4 changesets with 4 changes to 4 files
+  new changesets eaba929e866c:b4e4bce66051
+  $ hg glog
+  o  5:b4e4bce66051 added e
+  |  public
+  o  4:1bb96358eda2 added d
+  |  public
+  o  3:bf8a6e3011b3 added c
+  |  public
+  o  2:eaba929e866c added b
+  |  public
+  o  1:6cb0989601f1 added a
+  |  public
+  @  0:67145f466344 initialcommit
+     public
+
+  $ cd ../client
+
 Checking storage of phase information with the bundle on bundlestore
 ---------------------------------------------------------------------