source: python/tests/_tools.py @ 42dbcf4

feature/crepe
Last change on this file since 42dbcf4 was 7fd92ca, checked in by Paul Brossier <piem@piem.org>, 6 years ago

[tests] use run_module_suite so tests can run when pytest is not installed

  • Property mode set to 100644
File size: 958 bytes
Line 
1"""
2This file imports test methods from different testing modules, in this
3order:
4
5    - try importing 'pytest'
6    - if it fails, fallback to 'numpy.testing'
7
8Nose2 support was removed because of lacking assertWarns on py2.7.
9
10"""
11
12import sys
13
14_has_pytest = False
15
16# check if we have pytest
17try:
18    import pytest
19    parametrize = pytest.mark.parametrize
20    assert_raises = pytest.raises
21    assert_warns = pytest.warns
22    skipTest = pytest.skip
23    _has_pytest = True
24    def run_module_suite():
25        import sys, pytest
26        pytest.main(sys.argv)
27except:
28    pass
29
30# otherwise fallback on numpy.testing
31if not _has_pytest:
32    from numpy.testing import dec, assert_raises, assert_warns
33    from numpy.testing import SkipTest
34    parametrize = dec.parametrize
35    def skipTest(msg):
36        raise SkipTest(msg)
37    from numpy.testing import run_module_suite
38
39# always use numpy's assert_equal
40import numpy
41assert_equal = numpy.testing.assert_equal
Note: See TracBrowser for help on using the repository browser.