tests/test-http-clone-r
author Matt Mackall <mpm@selenic.com>
Mon, 12 Oct 2009 14:52:53 -0500
changeset 9582 a25af3af941c
parent 7206 a89aa3721114
child 10398 ace3cf2bc991
permissions -rwxr-xr-x
tests: add -k to test scripts matching keywords argument is a space-separated list of keywords that are searched for in the name and body of each test. This makes it easy to run only tests related to tags, hgweb, revert, etc. (eg -k "tag hgweb revert").

#!/bin/sh

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
echo "# Starting server"
hg serve -p $HGPORT -E ../error.log -d --pid-file=../hg1.pid
cd ..
cat hg1.pid >> $DAEMON_PIDS

echo "# clone remote via stream"
for i in 0 1 2 3 4 5 6 7 8; do
   hg clone -r "$i" http://localhost:$HGPORT/ 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 -r 4 http://localhost:$HGPORT/ 2>&1 | sed -e 's,:[0-9][0-9]*/,/,'
hg verify
hg pull http://localhost:$HGPORT/ 2>&1 | sed -e 's,:[0-9][0-9]*/,/,'
cd ..
cd test-2
hg pull -r 5 http://localhost:$HGPORT/ 2>&1 | sed -e 's,:[0-9][0-9]*/,/,'
hg verify
hg pull http://localhost:$HGPORT/ 2>&1 | sed -e 's,:[0-9][0-9]*/,/,'
hg verify
cd ..
cat error.log