view tests/test-extension @ 9469:7f0f882af23d

config: abort on indented non-continuation lines (issue1829) Previously, as soon as a continuation would be met, "cont" would stay forever set to True, but "item" was set back to "None". This caused the continuation code bits to run every time, until the next "self.get(section, item) + '\n'" which would crash.
author Nicolas Dumazet <nicdumz.commits@gmail.com>
date Sat, 12 Sep 2009 11:17:07 +0200
parents 98d90ad54749
children 1c83938b6a8e
line wrap: on
line source

#!/bin/sh
# Test basic extension support

"$TESTDIR/hghave" no-outer-repo || exit 80

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))
    ui.write("ui %s= repo.ui\\n" % (ui == repo.ui and "=" or "!"))

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

mkdir barfoo
cp foobar.py barfoo/__init__.py
barfoopath=`pwd`/barfoo

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
echo 'foobar = !' >> $HGRCPATH

echo '% module/__init__.py-style'
echo "barfoo = $barfoopath" >> $HGRCPATH
cd a
hg foo
echo 'barfoo = !' >> $HGRCPATH

cd ..
cat > empty.py <<EOF
'''empty cmdtable
'''
cmdtable = {}
EOF
emptypath=`pwd`/empty.py
echo "empty = $emptypath" >> $HGRCPATH
hg help empty
echo 'empty = !' >> $HGRCPATH

cat > debugextension.py <<EOF
'''only debugcommands
'''
def debugfoobar(ui, repo, *args, **opts):
    "yet another debug command"
    pass

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")
}
EOF
debugpath=`pwd`/debugextension.py
echo "debugextension = $debugpath" >> $HGRCPATH
echo "% hg help"
hg help debugextension
echo "% hg help --verbose"
hg --verbose help debugextension
echo "% hg help --debug"
hg --debug help debugextension
echo 'debugextension = !' >> $HGRCPATH

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