Exemplo n.º 1
0
    def build_suite(self, test_labels=None, extra_tests=None, **kwargs):
        suite = TestSuite()
        test_labels = test_labels or ['.']
        extra_tests = extra_tests or []

        discover_kwargs = {}
        if self.pattern is not None:
            discover_kwargs['pattern'] = self.pattern
        if self.top_level is not None:
            discover_kwargs['top_level_dir'] = self.top_level

        for label in test_labels:
            kwargs = discover_kwargs.copy()
            tests = None

            label_as_path = os.path.abspath(label)

            # if a module, or "module.ClassName[.method_name]", just run those
            if not os.path.exists(label_as_path):
                tests = self.test_loader.loadTestsFromName(label)
            elif os.path.isdir(label_as_path) and not self.top_level:
                # Try to be a bit smarter than unittest about finding the
                # default top-level for a given directory path, to avoid
                # breaking relative imports. (Unittest's default is to set
                # top-level equal to the path, which means relative imports
                # will result in "Attempted relative import in non-package.").

                # We'd be happy to skip this and require dotted module paths
                # (which don't cause this problem) instead of file paths (which
                # do), but in the case of a directory in the cwd, which would
                # be equally valid if considered as a top-level module or as a
                # directory path, unittest unfortunately prefers the latter.

                top_level = label_as_path
                while True:
                    init_py = os.path.join(top_level, '__init__.py')
                    if os.path.exists(init_py):
                        try_next = os.path.dirname(top_level)
                        if try_next == top_level:
                            # __init__.py all the way down? give up.
                            break
                        top_level = try_next
                        continue
                    break
                kwargs['top_level_dir'] = top_level

            if not (tests and tests.countTestCases()):
                # if no tests found, it's probably a package; try discovery
                tests = self.test_loader.discover(start_dir=label, **kwargs)

                # make unittest forget the top-level dir it calculated from the
                # run, to support running tests from two different top-levels.
                self.test_loader._top_level_dir = None

            suite.addTests(tests)

        for test in extra_tests:
            suite.addTest(test)

        return reorder_suite(suite, self.reorder_by)
Exemplo n.º 2
0
    def build_suite(self, test_labels=None, extra_tests=None, **kwargs):
        suite = TestSuite()
        test_labels = test_labels or ['.']
        extra_tests = extra_tests or []

        discover_kwargs = {}
        if self.pattern is not None:
            discover_kwargs['pattern'] = self.pattern
        if self.top_level is not None:
            discover_kwargs['top_level_dir'] = self.top_level

        for label in test_labels:
            kwargs = discover_kwargs.copy()
            tests = None

            label_as_path = os.path.abspath(label)

            # if a module, or "module.ClassName[.method_name]", just run those
            if not os.path.exists(label_as_path):
                tests = self.test_loader.loadTestsFromName(label)
            elif os.path.isdir(label_as_path) and not self.top_level:
                # Try to be a bit smarter than unittest about finding the
                # default top-level for a given directory path, to avoid
                # breaking relative imports. (Unittest's default is to set
                # top-level equal to the path, which means relative imports
                # will result in "Attempted relative import in non-package.").

                # We'd be happy to skip this and require dotted module paths
                # (which don't cause this problem) instead of file paths (which
                # do), but in the case of a directory in the cwd, which would
                # be equally valid if considered as a top-level module or as a
                # directory path, unittest unfortunately prefers the latter.

                top_level = label_as_path
                while True:
                    init_py = os.path.join(top_level, '__init__.py')
                    if os.path.exists(init_py):
                        try_next = os.path.dirname(top_level)
                        if try_next == top_level:
                            # __init__.py all the way down? give up.
                            break
                        top_level = try_next
                        continue
                    break
                kwargs['top_level_dir'] = top_level

            if not (tests and tests.countTestCases()):
                # if no tests found, it's probably a package; try discovery
                tests = self.test_loader.discover(start_dir=label, **kwargs)

                # make unittest forget the top-level dir it calculated from this
                # run, to support running tests from two different top-levels.
                self.test_loader._top_level_dir = None

            suite.addTests(tests)

        for test in extra_tests:
            suite.addTest(test)

        return reorder_suite(suite, self.reorder_by)
Exemplo n.º 3
0
def crud_suite():
    suite = TestSuite()
    suite.addTest(defaultTestLoader.loadTestsFromTestCase(CreateTest))
    suite.addTest(defaultTestLoader.loadTestsFromTestCase(ReadTest))
    suite.addTest(defaultTestLoader.loadTestsFromTestCase(UpdateTest))
    suite.addTest(defaultTestLoader.loadTestsFromTestCase(DeleteTest))
    return suite
Exemplo n.º 4
0
def suite():
    "Builds a test suite for the GEOS tests."
    s = TestSuite()
    for suite in test_suites:
        s.addTest(suite)
    return s
Exemplo n.º 5
0
        self.assertEqual(cached_value, 'my_value')

    def test_zones(self):
        zonecache.add('my_key', 'my_value', zone='my_zone')
        cached_value = zonecache.get('my_key', zone='my_zone')
        self.assertEqual(cached_value, 'my_value')

        zonecache.invalidate_zone('my_zone')
        cached_value = zonecache.get('my_key', zone='my_zone')
        self.assertEqual(cached_value, None)

        zonecache.add('my_key', 'my_value', zone='my_zone')
        cached_value = zonecache.get('my_key', zone='my_zone')
        self.assertEqual(cached_value, 'my_value')

    def test_zone_version(self):
        zonecache.invalidate_zone('my_zone')

        zonecache.add('my_key', 'my_value', version=2, zone='my_zone')
        zonecache.add('my_key', 'my_value_2', version=3, zone='my_zone')

        cached_value = zonecache.get('my_key', version=2, zone='my_zone')
        self.assertEqual(cached_value, 'my_value')

        cached_value = zonecache.get('my_key', version=3, zone='my_zone')
        self.assertEqual(cached_value, 'my_value_2')


suite = TestSuite()
suite.addTest(makeSuite(ZoneCacheTest))
Exemplo n.º 6
0
def suite():
    "Builds a test suite for the GDAL tests."
    s = TestSuite()
    for test_suite in test_suites:
        s.addTest(test_suite)
    return s
Exemplo n.º 7
0
def suite():
    "Builds a test suite for the GEOS tests."
    s = TestSuite()
    for suite in test_suites:
        s.addTest(suite)
    return s
Exemplo n.º 8
0
def suite():
    suite = TestSuite()
    suite.addTest(crud_suite())
    return suite
Exemplo n.º 9
0
def suite():
    "Builds a test suite for the GDAL tests."
    s = TestSuite()
    for test_suite in test_suites:
        s.addTest(test_suite)
    return s