##// END OF EJS Templates
tests: remove unneeded -d flags...
tests: remove unneeded -d flags Many tests fixed the commit date of their changesets at '1000000 0' or similar. However testing with "Mon Jan 12 13:46:40 1970 +0000" is not better than testing with "Thu Jan 01 00:00:00 1970 +0000", which is the default run-tests.py installs. Removing the unnecessary flag removes some clutter and will hopefully make it clearer what the tests are really trying to test. Some tests did not even change their output when the dates were changed, in which case the -d flag was truly irrelevant. Dates used in sequence (such as '0 0', '1 0', etc...) were left alone since they may make the test easier to understand.

File last commit:

r11070:ba1ff206 stable
r12156:4c94b6d0 default
Show More
test-extension
181 lines | 3.8 KiB | text/plain | TextLexer
Alexis S. L. Carvalho
install reposetup hook right after loading the extension
r4064 #!/bin/sh
# Test basic extension support
Mads Kiilerich
tests: Skip tests if they will fail because of outer repo...
r7429 "$TESTDIR/hghave" no-outer-repo || exit 80
Alexis S. L. Carvalho
install reposetup hook right after loading the extension
r4064 cat > foobar.py <<EOF
import os
from mercurial import commands
def uisetup(ui):
ui.write("uisetup called\\n")
def reposetup(ui, repo):
ui.write("reposetup called for %s\\n" % os.path.basename(repo.root))
Alexis S. L. Carvalho
Try to pass repo.ui to reposetup hooks...
r4074 ui.write("ui %s= repo.ui\\n" % (ui == repo.ui and "=" or "!"))
Alexis S. L. Carvalho
install reposetup hook right after loading the extension
r4064
def foo(ui, *args, **kwargs):
ui.write("Foo\\n")
def bar(ui, *args, **kwargs):
ui.write("Bar\\n")
cmdtable = {
"foo": (foo, [], "hg foo"),
"bar": (bar, [], "hg bar"),
}
commands.norepo += ' bar'
EOF
abspath=`pwd`/foobar.py
Brendan Cully
extensions: load modules in module/__init__.py form....
r4569 mkdir barfoo
cp foobar.py barfoo/__init__.py
barfoopath=`pwd`/barfoo
Alexis S. L. Carvalho
install reposetup hook right after loading the extension
r4064 hg init a
cd a
echo foo > file
hg add file
hg commit -m 'add file'
echo '[extensions]' >> $HGRCPATH
echo "foobar = $abspath" >> $HGRCPATH
hg foo
cd ..
hg clone a b
hg bar
Alexis S. L. Carvalho
tests/*: avoid losing the original settings from $HGRCPATH
r5523 echo 'foobar = !' >> $HGRCPATH
Brendan Cully
extensions: load modules in module/__init__.py form....
r4569
echo '% module/__init__.py-style'
echo "barfoo = $barfoopath" >> $HGRCPATH
cd a
hg foo
Alexis S. L. Carvalho
tests/*: avoid losing the original settings from $HGRCPATH
r5523 echo 'barfoo = !' >> $HGRCPATH
Brendan Cully
Handle extensions with defined but empty cmdtable
r4738
Martin Geisler
extensions: load and configure extensions in well-defined phases...
r9410 # check that extensions are loaded in phases
cat > foo.py <<EOF
import os
name = os.path.basename(__file__).rsplit('.', 1)[0]
print "1) %s imported" % name
def uisetup(ui):
print "2) %s uisetup" % name
def extsetup():
print "3) %s extsetup" % name
def reposetup(ui, repo):
print "4) %s reposetup" % name
EOF
cp foo.py bar.py
echo 'foo = foo.py' >> $HGRCPATH
echo 'bar = bar.py' >> $HGRCPATH
# command with no output, we just want to see the extensions loaded
hg paths
Yuya Nishihara
hgweb: added test case for extension loading phases (issue1824)...
r9661 # 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 \
Mads Kiilerich
test-extension: Solaris grep don't know [[:digit:]]
r9802 | grep '^[0-9]) ' # ignores HTML output
Yuya Nishihara
hgweb: added test case for extension loading phases (issue1824)...
r9661
Martin Geisler
extensions: load and configure extensions in well-defined phases...
r9410 echo 'foo = !' >> $HGRCPATH
echo 'bar = !' >> $HGRCPATH
Brendan Cully
Handle extensions with defined but empty cmdtable
r4738 cd ..
cat > empty.py <<EOF
'''empty cmdtable
'''
cmdtable = {}
EOF
emptypath=`pwd`/empty.py
echo "empty = $emptypath" >> $HGRCPATH
hg help empty
Alexis S. L. Carvalho
tests/*: avoid losing the original settings from $HGRCPATH
r5523 echo 'empty = !' >> $HGRCPATH
Alexis S. L. Carvalho
help: avoid traceback if an extension has only debug commands
r4950
cat > debugextension.py <<EOF
'''only debugcommands
'''
def debugfoobar(ui, repo, *args, **opts):
"yet another debug command"
pass
Dan Villiom Podlaski Christiansen
commands: hide deprecated commands....
r9128 def foo(ui, repo, *args, **opts):
"""yet another foo command
This command has been DEPRECATED since forever.
"""
pass
cmdtable = {
"debugfoobar": (debugfoobar, (), "hg debugfoobar"),
"foo": (foo, (), "hg foo")
}
Alexis S. L. Carvalho
help: avoid traceback if an extension has only debug commands
r4950 EOF
debugpath=`pwd`/debugextension.py
echo "debugextension = $debugpath" >> $HGRCPATH
Dan Villiom Podlaski Christiansen
commands: hide deprecated commands....
r9128 echo "% hg help"
Alexis S. L. Carvalho
help: avoid traceback if an extension has only debug commands
r4950 hg help debugextension
Dan Villiom Podlaski Christiansen
commands: hide deprecated commands....
r9128 echo "% hg help --verbose"
hg --verbose help debugextension
echo "% hg help --debug"
Alexis S. L. Carvalho
help: avoid traceback if an extension has only debug commands
r4950 hg --debug help debugextension
Alexis S. L. Carvalho
tests/*: avoid losing the original settings from $HGRCPATH
r5523 echo 'debugextension = !' >> $HGRCPATH
Benoit Boissinot
Do not try to load extensions twice (issue811)
r7011
echo % issue811
debugpath=`pwd`/debugissue811.py
cat > debugissue811.py <<EOF
'''show all loaded extensions
'''
from mercurial import extensions, commands
def debugextensions(ui):
"yet another debug command"
ui.write("%s\n" % '\n'.join([x for x, y in extensions.extensions()]))
cmdtable = {"debugextensions": (debugextensions, (), "hg debugextensions")}
commands.norepo += " debugextensions"
EOF
echo "debugissue811 = $debugpath" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
echo "hgext.mq=" >> $HGRCPATH
echo "hgext/mq=" >> $HGRCPATH
echo % show extensions
hg debugextensions
Brodie Rao
dispatch: provide help for disabled extensions and commands...
r10364
echo '% disabled extension commands'
HGRCPATH=
Mads Kiilerich
test-extension: changed environment variables must be exported again...
r11070 export HGRCPATH
Brodie Rao
dispatch: provide help for disabled extensions and commands...
r10364 hg help email
hg qdel
hg churn
echo '% disabled extensions'
hg help churn
hg help patchbomb
echo '% broken disabled extension and command'
mkdir hgext
echo > hgext/__init__.py
cat > hgext/broken.py <<EOF
"broken extension'
EOF
Brodie Rao
test-extension: fix disabled extension tests for run-tests.py --local...
r10669 cat > path.py <<EOF
import os, sys
sys.path.insert(0, os.environ['HGEXTPATH'])
EOF
HGEXTPATH=`pwd`
export HGEXTPATH
hg --config extensions.path=./path.py help broken
hg --config extensions.path=./path.py help foo > /dev/null
Brodie Rao
dispatch: provide help for disabled extensions and commands...
r10364
exit 0