Mercurial > python-hglib
annotate tests/with_hg.py @ 186:d06b48001662
package: update package url
Replace the package url which was pointing to the repository to the wiki page
instead. This way pypi users will directly see the basic usage and can easily
find the repository url on the wiki page.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 19 Jul 2017 14:48:40 +0200 |
parents | f4f636ecca3e |
children |
rev | line source |
---|---|
75
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
1 import os |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
2 from nose.plugins import Plugin |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
3 |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
4 class WithHgPlugin(Plugin): |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
5 name = 'with-hg' |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
6 enabled = False |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
7 |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
8 def options(self, parser, env): |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
9 Plugin.options(self, parser, env) |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
10 parser.add_option('--with-hg', |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
11 action='store', |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
12 type='string', |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
13 metavar='HG', |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
14 dest='with_hg', |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
15 help='test using specified hg script.') |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
16 |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
17 def configure(self, options, conf): |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
18 Plugin.configure(self, options, conf) |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
19 if options.with_hg: |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
20 self.enabled = True |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
21 self.hgpath = os.path.realpath(options.with_hg) |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
22 |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
23 def begin(self): |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
24 import hglib |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
25 |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
26 p = hglib.util.popen([self.hgpath, 'version']) |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
27 p.communicate() |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
28 |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
29 if p.returncode: |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
30 raise ValueError("custom hg %r doesn't look like Mercurial" |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
31 % self.hgpath) |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
32 |
f4f636ecca3e
tests: add a nose plugin that allows specifying a custom hg to run tests
Idan Kamara <idankk86@gmail.com>
parents:
diff
changeset
|
33 hglib.HGPATH = self.hgpath |