Exemplo n.º 1
0
def get_tests(app):
    dirs = [os.path.dirname(__file__)] + plugin_test_dirs(app.plugins)

    from discover import DiscoveringTestLoader
    loader = DiscoveringTestLoader()

    all_tests = unittest.TestSuite()
    for rootdir in dirs:
        tests = loader.discover(rootdir, pattern='*test*.py', top_level_dir=unittest_basedir)
        all_tests.addTests(tests)

    return all_tests
Exemplo n.º 2
0
    def test_discover(self):
        loader = DiscoveringTestLoader()

        original_isfile = os.path.isfile
        original_isdir = os.path.isdir

        def restore_isfile():
            os.path.isfile = original_isfile

        os.path.isfile = lambda path: False
        self.addCleanup(restore_isfile)

        orig_sys_path = sys.path[:]

        def restore_path():
            sys.path[:] = orig_sys_path

        self.addCleanup(restore_path)

        full_path = os.path.abspath(os.path.normpath('/foo'))
        self.assertRaises(ImportError,
                          loader.discover,
                          '/foo/bar',
                          top_level_dir='/foo')

        self.assertEqual(loader._top_level_dir, full_path)
        self.assertIn(full_path, sys.path)

        os.path.isfile = lambda path: True
        os.path.isdir = lambda path: True

        def restore_isdir():
            os.path.isdir = original_isdir

        self.addCleanup(restore_isdir)

        _find_tests_args = []

        def _find_tests(start_dir, pattern):
            _find_tests_args.append((start_dir, pattern))
            return ['tests']

        loader._find_tests = _find_tests
        loader.suiteClass = str

        suite = loader.discover('/foo/bar/baz', 'pattern', '/foo/bar')

        top_level_dir = os.path.abspath(os.path.normpath('/foo/bar'))
        start_dir = os.path.abspath(os.path.normpath('/foo/bar/baz'))
        self.assertEqual(suite, "['tests']")
        self.assertEqual(loader._top_level_dir, top_level_dir)
        self.assertEqual(_find_tests_args, [(start_dir, 'pattern')])
        self.assertIn(top_level_dir, sys.path)
Exemplo n.º 3
0
def get_tests(app):
    dirs = [os.path.dirname(__file__)] + plugin_test_dirs(app.plugins)

    from discover import DiscoveringTestLoader
    loader = DiscoveringTestLoader()

    all_tests = unittest.TestSuite()
    for rootdir in dirs:
        tests = loader.discover(rootdir,
                                pattern='*test*.py',
                                top_level_dir=unittest_basedir)
        all_tests.addTests(tests)

    return all_tests
Exemplo n.º 4
0
    def test_discovery_from_dotted_path(self):
        loader = DiscoveringTestLoader()
        
        tests = [self]
        expectedPath = os.path.abspath(os.path.dirname(unittest2.test.__file__))

        self.wasRun = False
        def _find_tests(start_dir, pattern):
            self.wasRun = True
            self.assertEqual(start_dir, expectedPath)
            return tests
        loader._find_tests = _find_tests
        suite = loader.discover('%s.test' % import_string)
        self.assertTrue(self.wasRun)
        self.assertEqual(suite._tests, tests)
Exemplo n.º 5
0
    def test_discover(self):
        loader = DiscoveringTestLoader()

        original_isfile = os.path.isfile
        original_isdir = os.path.isdir
        def restore_isfile():
            os.path.isfile = original_isfile

        os.path.isfile = lambda path: False
        self.addCleanup(restore_isfile)

        orig_sys_path = sys.path[:]
        def restore_path():
            sys.path[:] = orig_sys_path
        self.addCleanup(restore_path)

        full_path = os.path.abspath(os.path.normpath('/foo'))
        self.assertRaises(ImportError,
                          loader.discover,
                          '/foo/bar', top_level_dir='/foo')

        self.assertEqual(loader._top_level_dir, full_path)
        self.assertIn(full_path, sys.path)

        os.path.isfile = lambda path: True
        os.path.isdir = lambda path: True

        def restore_isdir():
            os.path.isdir = original_isdir
        self.addCleanup(restore_isdir)

        _find_tests_args = []
        def _find_tests(start_dir, pattern):
            _find_tests_args.append((start_dir, pattern))
            return ['tests']
        loader._find_tests = _find_tests
        loader.suiteClass = str

        suite = loader.discover('/foo/bar/baz', 'pattern', '/foo/bar')

        top_level_dir = os.path.abspath(os.path.normpath('/foo/bar'))
        start_dir = os.path.abspath(os.path.normpath('/foo/bar/baz'))
        self.assertEqual(suite, "['tests']")
        self.assertEqual(loader._top_level_dir, top_level_dir)
        self.assertEqual(_find_tests_args, [(start_dir, 'pattern')])
        self.assertIn(top_level_dir, sys.path)
