# HG changeset patch # User Matt Mackall # Date 2010-09-26 18:44:49 # Node ID fecd4966f8d4c7ec2a1e84cdb3c7226020e4e187 # Parent 2f8740c639e4e07d6fd894eb6fe154250282fb29 tests: unify test-push-http diff --git a/tests/test-push-http.out b/tests/test-push-http.out deleted file mode 100644 --- a/tests/test-push-http.out +++ /dev/null @@ -1,38 +0,0 @@ -adding a -updating to branch default -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% expect ssl error -pushing to http://localhost:$HGPORT/ -searching for changes -remote: ssl required -% serve errors -% expect authorization error -abort: authorization failed -pushing to http://localhost:$HGPORT/ -searching for changes -% serve errors -% expect authorization error: must have authorized user -abort: authorization failed -pushing to http://localhost:$HGPORT/ -searching for changes -% serve errors -% expect success -pushing to http://localhost:$HGPORT/ -searching for changes -remote: adding changesets -remote: adding manifests -remote: adding file changes -remote: added 1 changesets with 1 changes to 1 files -remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http -% serve errors -rolling back to revision 0 (undo serve) -% expect authorization error: all users denied -abort: authorization failed -pushing to http://localhost:$HGPORT/ -searching for changes -% serve errors -% expect authorization error: some users denied, users must be authenticated -abort: authorization failed -pushing to http://localhost:$HGPORT/ -searching for changes -% serve errors diff --git a/tests/test-push-http b/tests/test-push-http.t old mode 100755 new mode 100644 rename from tests/test-push-http rename to tests/test-push-http.t --- a/tests/test-push-http +++ b/tests/test-push-http.t @@ -1,54 +1,87 @@ -#!/bin/sh - -cp "$TESTDIR"/printenv.py . - -hg init test -cd test -echo a > a -hg ci -Ama -cd .. -hg clone test test2 -cd test2 -echo a >> a -hg ci -mb + $ cp "$TESTDIR"/printenv.py . + $ hg init test + $ cd test + $ echo a > a + $ hg ci -Ama + adding a + $ cd .. + $ hg clone test test2 + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cd test2 + $ echo a >> a + $ hg ci -mb + $ req() { + > hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log + > cat hg.pid >> $DAEMON_PIDS + > hg --cwd ../test2 push http://localhost:$HGPORT/ + > kill `cat hg.pid` + > echo % serve errors + > cat errors.log + > } + $ cd ../test -req() { - hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log - cat hg.pid >> $DAEMON_PIDS - hg --cwd ../test2 push http://localhost:$HGPORT/ | sed -e "s,:$HGPORT/,:\$HGPORT/," - kill `cat hg.pid` - echo % serve errors - cat errors.log -} +expect ssl error + + $ req + pushing to http://localhost:*/ (glob) + searching for changes + remote: ssl required + % serve errors + +expect authorization error -cd ../test + $ echo '[web]' > .hg/hgrc + $ echo 'push_ssl = false' >> .hg/hgrc + $ req + pushing to http://localhost:*/ (glob) + searching for changes + abort: authorization failed + % serve errors + +expect authorization error: must have authorized user -echo % expect ssl error -req + $ echo 'allow_push = unperson' >> .hg/hgrc + $ req + pushing to http://localhost:*/ (glob) + searching for changes + abort: authorization failed + % serve errors -echo % expect authorization error -echo '[web]' > .hg/hgrc -echo 'push_ssl = false' >> .hg/hgrc -req - -echo % expect authorization error: must have authorized user -echo 'allow_push = unperson' >> .hg/hgrc -req +expect success -echo % expect success -echo 'allow_push = *' >> .hg/hgrc -echo '[hooks]' >> .hg/hgrc -echo 'changegroup = python ../printenv.py changegroup 0' >> .hg/hgrc -req + $ echo 'allow_push = *' >> .hg/hgrc + $ echo '[hooks]' >> .hg/hgrc + $ echo 'changegroup = python ../printenv.py changegroup 0' >> .hg/hgrc + $ req + pushing to http://localhost:*/ (glob) + searching for changes + remote: adding changesets + remote: adding manifests + remote: adding file changes + remote: added 1 changesets with 1 changes to 1 files + remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http + % serve errors + $ hg rollback + rolling back to revision 0 (undo serve) + +expect authorization error: all users denied -hg rollback -echo % expect authorization error: all users denied -echo '[web]' > .hg/hgrc -echo 'push_ssl = false' >> .hg/hgrc -echo 'deny_push = *' >> .hg/hgrc -req + $ echo '[web]' > .hg/hgrc + $ echo 'push_ssl = false' >> .hg/hgrc + $ echo 'deny_push = *' >> .hg/hgrc + $ req + pushing to http://localhost:*/ (glob) + searching for changes + abort: authorization failed + % serve errors -echo % expect authorization error: some users denied, users must be authenticated -echo 'deny_push = unperson' >> .hg/hgrc -req +expect authorization error: some users denied, users must be authenticated + + $ echo 'deny_push = unperson' >> .hg/hgrc + $ req + pushing to http://localhost:*/ (glob) + searching for changes + abort: authorization failed + % serve errors