bundleclone: make testing compatible with Mercurial 3.7 (bug 1228088); r=dminor draft
authorGregory Szorc <gps@mozilla.com>
Tue, 01 Mar 2016 13:57:40 -0800
changeset 7420 3444079fd2e52b156aa3f1eedaea5c6ac52149e6
parent 7419 18982d7c7f4d8459d2aa5ed492088ca2c89b737a
child 7421 816a9b50ed50ff807de4ea372ffec1c516961196
push id675
push usergszorc@mozilla.com
push dateWed, 02 Mar 2016 22:08:21 +0000
reviewersdminor
bugs1228088
bundleclone: make testing compatible with Mercurial 3.7 (bug 1228088); r=dminor The bundleclone extension no longer works in Mercurial 3.7 because localrepository.clone (the function it overrides to do most of the special clone work) no longer exists. The extension no-ops when the server supports clone bundles anyway. So it was already doing nothing on 3.6 when clone bundles was enabled. We update the tests to not run on 3.7+. We also add a new test that verifies 3.7+ continues to work (as a no-op). MozReview-Commit-ID: HTp3aOJ4MUB
hgext/bundleclone/tests/test-clone.t
hgext/bundleclone/tests/test-clonebundles-compat.t
hgext/bundleclone/tests/test-modern-hg.t
hgext/bundleclone/tests/test-not-applicable.t
hgext/bundleclone/tests/test-prefers.t
hgext/bundleclone/tests/test-sni.t
--- a/hgext/bundleclone/tests/test-clone.t
+++ b/hgext/bundleclone/tests/test-clone.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
   $ . $TESTDIR/hgext/bundleclone/tests/helpers.sh
 
   $ cat >> $HGRCPATH << EOF
   > [extensions]
   > bundleclone = $TESTDIR/hgext/bundleclone
   > EOF
 
   $ hg init server
--- a/hgext/bundleclone/tests/test-clonebundles-compat.t
+++ b/hgext/bundleclone/tests/test-clonebundles-compat.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
   $ . $TESTDIR/hgext/bundleclone/tests/helpers.sh
 
   $ cat >> $HGRCPATH << EOF
   > [extensions]
   > bundleclone = $TESTDIR/hgext/bundleclone
   > EOF
 
   $ hg init server
new file mode 100644
--- /dev/null
+++ b/hgext/bundleclone/tests/test-modern-hg.t
@@ -0,0 +1,34 @@
+#require hg37+
+
+bundleclone wraps localrepository.clone, which doesn't exist in Mercurial 3.7+.
+This test verifies the extension no-ops on modern hg versions.
+
+  $ cat >> $HGRCPATH << EOF
+  > [extensions]
+  > bundleclone = $TESTDIR/hgext/bundleclone
+  > EOF
+
+  $ hg init server
+  $ cd server
+  $ touch foo
+  $ hg -q commit -A -m 'add foo'
+  $ touch bar
+  $ hg -q commit -A -m 'add bar'
+
+  $ hg serve -d -p $HGPORT --pid-file hg.pid
+  $ cat hg.pid >> $DAEMON_PIDS
+  $ touch .hg/bundleclone.manifest
+  $ cd ..
+
+  $ hg -v clone http://localhost:$HGPORT client1
+  requesting all changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 2 changesets with 2 changes to 2 files
+  updating to branch default
+  resolving manifests
+  getting bar
+  getting foo
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
--- a/hgext/bundleclone/tests/test-not-applicable.t
+++ b/hgext/bundleclone/tests/test-not-applicable.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
   $ hg init server
   $ cd server
   $ touch foo
   $ hg commit -A -m 'add foo'
   adding foo
 
   $ hg serve -d -p $HGPORT --pid-file hg.pid
   $ cat hg.pid >> $DAEMON_PIDS
--- a/hgext/bundleclone/tests/test-prefers.t
+++ b/hgext/bundleclone/tests/test-prefers.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
   $ . $TESTDIR/hgext/bundleclone/tests/helpers.sh
 
   $ cat >> $HGRCPATH << EOF
   > [extensions]
   > bundleclone = $TESTDIR/hgext/bundleclone
   > EOF
 
 Create the server repo
--- a/hgext/bundleclone/tests/test-sni.t
+++ b/hgext/bundleclone/tests/test-sni.t
@@ -1,8 +1,10 @@
+#require no-hg37+
+
   $ . $TESTDIR/hgext/bundleclone/tests/helpers.sh
 
   $ cat >> $HGRCPATH << EOF
   > [extensions]
   > bundleclone = $TESTDIR/hgext/bundleclone
   > EOF
 
 Create the server repo