tests: rename `test-pull` to `test-pull-network.t`
If is mostly about ssh and http interaction so lets avoid confusion with a
generic `hg pull` test
Differential Revision: https://phab.mercurial-scm.org/D10155
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-pull-network.t Wed Mar 10 16:28:46 2021 +0100
@@ -0,0 +1,137 @@
+#require serve
+
+#testcases sshv1 sshv2
+
+#if sshv2
+ $ cat >> $HGRCPATH << EOF
+ > [experimental]
+ > sshpeer.advertise-v2 = true
+ > sshserver.support-v2 = true
+ > EOF
+#endif
+
+ $ hg init test
+ $ cd test
+
+ $ echo foo>foo
+ $ hg addremove
+ adding foo
+ $ hg commit -m 1
+
+ $ hg verify
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ checked 1 changesets with 1 changes to 1 files
+
+ $ hg serve -p $HGPORT -d --pid-file=hg.pid
+ $ cat hg.pid >> $DAEMON_PIDS
+ $ cd ..
+
+ $ hg clone --pull http://foo:bar@localhost:$HGPORT/ copy
+ requesting all changes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 1 changesets with 1 changes to 1 files
+ new changesets 340e38bdcde4
+ updating to branch default
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+ $ cd copy
+ $ hg verify
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ checked 1 changesets with 1 changes to 1 files
+
+ $ hg co
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cat foo
+ foo
+
+ $ hg manifest --debug
+ 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 foo
+
+ $ hg pull
+ pulling from http://foo@localhost:$HGPORT/
+ searching for changes
+ no changes found
+
+ $ hg rollback --dry-run --verbose
+ repository tip rolled back to revision -1 (undo pull: http://foo:***@localhost:$HGPORT/)
+
+Test pull of non-existing 20 character revision specification, making sure plain ascii identifiers
+not are encoded like a node:
+
+ $ hg pull -r 'xxxxxxxxxxxxxxxxxxxy'
+ pulling from http://foo@localhost:$HGPORT/
+ abort: unknown revision 'xxxxxxxxxxxxxxxxxxxy'
+ [255]
+ $ hg pull -r 'xxxxxxxxxxxxxxxxxx y'
+ pulling from http://foo@localhost:$HGPORT/
+ abort: unknown revision 'xxxxxxxxxxxxxxxxxx y'
+ [255]
+
+Test pull of working copy revision
+ $ hg pull -r 'ffffffffffff'
+ pulling from http://foo@localhost:$HGPORT/
+ abort: unknown revision 'ffffffffffff'
+ [255]
+
+Test 'file:' uri handling:
+
+ $ hg pull -q file://../test-does-not-exist
+ abort: file:// URLs can only refer to localhost
+ [255]
+
+ $ hg pull -q file://../test
+ abort: file:// URLs can only refer to localhost
+ [255]
+
+MSYS changes 'file:' into 'file;'
+
+#if no-msys
+ $ hg pull -q file:../test # no-msys
+#endif
+
+It's tricky to make file:// URLs working on every platform with
+regular shell commands.
+
+ $ URL=`"$PYTHON" -c "from __future__ import print_function; import os; print('file://foobar' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test')"`
+ $ hg pull -q "$URL"
+ abort: file:// URLs can only refer to localhost
+ [255]
+
+ $ URL=`"$PYTHON" -c "from __future__ import print_function; import os; print('file://localhost' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test')"`
+ $ hg pull -q "$URL"
+
+SEC: check for unsafe ssh url
+
+ $ cat >> $HGRCPATH << EOF
+ > [ui]
+ > ssh = sh -c "read l; read l; read l"
+ > EOF
+
+ $ hg pull 'ssh://-oProxyCommand=touch${IFS}owned/path'
+ pulling from ssh://-oProxyCommand%3Dtouch%24%7BIFS%7Downed/path
+ abort: potentially unsafe url: 'ssh://-oProxyCommand=touch${IFS}owned/path'
+ [255]
+ $ hg pull 'ssh://%2DoProxyCommand=touch${IFS}owned/path'
+ pulling from ssh://-oProxyCommand%3Dtouch%24%7BIFS%7Downed/path
+ abort: potentially unsafe url: 'ssh://-oProxyCommand=touch${IFS}owned/path'
+ [255]
+ $ hg pull 'ssh://fakehost|touch${IFS}owned/path'
+ pulling from ssh://fakehost%7Ctouch%24%7BIFS%7Downed/path
+ abort: no suitable response from remote hg
+ [255]
+ $ hg --config ui.timestamp-output=true pull 'ssh://fakehost%7Ctouch%20owned/path'
+ \[20[2-9][0-9]-[01][0-9]-[0-3][0-9]T[0-5][0-9]:[0-5][0-9]:[0-5][0-9]\.[0-9][0-9][0-9][0-9][0-9][0-9]\] pulling from ssh://fakehost%7Ctouch%20owned/path (re)
+ \[20[2-9][0-9]-[01][0-9]-[0-3][0-9]T[0-5][0-9]:[0-5][0-9]:[0-5][0-9]\.[0-9][0-9][0-9][0-9][0-9][0-9]\] abort: no suitable response from remote hg (re)
+ [255]
+
+ $ [ ! -f owned ] || echo 'you got owned'
+
+ $ cd ..
--- a/tests/test-pull.t Wed Mar 10 16:35:17 2021 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-#require serve
-
-#testcases sshv1 sshv2
-
-#if sshv2
- $ cat >> $HGRCPATH << EOF
- > [experimental]
- > sshpeer.advertise-v2 = true
- > sshserver.support-v2 = true
- > EOF
-#endif
-
- $ hg init test
- $ cd test
-
- $ echo foo>foo
- $ hg addremove
- adding foo
- $ hg commit -m 1
-
- $ hg verify
- checking changesets
- checking manifests
- crosschecking files in changesets and manifests
- checking files
- checked 1 changesets with 1 changes to 1 files
-
- $ hg serve -p $HGPORT -d --pid-file=hg.pid
- $ cat hg.pid >> $DAEMON_PIDS
- $ cd ..
-
- $ hg clone --pull http://foo:bar@localhost:$HGPORT/ copy
- requesting all changes
- adding changesets
- adding manifests
- adding file changes
- added 1 changesets with 1 changes to 1 files
- new changesets 340e38bdcde4
- updating to branch default
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
- $ cd copy
- $ hg verify
- checking changesets
- checking manifests
- crosschecking files in changesets and manifests
- checking files
- checked 1 changesets with 1 changes to 1 files
-
- $ hg co
- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ cat foo
- foo
-
- $ hg manifest --debug
- 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 foo
-
- $ hg pull
- pulling from http://foo@localhost:$HGPORT/
- searching for changes
- no changes found
-
- $ hg rollback --dry-run --verbose
- repository tip rolled back to revision -1 (undo pull: http://foo:***@localhost:$HGPORT/)
-
-Test pull of non-existing 20 character revision specification, making sure plain ascii identifiers
-not are encoded like a node:
-
- $ hg pull -r 'xxxxxxxxxxxxxxxxxxxy'
- pulling from http://foo@localhost:$HGPORT/
- abort: unknown revision 'xxxxxxxxxxxxxxxxxxxy'
- [255]
- $ hg pull -r 'xxxxxxxxxxxxxxxxxx y'
- pulling from http://foo@localhost:$HGPORT/
- abort: unknown revision 'xxxxxxxxxxxxxxxxxx y'
- [255]
-
-Test pull of working copy revision
- $ hg pull -r 'ffffffffffff'
- pulling from http://foo@localhost:$HGPORT/
- abort: unknown revision 'ffffffffffff'
- [255]
-
-Test 'file:' uri handling:
-
- $ hg pull -q file://../test-does-not-exist
- abort: file:// URLs can only refer to localhost
- [255]
-
- $ hg pull -q file://../test
- abort: file:// URLs can only refer to localhost
- [255]
-
-MSYS changes 'file:' into 'file;'
-
-#if no-msys
- $ hg pull -q file:../test # no-msys
-#endif
-
-It's tricky to make file:// URLs working on every platform with
-regular shell commands.
-
- $ URL=`"$PYTHON" -c "from __future__ import print_function; import os; print('file://foobar' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test')"`
- $ hg pull -q "$URL"
- abort: file:// URLs can only refer to localhost
- [255]
-
- $ URL=`"$PYTHON" -c "from __future__ import print_function; import os; print('file://localhost' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test')"`
- $ hg pull -q "$URL"
-
-SEC: check for unsafe ssh url
-
- $ cat >> $HGRCPATH << EOF
- > [ui]
- > ssh = sh -c "read l; read l; read l"
- > EOF
-
- $ hg pull 'ssh://-oProxyCommand=touch${IFS}owned/path'
- pulling from ssh://-oProxyCommand%3Dtouch%24%7BIFS%7Downed/path
- abort: potentially unsafe url: 'ssh://-oProxyCommand=touch${IFS}owned/path'
- [255]
- $ hg pull 'ssh://%2DoProxyCommand=touch${IFS}owned/path'
- pulling from ssh://-oProxyCommand%3Dtouch%24%7BIFS%7Downed/path
- abort: potentially unsafe url: 'ssh://-oProxyCommand=touch${IFS}owned/path'
- [255]
- $ hg pull 'ssh://fakehost|touch${IFS}owned/path'
- pulling from ssh://fakehost%7Ctouch%24%7BIFS%7Downed/path
- abort: no suitable response from remote hg
- [255]
- $ hg --config ui.timestamp-output=true pull 'ssh://fakehost%7Ctouch%20owned/path'
- \[20[2-9][0-9]-[01][0-9]-[0-3][0-9]T[0-5][0-9]:[0-5][0-9]:[0-5][0-9]\.[0-9][0-9][0-9][0-9][0-9][0-9]\] pulling from ssh://fakehost%7Ctouch%20owned/path (re)
- \[20[2-9][0-9]-[01][0-9]-[0-3][0-9]T[0-5][0-9]:[0-5][0-9]:[0-5][0-9]\.[0-9][0-9][0-9][0-9][0-9][0-9]\] abort: no suitable response from remote hg (re)
- [255]
-
- $ [ ! -f owned ] || echo 'you got owned'
-
- $ cd ..