| Index: Tools/Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py
|
| diff --git a/Tools/Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py b/Tools/Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py
|
| index 13187e3ece79a6ee9bb802720d49c8fb654dc986..1f7babfd67e733ef747d644d1a0431e5b508ffca 100644
|
| --- a/Tools/Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py
|
| +++ b/Tools/Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py
|
| @@ -72,7 +72,7 @@ class FakeFactory(object):
|
| for port in ports:
|
| self.ports[port.name] = port
|
|
|
| - def get(self, port_name, *args, **kwargs): # pylint: disable=W0613,E0202
|
| + def get(self, port_name='a', *args, **kwargs): # pylint: disable=W0613,E0202
|
| return self.ports[port_name]
|
|
|
| def all_port_names(self, platform=None): # pylint: disable=W0613,E0202
|
| @@ -89,7 +89,11 @@ class LintTest(unittest.TestCase):
|
|
|
| logging_stream = StringIO.StringIO()
|
| options = optparse.Values({'platform': None})
|
| - res = lint_test_expectations.lint(host, options, logging_stream)
|
| + logger, handler = lint_test_expectations.set_up_logging(logging_stream)
|
| + try:
|
| + res = lint_test_expectations.lint(host, options)
|
| + finally:
|
| + lint_test_expectations.tear_down_logging(logger, handler)
|
| self.assertEqual(res, 0)
|
| self.assertEqual(host.ports_parsed, ['a', 'b', 'b-win'])
|
|
|
| @@ -102,10 +106,13 @@ class LintTest(unittest.TestCase):
|
| # FIXME: incorrect complaints about spacing pylint: disable=C0322
|
| host.port_factory.all_port_names = lambda platform=None: [platform]
|
|
|
| - res = lint_test_expectations.lint(host, options, logging_stream)
|
| + logger, handler = lint_test_expectations.set_up_logging(logging_stream)
|
| + try:
|
| + res = lint_test_expectations.lint(host, options)
|
| + self.assertEqual(res, 0)
|
| + finally:
|
| + lint_test_expectations.tear_down_logging(logger, handler)
|
|
|
| - self.assertEqual(res, 0)
|
| - self.assertIn('Lint succeeded', logging_stream.getvalue())
|
|
|
| def test_lint_test_files__errors(self):
|
| options = optparse.Values({'platform': 'test', 'debug_rwt_logging': False})
|
| @@ -119,42 +126,75 @@ class LintTest(unittest.TestCase):
|
| host.port_factory.all_port_names = lambda platform=None: [port.name()]
|
|
|
| logging_stream = StringIO.StringIO()
|
| + logger, handler = lint_test_expectations.set_up_logging(logging_stream)
|
| + try:
|
| + res = lint_test_expectations.lint(host, options)
|
| + finally:
|
| + lint_test_expectations.tear_down_logging(logger, handler)
|
|
|
| - res = lint_test_expectations.lint(host, options, logging_stream)
|
| -
|
| - self.assertEqual(res, -1)
|
| - self.assertIn('Lint failed', logging_stream.getvalue())
|
| + self.assertTrue(res)
|
| self.assertIn('foo:1', logging_stream.getvalue())
|
| self.assertIn('bar:1', logging_stream.getvalue())
|
|
|
|
|
| +class CheckVirtualSuiteTest(unittest.TestCase):
|
| + def test_check_virtual_test_suites(self):
|
| + host = MockHost()
|
| + options = optparse.Values({'platform': 'test', 'debug_rwt_logging': False})
|
| + orig_get = host.port_factory.get
|
| + host.port_factory.get = lambda options: orig_get('test', options=options)
|
| +
|
| + logging_stream = StringIO.StringIO()
|
| + logger, handler = lint_test_expectations.set_up_logging(logging_stream)
|
| + try:
|
| + res = lint_test_expectations.check_virtual_test_suites(host, options)
|
| + self.assertTrue(res)
|
| +
|
| + host.filesystem.exists = lambda path: True
|
| + res = lint_test_expectations.check_virtual_test_suites(host, options)
|
| + self.assertFalse(res)
|
| + finally:
|
| + lint_test_expectations.tear_down_logging(logger, handler)
|
| +
|
| +
|
| class MainTest(unittest.TestCase):
|
| - def test_success(self):
|
| - orig_lint_fn = lint_test_expectations.lint
|
| + # unused args pylint: disable=W0613
|
|
|
| - # unused args pylint: disable=W0613
|
| - def interrupting_lint(host, options, logging_stream):
|
| - raise KeyboardInterrupt
|
| + def setUp(self):
|
| + self.orig_lint_fn = lint_test_expectations.lint
|
| + self.orig_check_fn = lint_test_expectations.check_virtual_test_suites
|
| + lint_test_expectations.check_virtual_test_suites = lambda host, options: False
|
|
|
| - def successful_lint(host, options, logging_stream):
|
| - return 0
|
| + self.stdout = StringIO.StringIO()
|
| + self.stderr = StringIO.StringIO()
|
|
|
| - def exception_raising_lint(host, options, logging_stream):
|
| - assert False
|
| + def tearDown(self):
|
| + lint_test_expectations.lint = self.orig_lint_fn
|
| + lint_test_expectations.check_virtual_test_suites = self.orig_check_fn
|
|
|
| - stdout = StringIO.StringIO()
|
| - stderr = StringIO.StringIO()
|
| - try:
|
| - lint_test_expectations.lint = interrupting_lint
|
| - res = lint_test_expectations.main([], stdout, stderr)
|
| - self.assertEqual(res, lint_test_expectations.INTERRUPTED_EXIT_STATUS)
|
| + def test_success(self):
|
| + lint_test_expectations.lint = lambda host, options: False
|
| + res = lint_test_expectations.main(['--platform', 'test'], self.stdout, self.stderr)
|
| + self.assertTrue('Lint succeeded' in self.stderr.getvalue())
|
| + self.assertEqual(res, 0)
|
|
|
| - lint_test_expectations.lint = successful_lint
|
| - res = lint_test_expectations.main(['--platform', 'test'], stdout, stderr)
|
| - self.assertEqual(res, 0)
|
| + def test_failure(self):
|
| + lint_test_expectations.lint = lambda host, options: True
|
| + res = lint_test_expectations.main(['--platform', 'test'], self.stdout, self.stderr)
|
| + self.assertTrue('Lint failed' in self.stderr.getvalue())
|
| + self.assertEqual(res, 1)
|
|
|
| - lint_test_expectations.lint = exception_raising_lint
|
| - res = lint_test_expectations.main([], stdout, stderr)
|
| - self.assertEqual(res, lint_test_expectations.EXCEPTIONAL_EXIT_STATUS)
|
| - finally:
|
| - lint_test_expectations.lint = orig_lint_fn
|
| + def test_interrupt(self):
|
| + def interrupting_lint(host, options):
|
| + raise KeyboardInterrupt
|
| +
|
| + lint_test_expectations.lint = interrupting_lint
|
| + res = lint_test_expectations.main([], self.stdout, self.stderr)
|
| + self.assertEqual(res, lint_test_expectations.INTERRUPTED_EXIT_STATUS)
|
| +
|
| + def test_exception(self):
|
| + def exception_raising_lint(host, options):
|
| + assert False
|
| + lint_test_expectations.lint = exception_raising_lint
|
| + res = lint_test_expectations.main([], self.stdout, self.stderr)
|
| + self.assertEqual(res, lint_test_expectations.EXCEPTIONAL_EXIT_STATUS)
|
|
|