view tests/test-ssh-clone-r @ 10092:f1bf64abcb1b stable

doc/Makefile: Fix rst2html detection Displaying the output from the failing call to "which" didn't prevent make from doing stupid things later. We now only search for "rst2html" and fallback to "rst2html.py". If neither name is found, make will eventually abort when we try to use $(RST2HTML).
author Mads Kiilerich <mads@kiilerich.com>
date Wed, 16 Dec 2009 23:59:50 +0100
parents 6b1e1b9da853
children
line wrap: on
line source

#!/bin/sh

# 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

hg init remote
cd remote
echo "# creating 'remote'"
cat >>afile <<EOF
0
EOF
hg add afile
hg commit -m "0.0"
cat >>afile <<EOF
1
EOF
hg commit -m "0.1"
cat >>afile <<EOF
2
EOF
hg commit -m "0.2"
cat >>afile <<EOF
3
EOF
hg commit -m "0.3"
hg update -C 0
cat >>afile <<EOF
1
EOF
hg commit -m "1.1"
cat >>afile <<EOF
2
EOF
hg commit -m "1.2"
cat >fred <<EOF
a line
EOF
cat >>afile <<EOF
3
EOF
hg add fred
hg commit -m "1.3"
hg mv afile adifferentfile
hg commit -m "1.3m"
hg update -C 3
hg mv afile anotherfile
hg commit -m "0.3m"
hg debugindex .hg/store/data/afile.i
hg debugindex .hg/store/data/adifferentfile.i
hg debugindex .hg/store/data/anotherfile.i
hg debugindex .hg/store/data/fred.i
hg debugindex .hg/store/00manifest.i
hg verify
cd ..

echo "# clone remote via stream"
for i in 0 1 2 3 4 5 6 7 8; do
   hg clone -e "python ./dummyssh" --uncompressed -r "$i" ssh://user@dummy/remote test-"$i" 2>&1
   if cd test-"$i"; then
      hg verify
      cd ..
   fi
done
cd test-8
hg pull ../test-7
hg verify
cd ..
cd test-1
hg pull -e "python ../dummyssh" -r 4 ssh://user@dummy/remote 2>&1
hg verify
hg pull -e "python ../dummyssh" ssh://user@dummy/remote 2>&1
cd ..
cd test-2
hg pull -e "python ../dummyssh" -r 5 ssh://user@dummy/remote 2>&1
hg verify
hg pull -e "python ../dummyssh" ssh://user@dummy/remote 2>&1
hg verify
cd ..