예제 #1
0
 def test_run_test_with_data_provider_no_expand(self):
     tinc_test_loader = tinctest.TINCTestLoader()
     tinc_test_suite = tinc_test_loader.loadTestsFromName(
         'tinctest.test.test_data_provider.MockTINCTestCaseWithDataProvider.test_with_data_provider',
         expand=False)
     with closing(_WritelnDecorator(StringIO())) as buffer:
         tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1)
         tinc_test_suite.run(tinc_test_result)
         # This should have run one test, since expand is False
         self.assertEquals(tinc_test_result.testsRun, 1)
예제 #2
0
 def test_run_test_with_data_provider_complicated(self):
     tinc_test_loader = tinctest.TINCTestLoader()
     tinc_test_suite = tinc_test_loader.loadTestsFromName(
         'tinctest.test.test_data_provider.MockTINCTestCaseWithDataProviderComplicated.test_with_data_provider_complicated'
     )
     with closing(_WritelnDecorator(StringIO())) as buffer:
         tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1)
         tinc_test_suite.run(tinc_test_result)
         # This should have run two tests
         self.assertEquals(tinc_test_result.testsRun, 6)
예제 #3
0
 def _discover_and_run_tests(self, start_dirs, patterns, top_level_dir, query_handler):
     tinc_test_loader = tinctest.TINCTestLoader()
     tinc_test_suite = tinc_test_loader.discover(start_dirs = start_dirs,
                                                 patterns = patterns,
                                                 top_level_dir = None,
                                                 query_handler = query_handler
                                                 )
                                                 
     with closing(_WritelnDecorator(StringIO())) as buffer:
         tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1)
         tinc_test_suite.run(tinc_test_result)
         return tinc_test_result
예제 #4
0
 def test_suite_construction_with_discover(self):
     tinc_test_loader = tinctest.TINCTestLoader()
     pwd = os.path.dirname(inspect.getfile(self.__class__))
     test_dir = os.path.join(pwd, 'data_provider')
     tinc_test_suite = tinc_test_loader.discover(start_dirs=[test_dir],
                                                 patterns=['test_*.py'],
                                                 top_level_dir=test_dir)
     with closing(_WritelnDecorator(StringIO())) as buffer:
         tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1)
         tinc_test_suite.run(tinc_test_result)
         # This should have run 11 tests
         self.assertEquals(tinc_test_result.testsRun, 11)
예제 #5
0
 def test_loading_with_decorator_discover(self):
     tinc_test_loader = tinctest.TINCTestLoader()
     pwd = os.path.dirname(inspect.getfile(self.__class__))
     test_dir = os.path.join(pwd, 'skip_loading')
     tinc_test_suite = tinc_test_loader.discover(
         start_dirs=[test_dir],
         patterns=['test_load_with_*.py'],
         top_level_dir=test_dir)
     with closing(_WritelnDecorator(StringIO())) as buffer:
         tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1)
         tinc_test_suite.run(tinc_test_result)
         # This should have run 2 tests as test_01
         # would have been skipped loading at the base class with decorator
         self.assertEquals(tinc_test_result.testsRun, 2)
예제 #6
0
 def test_discover_with_invalid_imports(self):
     tinc_test_loader = tinctest.TINCTestLoader()
     pwd = os.path.dirname(inspect.getfile(self.__class__))
     test_dir = os.path.join(pwd, 'data_provider')
     tinc_test_suite = tinc_test_loader.discover(start_dirs = [test_dir],
                                                 patterns = ['discover_invalid_imports.py'],
                                                 top_level_dir = test_dir)
                                       
     self.assertEquals(len(tinc_test_suite._tests), 1)
     with closing(_WritelnDecorator(StringIO())) as buffer:
         tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1)
         tinc_test_suite.run(tinc_test_result)
         # This should have thrown a ModuleImportFailure error
         self.assertTrue('ModuleImportFailure' in str(tinc_test_result.errors[0][0]))
예제 #7
0
 def test_suite_construction_with_discover_and_tinc_queries(self):
     tinc_test_loader = tinctest.TINCTestLoader()
     pwd = os.path.dirname(inspect.getfile(self.__class__))
     test_dir = os.path.join(pwd, 'data_provider')
     query_handler = TINCDiscoveryQueryHandler("tags=tag1")
     tinc_test_suite = tinc_test_loader.discover(
         start_dirs=[test_dir],
         patterns=['test_*.py'],
         top_level_dir=test_dir,
         query_handler=query_handler)
     with closing(_WritelnDecorator(StringIO())) as buffer:
         tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1)
         tinc_test_suite.run(tinc_test_result)
         # This should have filtered 4 tests and hence run 7 tests
         self.assertEquals(tinc_test_result.testsRun, 7)
예제 #8
0
    def test_run_test_with_data_provider_verify_data(self):
        tinc_test_loader = tinctest.TINCTestLoader()
        tinc_test_suite = tinc_test_loader.loadTestsFromName(
            'tinctest.test.test_data_provider.MockTINCTestCaseWithDataProviderFailure.test_failure_with_data_provider'
        )
        for test in tinc_test_suite._tests:
            test.__class__.__unittest_skip__ = False

        pwd = os.path.dirname(inspect.getfile(self.__class__))
        for file in os.listdir(pwd):
            if fnmatch.fnmatch(file, '*.out'):
                os.remove(os.path.join(pwd, file))

        test_file1 = os.path.join(pwd, 'type1.out')
        test_file2 = os.path.join(pwd, 'type2.out')
        with closing(_WritelnDecorator(StringIO())) as buffer:
            tinc_test_result = tinctest.TINCTestResultSet(buffer, True, 1)
            tinc_test_suite.run(tinc_test_result)
            # This should have run two tests
            self.assertEquals(tinc_test_result.testsRun, 2)
            self.assertEquals(len(tinc_test_result.failures), 2)
            self.assertTrue(os.path.exists(test_file1))
            self.assertTrue(os.path.exists(test_file2))