Exemplo n.º 6
0
    def test_discovery_from_dotted_path(self):
        loader = DiscoveringTestLoader()

        tests = [self]
        expectedPath = os.path.abspath(os.path.dirname(
            unittest2.test.__file__))

        self.wasRun = False

        def _find_tests(start_dir, pattern):
            self.wasRun = True
            self.assertEqual(start_dir, expectedPath)
            return tests

        loader._find_tests = _find_tests
        suite = loader.discover('%s.test' % import_string)
        self.assertTrue(self.wasRun)
        self.assertEqual(suite._tests, tests)
Exemplo n.º 7
0
    def test_discover_with_modules_that_fail_to_import(self):
        loader = DiscoveringTestLoader()

        listdir = os.listdir
        os.listdir = lambda _: ['test_this_does_not_exist.py']
        isfile = os.path.isfile
        os.path.isfile = lambda _: True
        orig_sys_path = sys.path[:]
        def restore():
            os.path.isfile = isfile
            os.listdir = listdir
            sys.path[:] = orig_sys_path
        self.addCleanup(restore)

        suite = loader.discover('.')
        self.assertIn(os.getcwd(), sys.path)
        self.assertEqual(suite.countTestCases(), 1)
        test = list(list(suite)[0])[0] # extract test from suite

        self.assertRaises(ImportError,
            lambda: test.test_this_does_not_exist())
Exemplo n.º 8
0
    def test_discover_with_modules_that_fail_to_import(self):
        loader = DiscoveringTestLoader()

        listdir = os.listdir
        os.listdir = lambda _: ['test_this_does_not_exist.py']
        isfile = os.path.isfile
        os.path.isfile = lambda _: True
        orig_sys_path = sys.path[:]

        def restore():
            os.path.isfile = isfile
            os.listdir = listdir
            sys.path[:] = orig_sys_path

        self.addCleanup(restore)

        suite = loader.discover('.')
        self.assertIn(os.getcwd(), sys.path)
        self.assertEqual(suite.countTestCases(), 1)
        test = list(list(suite)[0])[0]  # extract test from suite

        self.assertRaises(ImportError, lambda: test.test_this_does_not_exist())
Exemplo n.º 9
0
 def get_tests(self):
     loader = Loader()
     return loader.discover(".", "test_*.py", None)
Exemplo n.º 10
0
import sys
import unittest

if sys.version_info < (2, 7):
    # 2.6 user, you may need ...
    # easy_install discover
    from discover import DiscoveringTestLoader
    test_loader = DiscoveringTestLoader()
    all_tests = test_loader.discover(".", pattern="test_*.py")
else:
    all_tests = unittest.TestLoader().discover(".", pattern='test_*.py')

unittest.TextTestRunner().run(all_tests)
Exemplo n.º 11
0
def tests ():
    from discover import DiscoveringTestLoader
    loader = DiscoveringTestLoader()
    suite = loader.discover("source/test/python", pattern="*.py")
    return suite
Exemplo n.º 12
0
def get_tests():  # pragma: no cover
    start_dir = os.path.dirname(__file__)
    test_loader = DiscoveringTestLoader()
    return test_loader.discover(start_dir, pattern="test_*.py")
Exemplo n.º 13
0
# Requirements:
#  * python 2.6 backport of test discovery ( https://pypi.python.org/pypi/discover )
#  * xmlrunner: https://pypi.python.org/pypi/xmlrunner/1.7.3
#  * coverage.py
import os
from unittest import TestSuite
import sys

if __name__ == '__main__':
    from discover import DiscoveringTestLoader
    import xmlrunner
    import coverage

    loader = DiscoveringTestLoader()

    sys.path.append(os.path.join(os.path.dirname(__file__), "test"))

    cov = coverage.coverage(source=["src"])
    cov.start()

    tests = loader.discover(start_dir="test", pattern='test*.py', top_level_dir="test")

    runner = xmlrunner.XMLTestRunner(output='test-reports')
    runner.run(tests)
    cov.stop()
    cov.html_report(ignore_errors=True, directory='python-coverage-html')