hgweb: added test case for extension loading phases (
issue1824)
this checks the order of module loading phases of hgweb.
`4) reposetup' lines are duplicated because hgweb calls
hg.repository() twice, one by __init__, another by refresh.
--- a/tests/test-extension Wed Oct 28 23:55:23 2009 +0900
+++ b/tests/test-extension Wed Oct 28 23:59:18 2009 +0900
@@ -75,6 +75,20 @@
# command with no output, we just want to see the extensions loaded
hg paths
+# check hgweb's load order
+echo '% hgweb.cgi'
+cat > hgweb.cgi <<EOF
+#!/usr/bin/env python
+from mercurial import demandimport; demandimport.enable()
+from mercurial.hgweb import hgweb
+from mercurial.hgweb import wsgicgi
+
+application = hgweb('.', 'test repo')
+wsgicgi.launch(application)
+EOF
+SCRIPT_NAME='/' SERVER_PORT='80' SERVER_NAME='localhost' python hgweb.cgi \
+ | grep '^[[:digit:]]) [[:alnum:] ]*$' # ignores HTML output
+
echo 'foo = !' >> $HGRCPATH
echo 'bar = !' >> $HGRCPATH
--- a/tests/test-extension.out Wed Oct 28 23:55:23 2009 +0900
+++ b/tests/test-extension.out Wed Oct 28 23:59:18 2009 +0900
@@ -24,6 +24,17 @@
3) bar extsetup
4) foo reposetup
4) bar reposetup
+% hgweb.cgi
+1) foo imported
+1) bar imported
+2) foo uisetup
+2) bar uisetup
+3) foo extsetup
+3) bar extsetup
+4) foo reposetup
+4) bar reposetup
+4) foo reposetup
+4) bar reposetup
empty extension - empty cmdtable
no commands defined