Mercurial > hg
view tests/test-ssh @ 8894:868670dbc237
extensions: improve the consistency of synopses
Trying as much as possible to consistently:
- use a present tense predicate followed by a direct object
- verb referring directly to the functionality provided
(ie. not "add command that does this" but simple "do that")
- keep simple and to the point, leaving details for the long help
(width is tight, possibly even more so for translations)
Thanks to timeless, Martin Geisler, Rafael Villar Burke, Dan Villiom
Podlaski Christiansen and others for the helpful suggestions.
author | Cédric Duval <cedricduval@free.fr> |
---|---|
date | Mon, 22 Jun 2009 15:48:08 +0200 |
parents | 9f76df0edb7d |
children | 4c94b6d0fb1c |
line wrap: on
line source
#!/bin/sh cp "$TESTDIR"/printenv.py . # This test tries to exercise the ssh functionality with a dummy script cat <<EOF > dummyssh import sys import os os.chdir(os.path.dirname(sys.argv[0])) if sys.argv[1] != "user@dummy": sys.exit(-1) if not os.path.exists("dummyssh"): sys.exit(-1) os.environ["SSH_CLIENT"] = "127.0.0.1 1 2" 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 echo "# creating 'remote'" hg init remote cd remote echo this > foo echo this > fooO hg ci -A -m "init" -d "1000000 0" foo fooO echo '[server]' > .hg/hgrc echo 'uncompressed = True' >> .hg/hgrc echo '[hooks]' >> .hg/hgrc echo 'changegroup = python ../printenv.py changegroup-in-remote 0 ../dummylog' >> .hg/hgrc cd .. echo "# repo not found error" hg clone -e "python ./dummyssh" ssh://user@dummy/nonexistent local echo "# clone remote via stream" hg clone -e "python ./dummyssh" --uncompressed ssh://user@dummy/remote local-stream 2>&1 | \ sed -e 's/[0-9][0-9.]*/XXX/g' -e 's/[KM]\(B\/sec\)/X\1/' cd local-stream hg verify cd .. echo "# clone remote via pull" hg clone -e "python ./dummyssh" ssh://user@dummy/remote local echo "# verify" cd local hg verify echo '[hooks]' >> .hg/hgrc echo 'changegroup = python ../printenv.py changegroup-in-local 0 ../dummylog' >> .hg/hgrc echo "# empty default pull" hg paths hg pull -e "python ../dummyssh" echo "# local change" echo bleah > foo hg ci -m "add" -d "1000000 0" echo "# updating rc" echo "default-push = ssh://user@dummy/remote" >> .hg/hgrc echo "[ui]" >> .hg/hgrc echo "ssh = python ../dummyssh" >> .hg/hgrc echo "# find outgoing" hg out ssh://user@dummy/remote echo "# find incoming on the remote side" hg incoming -R ../remote -e "python ../dummyssh" ssh://user@dummy/local echo "# push" hg push cd ../remote echo "# check remote tip" hg tip hg verify hg cat -r tip foo echo z > z hg ci -A -m z -d '1000001 0' z # a bad, evil hook that prints to stdout echo 'changegroup.stdout = python ../badhook' >> .hg/hgrc cd ../local echo r > r hg ci -A -m z -d '1000002 0' r echo "# push should succeed even though it has an unexpected response" hg push hg -R ../remote heads cd .. cat dummylog