def test_reorder_tests(self):
     # Tests can optionally be ordered by id.
     layername = 'layer-1'
     testnames = ['d', 'c', 'a']
     suite = self.make_suite()
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name, reorder_tests=True)
         results = do_filter({layername: suite})
     suite = results[layername]
     self.assertEqual(sorted(testnames), [t.id() for t in suite])
Beispiel #2
0
 def test_reorder_tests(self):
     # Tests can optionally be ordered by id.
     layername = 'layer-1'
     testnames = ['d', 'c', 'a']
     suite = self.make_suite()
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name, reorder_tests=True)
         results = do_filter({layername: suite})
     suite = results[layername]
     self.assertEqual(sorted(testnames), [t.id() for t in suite])
Beispiel #3
0
 def test_layer_separation(self):
     # Tests must be kept in their layer.
     suite1, suite2 = self.make_suites()
     testnames = ['a', 'b', 'c', 'z', 'y', 'x']
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name)
         results = do_filter({'layer1': suite1, 'layer2': suite2})
     self.assertEqual(2, len(results))
     self.assertEqual(['layer1', 'layer2'], sorted(results.keys()))
     self.assertEqual(['a', 'b', 'c'], [t.id() for t in results['layer1']])
     self.assertEqual(['z', 'y', 'x'], [t.id() for t in results['layer2']])
Beispiel #4
0
 def test_no_layer(self):
     # If tests have no layer (None) work.
     testnames = ['a', 'b', 'y', 'z']
     suite1, suite2 = self.make_suites()
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name)
         results = do_filter({'layer1': suite1, None: suite2})
     self.assertEqual(2, len(results))
     self.assertEqual([None, 'layer1'], sorted(results.keys()))
     self.assertEqual(['a', 'b'], [t.id() for t in results['layer1']])
     self.assertEqual(['y', 'z'], [t.id() for t in results[None]])
 def test_layer_separation(self):
     # Tests must be kept in their layer.
     suite1, suite2 = self.make_suites()
     testnames = ['a', 'b', 'c', 'z', 'y', 'x']
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name)
         results = do_filter({'layer1': suite1,
                              'layer2': suite2})
     self.assertEqual(2, len(results))
     self.assertEqual(['layer1', 'layer2'], sorted(results.keys()))
     self.assertEqual(['a', 'b', 'c'], [t.id() for t in results['layer1']])
     self.assertEqual(['z', 'y', 'x'], [t.id() for t in results['layer2']])
 def test_ordering(self):
     # Tests should be returned in the order seen in the testfile.
     layername = 'layer-1'
     testnames = ['d', 'c', 'a']
     suite = self.make_suite()
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name)
         results = do_filter({layername: suite})
     self.assertEqual(1, len(results))
     self.assertIn(layername, results)
     suite = results[layername]
     self.assertEqual(testnames, [t.id() for t in suite])
 def test_no_layer(self):
     # If tests have no layer (None) work.
     testnames = ['a', 'b', 'y', 'z']
     suite1, suite2 = self.make_suites()
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name)
         results = do_filter({'layer1': suite1,
                              None: suite2})
     self.assertEqual(2, len(results))
     self.assertEqual([None, 'layer1'], sorted(results.keys()))
     self.assertEqual(['a', 'b'], [t.id() for t in results['layer1']])
     self.assertEqual(['y', 'z'], [t.id() for t in results[None]])
Beispiel #8
0
 def test_ordering(self):
     # Tests should be returned in the order seen in the testfile.
     layername = 'layer-1'
     testnames = ['d', 'c', 'a']
     suite = self.make_suite()
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name)
         results = do_filter({layername: suite})
     self.assertEqual(1, len(results))
     self.assertIn(layername, results)
     suite = results[layername]
     self.assertEqual(testnames, [t.id() for t in suite])
 def test_repeated_names(self):
     # Some doctests are run repeatedly with different scenarios.  They
     # have the same name but different testcases.  Those tests must not be
     # collapsed and lost.
     layername = 'layer-1'
     testnames = ['1', '2', '3']
     suite = self.make_repeated_suite(testnames)
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name)
         results = do_filter({layername: suite})
     self.assertEqual(1, len(results))
     self.assertIn(layername, results)
     suite = results[layername]
     expected = ['1', '2', '2', '3', '3', '3']
     self.assertEqual(expected, [t.id() for t in suite])
Beispiel #10
0
 def test_repeated_names(self):
     # Some doctests are run repeatedly with different scenarios.  They
     # have the same name but different testcases.  Those tests must not be
     # collapsed and lost.
     layername = 'layer-1'
     testnames = ['1', '2', '3']
     suite = self.make_repeated_suite(testnames)
     with tempfile.NamedTemporaryFile() as f:
         self.writeFile(f, testnames)
         do_filter = filter_tests(f.name)
         results = do_filter({layername: suite})
     self.assertEqual(1, len(results))
     self.assertIn(layername, results)
     suite = results[layername]
     expected = ['1', '2', '2', '3', '3', '3']
     self.assertEqual(expected, [t.id() for t in suite])
    def test_repeated_names_different_layers(self):
        # Some doctests are run repeatedly with different scenarios, including
        # being included in different layers.
        testnames = ['a', 'b', 'c']
        suite = self.make_suites()[0]

        with tempfile.NamedTemporaryFile() as f:
            self.writeFile(f, testnames)
            do_filter = filter_tests(f.name)
            results = do_filter({'layer1': suite,
                                 'layer2': suite,
                                 'layer3': suite})

        self.assertEqual(3, len(results))
        self.assertEqual(
            ['layer1', 'layer2', 'layer3'], sorted(results.keys()))
        self.assertEqual(['a', 'b', 'c'], [t.id() for t in results['layer1']])
        self.assertEqual(['a', 'b', 'c'], [t.id() for t in results['layer2']])
        self.assertEqual(['a', 'b', 'c'], [t.id() for t in results['layer3']])
Beispiel #12
0
    def test_repeated_names_different_layers(self):
        # Some doctests are run repeatedly with different scenarios, including
        # being included in different layers.
        testnames = ['a', 'b', 'c']
        suite = self.make_suites()[0]

        with tempfile.NamedTemporaryFile() as f:
            self.writeFile(f, testnames)
            do_filter = filter_tests(f.name)
            results = do_filter({
                'layer1': suite,
                'layer2': suite,
                'layer3': suite
            })

        self.assertEqual(3, len(results))
        self.assertEqual(['layer1', 'layer2', 'layer3'],
                         sorted(results.keys()))
        self.assertEqual(['a', 'b', 'c'], [t.id() for t in results['layer1']])
        self.assertEqual(['a', 'b', 'c'], [t.id() for t in results['layer2']])
        self.assertEqual(['a', 'b', 'c'], [t.id() for t in results['layer3']])
Beispiel #13
0
 def load_list(option, opt_str, list_name, parser):
     patch_find_tests(filter_tests(list_name, '--shuffle' in sys.argv))