OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import unittest | 5 import unittest |
6 | 6 |
7 from mopy.gtest_list_tests import gtest_list_tests | 7 from mopy.gtest_list_tests import gtest_list_tests |
8 | 8 |
9 class GTestListTestsTest(unittest.TestCase): | 9 class GTestListTestsTest(unittest.TestCase): |
10 """Tests |gtest_list_tests()| handling of --gtest_list_tests output.""" | 10 """Tests |gtest_list_tests()| handling of --gtest_list_tests output.""" |
11 | 11 |
12 def testSingleSuiteAndFixture(self): | 12 def testSingleSuiteAndFixture(self): |
13 """Tests a single suite with a single fixture.""" | 13 """Tests a single suite with a single fixture.""" |
14 gtest_output = "TestSuite.\n TestFixture1" | 14 gtest_output = "TestSuite.\n TestFixture\n" |
15 expected_test_list = ["TestSuite.TestFixture1"] | 15 expected_test_list = ["TestSuite.TestFixture"] |
16 self.assertEquals(gtest_list_tests(gtest_output), expected_test_list) | |
17 | |
18 def testExtraBlankLinesAndSpaces(self): | |
19 """Tests handling of extra blank lines and extra spaces before fixtures.""" | |
20 gtest_output = "TestSuite.\n\n TestFixture1\n\n" | |
21 expected_test_list = ["TestSuite.TestFixture1"] | |
22 self.assertEquals(gtest_list_tests(gtest_output), expected_test_list) | 16 self.assertEquals(gtest_list_tests(gtest_output), expected_test_list) |
23 | 17 |
24 def testWindowsNewlines(self): | 18 def testWindowsNewlines(self): |
25 """Tests handling of \r\n newlines.""" | 19 """Tests handling of \r\n newlines.""" |
26 gtest_output = "TestSuite.\r\n TestFixture1\r\n" | 20 gtest_output = "TestSuite.\r\n TestFixture1\r\n" |
27 expected_test_list = ["TestSuite.TestFixture1"] | 21 expected_test_list = ["TestSuite.TestFixture1"] |
28 self.assertEquals(gtest_list_tests(gtest_output), expected_test_list) | 22 self.assertEquals(gtest_list_tests(gtest_output), expected_test_list) |
29 | 23 |
30 def testSingleSuiteAndMultipleFixtures(self): | 24 def testSingleSuiteAndMultipleFixtures(self): |
31 """Tests a single suite with multiple fixtures.""" | 25 """Tests a single suite with multiple fixtures.""" |
32 gtest_output = "TestSuite.\n TestFixture1\n TestFixture2" | 26 gtest_output = "TestSuite.\n TestFixture1\n TestFixture2\n" |
33 expected_test_list = ["TestSuite.TestFixture1", "TestSuite.TestFixture2"] | 27 expected_test_list = ["TestSuite.TestFixture1", "TestSuite.TestFixture2"] |
34 self.assertEquals(gtest_list_tests(gtest_output), expected_test_list) | 28 self.assertEquals(gtest_list_tests(gtest_output), expected_test_list) |
35 | 29 |
36 def testMultipleSuitesAndFixtures(self): | 30 def testMultipleSuitesAndFixtures(self): |
37 """Tests multiple suites each with multiple fixtures.""" | 31 """Tests multiple suites each with multiple fixtures.""" |
38 gtest_output = ("TestSuite1.\n TestFixture1\n TestFixture2\n" | 32 gtest_output = ("TestSuite1.\n TestFixture1\n TestFixture2\n" |
39 "TestSuite2.\n TestFixtureA\n TestFixtureB\n") | 33 "TestSuite2.\n TestFixtureA\n TestFixtureB\n") |
40 expected_test_list = ["TestSuite1.TestFixture1", "TestSuite1.TestFixture2", | 34 expected_test_list = ["TestSuite1.TestFixture1", "TestSuite1.TestFixture2", |
41 "TestSuite2.TestFixtureA", "TestSuite2.TestFixtureB"] | 35 "TestSuite2.TestFixtureA", "TestSuite2.TestFixtureB"] |
42 self.assertEquals(gtest_list_tests(gtest_output), expected_test_list) | 36 self.assertEquals(gtest_list_tests(gtest_output), expected_test_list) |
43 | 37 |
| 38 def testUnrecognizedFormats(self): |
| 39 """Tests examples of unrecognized --gtest_list_tests output.""" |
| 40 self.assertRaises(Exception, gtest_list_tests, "Foo") |
| 41 self.assertRaises(Exception, gtest_list_tests, "Foo\n") |
| 42 self.assertRaises(Exception, gtest_list_tests, "Foo.Bar\n") |
| 43 self.assertRaises(Exception, gtest_list_tests, "Foo.\nBar\n") |
| 44 self.assertRaises(Exception, gtest_list_tests, "Foo.\r\nBar\r\nGaz\r\n") |
| 45 self.assertRaises(Exception, gtest_list_tests, "Foo.\nBar.\n Gaz\n") |
| 46 |
| 47 |
44 if __name__ == "__main__": | 48 if __name__ == "__main__": |
45 unittest.main() | 49 unittest.main() |
OLD | NEW |