--- a/tests/test-push-http Thu Feb 21 20:56:06 2008 +0100
+++ b/tests/test-push-http Sat Feb 23 11:18:34 2008 +0100
@@ -13,53 +13,44 @@
echo a >> a
hg ci -mb -d '0 0'
+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,:[0-9][0-9]*/,/,'
+ kill `cat hg.pid`
+ echo % serve errors
+ cat errors.log
+}
+
cd ../test
echo % expect ssl error
-hg serve -p $HGPORT -d --pid-file=hg.pid
-cat hg.pid >> $DAEMON_PIDS
-hg --cwd ../test2 push http://localhost:$HGPORT/ | sed -e 's,:[0-9][0-9]*/,/,'
-kill `cat hg.pid`
+req
echo % expect authorization error
echo '[web]' > .hg/hgrc
echo 'push_ssl = false' >> .hg/hgrc
-hg serve -p $HGPORT -d --pid-file=hg.pid
-cat hg.pid >> $DAEMON_PIDS
-hg --cwd ../test2 push http://localhost:$HGPORT/ | sed -e 's,:[0-9][0-9]*/,/,'
-kill `cat hg.pid`
+req
echo % expect authorization error: must have authorized user
echo 'allow_push = unperson' >> .hg/hgrc
-hg serve -p $HGPORT -d --pid-file=hg.pid
-cat hg.pid >> $DAEMON_PIDS
-hg --cwd ../test2 push http://localhost:$HGPORT/ | sed -e 's,:[0-9][0-9]*/,/,'
-kill `cat hg.pid`
+req
echo % expect success
echo 'allow_push = *' >> .hg/hgrc
echo '[hooks]' >> .hg/hgrc
echo 'changegroup = python ../printenv.py changegroup 0 ../urls' >> .hg/hgrc
-hg serve -p $HGPORT -d --pid-file=hg.pid
-cat hg.pid >> $DAEMON_PIDS
-hg --cwd ../test2 push http://localhost:$HGPORT/ | sed -e 's,:[0-9][0-9]*/,/,'
-kill `cat hg.pid`
-hg rollback
+req
cat ../urls
+hg rollback
echo % expect authorization error: all users denied
echo '[web]' > .hg/hgrc
echo 'push_ssl = false' >> .hg/hgrc
echo 'deny_push = *' >> .hg/hgrc
-hg serve -p $HGPORT -d --pid-file=hg.pid
-cat hg.pid >> $DAEMON_PIDS
-hg --cwd ../test2 push http://localhost:$HGPORT/ | sed -e 's,:[0-9][0-9]*/,/,'
-kill `cat hg.pid`
+req
echo % expect authorization error: some users denied, users must be authenticated
echo 'deny_push = unperson' >> .hg/hgrc
-hg serve -p $HGPORT -d --pid-file=hg.pid
-cat hg.pid >> $DAEMON_PIDS
-hg --cwd ../test2 push http://localhost:$HGPORT/ | sed -e 's,:[0-9][0-9]*/,/,'
-kill `cat hg.pid`
+req
--- a/tests/test-push-http.out Thu Feb 21 20:56:06 2008 +0100
+++ b/tests/test-push-http.out Sat Feb 23 11:18:34 2008 +0100
@@ -4,14 +4,17 @@
pushing to http://localhost/
searching for changes
ssl required
+% serve errors
% expect authorization error
pushing to http://localhost/
searching for changes
push not authorized
+% serve errors
% expect authorization error: must have authorized user
pushing to http://localhost/
searching for changes
push not authorized
+% serve errors
% expect success
pushing to http://localhost/
searching for changes
@@ -19,13 +22,16 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
+% serve errors
+changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http
rolling back last transaction
-changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http
% expect authorization error: all users denied
pushing to http://localhost/
searching for changes
push not authorized
+% serve errors
% expect authorization error: some users denied, users must be authenticated
pushing to http://localhost/
searching for changes
push not authorized
+% serve errors