##// END OF EJS Templates
hgweb: remove useless notip handling from bookmarks listing
hgweb: remove useless notip handling from bookmarks listing

File last commit:

r13755:e45780ac default
r13923:2176c5ba default
Show More
test-ssh.t
311 lines | 8.4 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: unify test-ssh
r12414
This test tries to exercise the ssh functionality with a dummy script
$ cat <<EOF > dummyssh
> import sys
> import os
Matt Mackall
tests: unify test-ssh
r12489 >
Matt Mackall
tests: unify test-ssh
r12414 > os.chdir(os.path.dirname(sys.argv[0]))
> if sys.argv[1] != "user@dummy":
> sys.exit(-1)
Matt Mackall
tests: unify test-ssh
r12489 >
Matt Mackall
tests: unify test-ssh
r12414 > if not os.path.exists("dummyssh"):
> sys.exit(-1)
Matt Mackall
tests: unify test-ssh
r12489 >
Matt Mackall
tests: unify test-ssh
r12414 > os.environ["SSH_CLIENT"] = "127.0.0.1 1 2"
Matt Mackall
tests: unify test-ssh
r12489 >
Matt Mackall
tests: unify test-ssh
r12414 > log = open("dummylog", "ab")
> log.write("Got arguments")
> for i, arg in enumerate(sys.argv[1:]):
> log.write(" %d:%s" % (i+1, arg))
> log.write("\n")
> log.close()
> r = os.system(sys.argv[2])
> sys.exit(bool(r))
> EOF
$ cat <<EOF > badhook
> import sys
> sys.stdout.write("KABOOM\n")
> EOF
Matt Mackall
tests: unify test-ssh
r12489 creating 'remote
Matt Mackall
tests: unify test-ssh
r12414
$ hg init remote
$ cd remote
$ echo this > foo
$ echo this > fooO
$ hg ci -A -m "init" foo fooO
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ echo <<EOF > .hg/hgrc
> [server]
> uncompressed = True
>
> [hooks]
Mads Kiilerich
tests: use printenv.py where it is - don't copy it around
r13405 > changegroup = python "$TESTDIR"/printenv.py changegroup-in-remote 0 ../dummylog
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 > EOF
Matt Mackall
tests: unify test-ssh
r12414 $ cd ..
repo not found error
$ hg clone -e "python ./dummyssh" ssh://user@dummy/nonexistent local
remote: abort: There is no Mercurial repository here (.hg not found)!
abort: no suitable response from remote hg!
[255]
non-existent absolute path
Mads Kiilerich
tests: remove the last traces of $HGTMP...
r12642 $ hg clone -e "python ./dummyssh" ssh://user@dummy//`pwd`/nonexistent local
Matt Mackall
tests: unify test-ssh
r12414 remote: abort: There is no Mercurial repository here (.hg not found)!
abort: no suitable response from remote hg!
[255]
clone remote via stream
Matt Mackall
tests: unify test-ssh
r12489 $ hg clone -e "python ./dummyssh" --uncompressed ssh://user@dummy/remote local-stream
Matt Mackall
tests: unify test-ssh
r12414 streaming all changes
Matt Mackall
tests: unify test-ssh
r12489 4 files to transfer, 392 bytes of data
timeless
test-ssh: handle very slow ssh transfer rate
r12773 transferred 392 bytes in * seconds (*/sec) (glob)
Matt Mackall
tests: unify test-ssh
r12414 updating to branch default
Matt Mackall
tests: unify test-ssh
r12489 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Mackall
tests: unify test-ssh
r12414 $ cd local-stream
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 1 changesets, 2 total revisions
$ cd ..
clone remote via pull
$ hg clone -e "python ./dummyssh" ssh://user@dummy/remote local
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
verify
$ cd local
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 1 changesets, 2 total revisions
$ echo '[hooks]' >> .hg/hgrc
Mads Kiilerich
tests: use printenv.py where it is - don't copy it around
r13405 $ echo 'changegroup = python "$TESTDIR"/printenv.py changegroup-in-local 0 ../dummylog' >> .hg/hgrc
Matt Mackall
tests: unify test-ssh
r12414
empty default pull
$ hg paths
default = ssh://user@dummy/remote
$ hg pull -e "python ../dummyssh"
pulling from ssh://user@dummy/remote
searching for changes
no changes found
local change
$ echo bleah > foo
$ hg ci -m "add"
updating rc
$ echo "default-push = ssh://user@dummy/remote" >> .hg/hgrc
$ echo "[ui]" >> .hg/hgrc
$ echo "ssh = python ../dummyssh" >> .hg/hgrc
find outgoing
$ hg out ssh://user@dummy/remote
comparing with ssh://user@dummy/remote
searching for changes
changeset: 1:a28a9d1a809c
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add
find incoming on the remote side
$ hg incoming -R ../remote -e "python ../dummyssh" ssh://user@dummy/local
comparing with ssh://user@dummy/local
searching for changes
changeset: 1:a28a9d1a809c
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add
Brodie Rao
test-ssh: test absolute path that exists
r12504 find incoming on the remote side (using absolute path)
$ hg incoming -R ../remote -e "python ../dummyssh" "ssh://user@dummy/`pwd`"
Mads Kiilerich
tests: remove redundant globs...
r12640 comparing with ssh://user@dummy/$TESTTMP/local
Brodie Rao
test-ssh: test absolute path that exists
r12504 searching for changes
changeset: 1:a28a9d1a809c
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add
Matt Mackall
tests: unify test-ssh
r12414 push
$ hg push
pushing to ssh://user@dummy/remote
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
$ cd ../remote
check remote tip
$ hg tip
changeset: 1:a28a9d1a809c
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 2 changesets, 3 total revisions
$ hg cat -r tip foo
bleah
$ echo z > z
$ hg ci -A -m z z
created new head
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 test pushkeys and bookmarks
$ cd ../local
$ hg debugpushkey --config ui.ssh="python ../dummyssh" ssh://user@dummy/remote namespaces
bookmarks
namespaces
$ hg book foo -r 0
$ hg out -B
comparing with ssh://user@dummy/remote
searching for changed bookmarks
foo 1160648e36ce
$ hg push -B foo
pushing to ssh://user@dummy/remote
searching for changes
no changes found
exporting bookmark foo
$ hg debugpushkey --config ui.ssh="python ../dummyssh" ssh://user@dummy/remote bookmarks
foo 1160648e36cec0054048a7edc4110c6f84fde594
$ hg book -f foo
Matt Mackall
pushkey: use UTF-8
r13050 $ hg push --traceback
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 pushing to ssh://user@dummy/remote
searching for changes
no changes found
updating bookmark foo
$ hg book -d foo
$ hg in -B
comparing with ssh://user@dummy/remote
searching for changed bookmarks
foo a28a9d1a809c
$ hg book -f -r 0 foo
$ hg pull -B foo
pulling from ssh://user@dummy/remote
searching for changes
no changes found
updating bookmark foo
importing bookmark foo
$ hg book -d foo
$ hg push -B foo
Matt Mackall
bookmarks: move push/pull command features to core
r13368 pushing to ssh://user@dummy/remote
searching for changes
no changes found
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 deleting remote bookmark foo
Matt Mackall
tests: unify test-ssh
r12414 a bad, evil hook that prints to stdout
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 $ echo '[hooks]' >> ../remote/.hg/hgrc
$ echo 'changegroup.stdout = python ../badhook' >> ../remote/.hg/hgrc
Matt Mackall
tests: unify test-ssh
r12414 $ echo r > r
$ hg ci -A -m z r
push should succeed even though it has an unexpected response
$ hg push
pushing to ssh://user@dummy/remote
searching for changes
note: unsynced remote changes!
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
remote: KABOOM
$ hg -R ../remote heads
changeset: 3:1383141674ec
tag: tip
parent: 1:a28a9d1a809c
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: z
changeset: 2:6c0482d977a3
parent: 0:1160648e36ce
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: z
Adrian Buehlmann
sshrepo: catch passwords in ssh urls...
r13464
David Soria Parra
hg: add support for cloning bookmarks
r13604 clone bookmarks
$ hg -R ../remote bookmark test
$ hg -R ../remote bookmarks
* test 2:6c0482d977a3
$ hg clone -e "python ../dummyssh" ssh://user@dummy/remote local-bookmarks
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 5 changes to 4 files (+1 heads)
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg -R local-bookmarks bookmarks
test 2:6c0482d977a3
Adrian Buehlmann
sshrepo: catch passwords in ssh urls...
r13464 passwords in ssh urls are not supported
Matt Mackall
ssh: fix password test...
r13755 (we use a glob here because different Python versions give different
results here)
Adrian Buehlmann
sshrepo: catch passwords in ssh urls...
r13464
$ hg push ssh://user:erroneouspwd@dummy/remote
Matt Mackall
ssh: fix password test...
r13755 pushing to ssh://user:*@dummy/remote (glob)
Adrian Buehlmann
sshrepo: catch passwords in ssh urls...
r13464 abort: password in URL not supported!
[255]
Matt Mackall
tests: unify test-ssh
r12414 $ cd ..
$ cat dummylog
Got arguments 1:user@dummy 2:hg -R nonexistent serve --stdio
Mads Kiilerich
tests: remove redundant globs...
r12640 Got arguments 1:user@dummy 2:hg -R /$TESTTMP/nonexistent serve --stdio
Matt Mackall
tests: unify test-ssh
r12414 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R local serve --stdio
Mads Kiilerich
tests: remove redundant globs...
r12640 Got arguments 1:user@dummy 2:hg -R $TESTTMP/local serve --stdio
Matt Mackall
tests: unify test-ssh
r12414 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Matt Mackall
tests: unify test-ssh
r12414 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Matt Mackall
pushkey: force HTTP POST on push and add tests (issue2489)
r12969 Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
Got arguments 1:user@dummy 2:hg -R remote serve --stdio
David Soria Parra
hg: add support for cloning bookmarks
r13604 Got arguments 1:user@dummy 2:hg -R remote serve --stdio