Mercurial > hg
view tests/test-extensions-afterloaded.t @ 49487:e8481625c582
rust: add Debug constraint to Matcher trait
This makes sure we can easily debug which Matcher we're looking at when using
trait objects, and is just generally useful. Effort to make the debugging
output nicer has been kept to a minimum, please feel free to improve.
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Mon, 11 Jul 2022 11:59:13 +0200 |
parents | cfa564037789 |
children |
line wrap: on
line source
Test the extensions.afterloaded() function $ cat > foo.py <<EOF > from mercurial import extensions > def uisetup(ui): > ui.write(b"foo.uisetup\\n") > ui.flush() > def bar_loaded(loaded): > ui.write(b"foo: bar loaded: %r\\n" % (loaded,)) > ui.flush() > extensions.afterloaded(b'bar', bar_loaded) > EOF $ cat > bar.py <<EOF > def uisetup(ui): > ui.write(b"bar.uisetup\\n") > ui.flush() > EOF $ basepath=`pwd` $ hg init basic $ cd basic $ echo foo > file $ hg add file $ hg commit -m 'add file' $ echo '[extensions]' >> .hg/hgrc $ echo "foo = $basepath/foo.py" >> .hg/hgrc $ echo "bar = $basepath/bar.py" >> .hg/hgrc $ hg log -r. -T'{rev}\n' foo.uisetup foo: bar loaded: True bar.uisetup 0 Test afterloaded with the opposite extension load order $ cd .. $ hg init basic_reverse $ cd basic_reverse $ echo foo > file $ hg add file $ hg commit -m 'add file' $ echo '[extensions]' >> .hg/hgrc $ echo "bar = $basepath/bar.py" >> .hg/hgrc $ echo "foo = $basepath/foo.py" >> .hg/hgrc $ hg log -r. -T'{rev}\n' bar.uisetup foo.uisetup foo: bar loaded: True 0 Test the extensions.afterloaded() function when the requested extension is not loaded $ cd .. $ hg init notloaded $ cd notloaded $ echo foo > file $ hg add file $ hg commit -m 'add file' $ echo '[extensions]' >> .hg/hgrc $ echo "foo = $basepath/foo.py" >> .hg/hgrc $ hg log -r. -T'{rev}\n' foo.uisetup foo: bar loaded: False 0 Test the extensions.afterloaded() function when the requested extension is not configured but fails the minimum version check $ cd .. $ cat > minvers.py <<EOF > minimumhgversion = b'9999.9999' > def uisetup(ui): > ui.write(b"minvers.uisetup\\n") > ui.flush() > EOF $ hg init minversion $ cd minversion $ echo foo > file $ hg add file $ hg commit -m 'add file' $ echo '[extensions]' >> .hg/hgrc $ echo "foo = $basepath/foo.py" >> .hg/hgrc $ echo "bar = $basepath/minvers.py" >> .hg/hgrc $ hg log -r. -T'{rev}\n' (third party extension bar requires version 9999.9999 or newer of Mercurial (current: *); disabling) (glob) foo.uisetup foo: bar loaded: False 0 Test the extensions.afterloaded() function when the requested extension is not configured but fails the minimum version check, using the opposite load order for the two extensions. $ cd .. $ hg init minversion_reverse $ cd minversion_reverse $ echo foo > file $ hg add file $ hg commit -m 'add file' $ echo '[extensions]' >> .hg/hgrc $ echo "bar = $basepath/minvers.py" >> .hg/hgrc $ echo "foo = $basepath/foo.py" >> .hg/hgrc $ hg log -r. -T'{rev}\n' (third party extension bar requires version 9999.9999 or newer of Mercurial (current: *); disabling) (glob) foo.uisetup foo: bar loaded: False 0