##// END OF EJS Templates
merge with crew-stable
merge with crew-stable

File last commit:

r9128:98d90ad5 default
r9142:63cfacb7 merge default
Show More
test-extension
118 lines | 2.4 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
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