Mercurial > python-hglib
annotate tests/with_hg.py @ 153:ef8eb78fc88d
hglib: don't try to use long under Python 3 (issue4520)
author | Brett Cannon <brett@python.org> |
---|---|
date | Fri, 20 Mar 2015 16:34:42 -0400 |
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 |