sapling/tests/test-extensions-default.t
Durham Goode 3b2cabfe55 hg: fix extensions-default
Summary:
Suggesting disabled extensions uses extensions.loadpath, which is no
longer supported for core extensions. Since this test is just testing that the
extension can be disabled, let's not worry about the exact output.

Reviewed By: phillco

Differential Revision: D6802719

fbshipit-source-id: 2a602e086f4809676ef8dd36ffc30f021b3186fc
2018-04-13 21:50:57 -07:00

62 lines
1.7 KiB
Perl

Tests the behavior of the DEFAULT_EXTENSIONS constant in extensions.py
$ hg init a
$ cd a
hg githelp works without enabling:
$ hg githelp -- git reset HEAD
hg reset .
Behaves identically if enabled manually:
$ hg githelp --config extensions.githelp= -- git reset HEAD
hg reset .
Not if turned off:
$ hg githelp --config extensions.githelp=! -- git reset HEAD
hg: unknown command 'githelp'
(did you mean help?)
[255]
Or overriden by a different path:
$ cat > githelp2.py <<EOF
> from __future__ import absolute_import
> from mercurial import registrar
>
> cmdtable = {}
> command = registrar.command(cmdtable)
>
> @command('githelp')
> def githhelp(ui, repo, *args, **opts):
> ui.warn('Custom version of hg githelp\n')
>
> EOF
$ hg githelp --config extensions.githelp=`pwd`/githelp2.py -- git reset HEAD
Custom version of hg githelp
A default extension's reposetup and extsetup are run:
$ cd $TESTTMP
$ mkdir hgext
$ cat > hgext/mofunc.py <<EOF
> from hgext import githelp
> def extsetup(ui):
> # Only print reposetup() once so that this test output doesn't change
> # the number of times repo gets wrapped as we enable extensions.
> githelp.reposetupcount = 0
> def reposetup(ui, repo):
> if githelp.reposetupcount == 0:
> ui.warn('githelp reposetup()\n')
> githelp.reposetupcount += 1
> def extsetup(ui):
> ui.warn('githelp extsetup()\n')
> githelp.reposetup = reposetup
> githelp.extsetup = extsetup
> EOF
$ hg -R a githelp --config extensions.path=hgext/mofunc.py -- git status
githelp extsetup()
githelp reposetup()
hg status