tests: unify test-http
authorMatt Mackall <mpm@selenic.com>
Sun, 26 Sep 2010 13:41:32 -0500
changeset 12446 df57227a72bf
parent 12445 981ce49a243f
child 12447 f5f90d3808e2
tests: unify test-http
tests/test-http
tests/test-http.out
tests/test-http.t
--- a/tests/test-http	Sun Sep 26 13:41:32 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-cp "$TESTDIR"/printenv.py .
-
-hg init test
-cd test
-echo foo>foo
-mkdir foo.d foo.d/bAr.hg.d foo.d/baR.d.hg
-echo foo>foo.d/foo
-echo bar>foo.d/bAr.hg.d/BaR
-echo bar>foo.d/baR.d.hg/bAR
-
-hg commit -A -m 1
-hg serve -p $HGPORT -d --pid-file=../hg1.pid
-hg --config server.uncompressed=False serve -p $HGPORT1 -d --pid-file=../hg2.pid
-# Test server address cannot be reused
-hg serve -p $HGPORT1 2>&1 | sed -e "s/abort: cannot start server at ':$HGPORT1':.*/abort: cannot start server at ':\$HGPORT1':/"
-cd ..
-cat hg1.pid hg2.pid >> $DAEMON_PIDS
-
-echo % clone via stream
-hg clone --uncompressed http://localhost:$HGPORT/ copy 2>&1 | \
-  sed -e 's/[0-9][0-9.]*/XXX/g' -e 's/[KM]\(B\/sec\)/X\1/'
-hg verify -R copy
-
-echo % try to clone via stream, should use pull instead
-hg clone --uncompressed http://localhost:$HGPORT1/ copy2
-
-echo % clone via pull
-hg clone http://localhost:$HGPORT1/ copy-pull
-hg verify -R copy-pull
-
-cd test
-echo bar > bar
-hg commit -A -d '1 0' -m 2
-cd ..
-
-echo % pull
-cd copy-pull
-echo '[hooks]' >> .hg/hgrc
-echo 'changegroup = python ../printenv.py changegroup' >> .hg/hgrc
-hg pull | sed -e "s,:$HGPORT1/,:\$HGPORT1/,"
-cd ..
--- a/tests/test-http.out	Sun Sep 26 13:41:32 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-adding foo
-adding foo.d/bAr.hg.d/BaR
-adding foo.d/baR.d.hg/bAR
-adding foo.d/foo
-abort: cannot start server at ':$HGPORT1':
-% clone via stream
-streaming all changes
-XXX files to transfer, XXX bytes of data
-transferred XXX bytes in XXX seconds (XXX XB/sec)
-updating to branch default
-XXX files updated, XXX files merged, XXX files removed, XXX files unresolved
-checking changesets
-checking manifests
-crosschecking files in changesets and manifests
-checking files
-4 files, 1 changesets, 4 total revisions
-% try to clone via stream, should use pull instead
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 4 changes to 4 files
-updating to branch default
-4 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% clone via pull
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 4 changes to 4 files
-updating to branch default
-4 files updated, 0 files merged, 0 files removed, 0 files unresolved
-checking changesets
-checking manifests
-crosschecking files in changesets and manifests
-checking files
-4 files, 1 changesets, 4 total revisions
-adding bar
-% pull
-changegroup hook: HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_URL=http://localhost:$HGPORT1/ 
-pulling from http://localhost:$HGPORT1/
-searching for changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-(run 'hg update' to get a working copy)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-http.t	Sun Sep 26 13:41:32 2010 -0500
@@ -0,0 +1,88 @@
+
+  $ cp "$TESTDIR"/printenv.py .
+  $ hg init test
+  $ cd test
+  $ echo foo>foo
+  $ mkdir foo.d foo.d/bAr.hg.d foo.d/baR.d.hg
+  $ echo foo>foo.d/foo
+  $ echo bar>foo.d/bAr.hg.d/BaR
+  $ echo bar>foo.d/baR.d.hg/bAR
+  $ hg commit -A -m 1
+  adding foo
+  adding foo.d/bAr.hg.d/BaR
+  adding foo.d/baR.d.hg/bAR
+  adding foo.d/foo
+  $ hg serve -p $HGPORT -d --pid-file=../hg1.pid
+  $ hg --config server.uncompressed=False serve -p $HGPORT1 -d --pid-file=../hg2.pid
+
+Test server address cannot be reused
+
+  $ hg serve -p $HGPORT1 2>&1
+  abort: cannot start server at ':*': Address already in use (glob)
+  [255]
+  $ cd ..
+  $ cat hg1.pid hg2.pid >> $DAEMON_PIDS
+
+clone via stream
+
+  $ hg clone --uncompressed http://localhost:$HGPORT/ copy 2>&1
+  streaming all changes
+  6 files to transfer, 606 bytes of data
+  transferred * bytes in * seconds (*B/sec) (glob)
+  updating to branch default
+  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg verify -R copy
+  checking changesets
+  checking manifests
+  crosschecking files in changesets and manifests
+  checking files
+  4 files, 1 changesets, 4 total revisions
+
+try to clone via stream, should use pull instead
+
+  $ hg clone --uncompressed http://localhost:$HGPORT1/ copy2
+  requesting all changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 4 changes to 4 files
+  updating to branch default
+  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+clone via pull
+
+  $ hg clone http://localhost:$HGPORT1/ copy-pull
+  requesting all changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 4 changes to 4 files
+  updating to branch default
+  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg verify -R copy-pull
+  checking changesets
+  checking manifests
+  crosschecking files in changesets and manifests
+  checking files
+  4 files, 1 changesets, 4 total revisions
+  $ cd test
+  $ echo bar > bar
+  $ hg commit -A -d '1 0' -m 2
+  adding bar
+  $ cd ..
+
+pull
+
+  $ cd copy-pull
+  $ echo '[hooks]' >> .hg/hgrc
+  $ echo 'changegroup = python ../printenv.py changegroup' >> .hg/hgrc
+  $ hg pull
+  changegroup hook: HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_URL=http://localhost:*/* (glob)
+  pulling from http://localhost:*/ (glob)
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+  (run 'hg update' to get a working copy)
+  $ cd ..