Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(229)

Unified Diff: tools/telemetry/third_party/typ/typ/tests/main_test.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/typ/typ/tests/main_test.py
diff --git a/tools/telemetry/third_party/typ/typ/tests/main_test.py b/tools/telemetry/third_party/typ/typ/tests/main_test.py
deleted file mode 100644
index 7a2d179ca1780d1425a33522bbb348a589b4232f..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/typ/typ/tests/main_test.py
+++ /dev/null
@@ -1,694 +0,0 @@
-# Copyright 2014 Dirk Pranke. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import io
-import json
-import os
-import sys
-import textwrap
-
-
-from typ import main
-from typ import test_case
-from typ import Host
-from typ import VERSION
-from typ.fakes import test_result_server_fake
-
-
-is_python3 = bool(sys.version_info.major == 3)
-
-if is_python3: # pragma: python3
- # pylint: disable=redefined-builtin,invalid-name
- unicode = str
-
-d = textwrap.dedent
-
-
-PASS_TEST_PY = """
-import unittest
-class PassingTest(unittest.TestCase):
- def test_pass(self):
- pass
-"""
-
-
-PASS_TEST_FILES = {'pass_test.py': PASS_TEST_PY}
-
-
-FAIL_TEST_PY = """
-import unittest
-class FailingTest(unittest.TestCase):
- def test_fail(self):
- self.fail()
-"""
-
-
-FAIL_TEST_FILES = {'fail_test.py': FAIL_TEST_PY}
-
-
-OUTPUT_TEST_PY = """
-import sys
-import unittest
-
-class PassTest(unittest.TestCase):
- def test_out(self):
- sys.stdout.write("hello on stdout\\n")
- sys.stdout.flush()
-
- def test_err(self):
- sys.stderr.write("hello on stderr\\n")
-
-class FailTest(unittest.TestCase):
- def test_out_err_fail(self):
- sys.stdout.write("hello on stdout\\n")
- sys.stdout.flush()
- sys.stderr.write("hello on stderr\\n")
- self.fail()
-"""
-
-
-OUTPUT_TEST_FILES = {'output_test.py': OUTPUT_TEST_PY}
-
-
-SF_TEST_PY = """
-import sys
-import unittest
-
-class SkipMethods(unittest.TestCase):
- @unittest.skip('reason')
- def test_reason(self):
- self.fail()
-
- @unittest.skipIf(True, 'reason')
- def test_skip_if_true(self):
- self.fail()
-
- @unittest.skipIf(False, 'reason')
- def test_skip_if_false(self):
- self.fail()
-
-
-class SkipSetup(unittest.TestCase):
- def setUp(self):
- self.skipTest('setup failed')
-
- def test_notrun(self):
- self.fail()
-
-
-@unittest.skip('skip class')
-class SkipClass(unittest.TestCase):
- def test_method(self):
- self.fail()
-
-class SetupClass(unittest.TestCase):
- @classmethod
- def setUpClass(cls):
- sys.stdout.write('in setupClass\\n')
- sys.stdout.flush()
- assert False, 'setupClass failed'
-
- def test_method1(self):
- pass
-
- def test_method2(self):
- pass
-
-class ExpectedFailures(unittest.TestCase):
- @unittest.expectedFailure
- def test_fail(self):
- self.fail()
-
- @unittest.expectedFailure
- def test_pass(self):
- pass
-"""
-
-
-SF_TEST_FILES = {'sf_test.py': SF_TEST_PY}
-
-
-LOAD_TEST_PY = """
-import unittest
-def load_tests(_, _2, _3):
- class BaseTest(unittest.TestCase):
- pass
-
- def method_fail(self):
- self.fail()
-
- def method_pass(self):
- pass
-
- setattr(BaseTest, "test_fail", method_fail)
- setattr(BaseTest, "test_pass", method_pass)
- suite = unittest.TestSuite()
- suite.addTest(BaseTest("test_fail"))
- suite.addTest(BaseTest("test_pass"))
- return suite
-"""
-
-
-LOAD_TEST_FILES = {'load_test.py': LOAD_TEST_PY}
-
-
-path_to_main = os.path.join(
- os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
- 'runner.py')
-
-
-class TestCli(test_case.MainTestCase):
- prog = [sys.executable, path_to_main]
- files_to_ignore = ['*.pyc']
-
- def test_bad_arg(self):
- self.check(['--bad-arg'], ret=2, out='',
- rerr='.*: error: unrecognized arguments: --bad-arg\n')
- self.check(['-help'], ret=2, out='',
- rerr=(".*: error: argument -h/--help: "
- "ignored explicit argument 'elp'\n"))
-
- def test_bad_metadata(self):
- self.check(['--metadata', 'foo'], ret=2, err='',
- out='Error: malformed --metadata "foo"\n')
-
- def test_basic(self):
- self.check([], files=PASS_TEST_FILES,
- ret=0,
- out=('[1/1] pass_test.PassingTest.test_pass passed\n'
- '1 test run, 0 failures.\n'), err='')
-
- def test_coverage(self):
- try:
- import coverage # pylint: disable=W0612
- files = {
- 'pass_test.py': PASS_TEST_PY,
- 'fail_test.py': FAIL_TEST_PY,
- }
- self.check(['-c', 'pass_test'], files=files, ret=0, err='',
- out=d("""\
- [1/1] pass_test.PassingTest.test_pass passed
- 1 test run, 0 failures.
-
- Name Stmts Miss Cover
- -------------------------------
- fail_test 4 4 0%
- pass_test 4 0 100%
- -------------------------------
- TOTAL 8 4 50%
- """))
- except ImportError: # pragma: no cover
- # We can never cover this line, since running coverage means
- # that import will succeed.
- self.check(['-c'], files=PASS_TEST_FILES, ret=1,
- out='Error: coverage is not installed\n', err='')
-
- def test_debugger(self):
- if sys.version_info.major == 3: # pragma: python3
- return
- else: # pragma: python2
- _, out, _, _ = self.check(['-d'], stdin='quit()\n',
- files=PASS_TEST_FILES, ret=0, err='')
- self.assertIn('(Pdb) ', out)
-
- def test_dryrun(self):
- self.check(['-n'], files=PASS_TEST_FILES, ret=0, err='',
- out=d("""\
- [1/1] pass_test.PassingTest.test_pass passed
- 1 test run, 0 failures.
- """))
-
- def test_error(self):
- files = {'err_test.py': d("""\
- import unittest
- class ErrTest(unittest.TestCase):
- def test_err(self):
- foo = bar
- """)}
- _, out, _, _ = self.check([''], files=files, ret=1, err='')
- self.assertIn('[1/1] err_test.ErrTest.test_err failed unexpectedly',
- out)
- self.assertIn('1 test run, 1 failure', out)
-
- def test_fail(self):
- _, out, _, _ = self.check([], files=FAIL_TEST_FILES, ret=1, err='')
- self.assertIn('fail_test.FailingTest.test_fail failed unexpectedly',
- out)
-
- def test_fail_then_pass(self):
- files = {'fail_then_pass_test.py': d("""\
- import unittest
- count = 0
- class FPTest(unittest.TestCase):
- def test_count(self):
- global count
- count += 1
- if count == 1:
- self.fail()
- """)}
- _, out, _, files = self.check(['--retry-limit', '3',
- '--write-full-results-to',
- 'full_results.json'],
- files=files, ret=0, err='')
- self.assertIn('Retrying failed tests (attempt #1 of 3)', out)
- self.assertNotIn('Retrying failed tests (attempt #2 of 3)', out)
- self.assertIn('1 test run, 0 failures.\n', out)
- results = json.loads(files['full_results.json'])
- self.assertEqual(
- results['tests'][
- 'fail_then_pass_test']['FPTest']['test_count']['actual'],
- 'FAIL PASS')
-
- def test_failures_are_not_elided(self):
- _, out, _, _ = self.check(['--terminal-width=20'],
- files=FAIL_TEST_FILES, ret=1, err='')
- self.assertIn('[1/1] fail_test.FailingTest.test_fail failed '
- 'unexpectedly:\n', out)
-
- def test_file_list(self):
- files = PASS_TEST_FILES
- self.check(['-f', '-'], files=files, stdin='pass_test\n', ret=0)
- self.check(['-f', '-'], files=files, stdin='pass_test.PassingTest\n',
- ret=0)
- self.check(['-f', '-'], files=files,
- stdin='pass_test.PassingTest.test_pass\n',
- ret=0)
- files = {'pass_test.py': PASS_TEST_PY,
- 'test_list.txt': 'pass_test.PassingTest.test_pass\n'}
- self.check(['-f', 'test_list.txt'], files=files, ret=0)
-
- def test_find(self):
- files = PASS_TEST_FILES
- self.check(['-l'], files=files, ret=0,
- out='pass_test.PassingTest.test_pass\n')
- self.check(['-l', 'pass_test'], files=files, ret=0, err='',
- out='pass_test.PassingTest.test_pass\n')
- self.check(['-l', 'pass_test.py'], files=files, ret=0, err='',
- out='pass_test.PassingTest.test_pass\n')
- self.check(['-l', './pass_test.py'], files=files, ret=0, err='',
- out='pass_test.PassingTest.test_pass\n')
- self.check(['-l', '.'], files=files, ret=0, err='',
- out='pass_test.PassingTest.test_pass\n')
- self.check(['-l', 'pass_test.PassingTest.test_pass'], files=files,
- ret=0, err='',
- out='pass_test.PassingTest.test_pass\n')
- self.check(['-l', '.'], files=files, ret=0, err='',
- out='pass_test.PassingTest.test_pass\n')
-
- def test_find_from_subdirs(self):
- files = {
- 'foo/__init__.py': '',
- 'foo/pass_test.py': PASS_TEST_PY,
- 'bar/__init__.py': '',
- 'bar/tmp': '',
-
- }
- self.check(['-l', '../foo/pass_test.py'], files=files, cwd='bar',
- ret=0, err='',
- out='foo.pass_test.PassingTest.test_pass\n')
- self.check(['-l', 'foo'], files=files, cwd='bar',
- ret=0, err='',
- out='foo.pass_test.PassingTest.test_pass\n')
- self.check(['-l', '--path', '../foo', 'pass_test'],
- files=files, cwd='bar', ret=0, err='',
- out='pass_test.PassingTest.test_pass\n')
-
- def test_help(self):
- self.check(['--help'], ret=0, rout='.*', err='')
-
- def test_import_failure_missing_file(self):
- self.check(['-l', 'foo'], ret=1, err='',
- rout='Failed to load "foo".*')
-
- def test_import_failure_missing_package(self):
- files = {'foo.py': d("""\
- import unittest
- import package_that_does_not_exist
-
- class ImportFailureTest(unittest.TestCase):
- def test_case(self):
- pass
- """)}
- self.check(['-l', 'foo.py'], files=files, ret=1, err='',
- rout=('Failed to load "foo.py": No module named '
- '\'?package_that_does_not_exist\'?\n'))
-
- def test_import_failure_no_tests(self):
- files = {'foo.py': 'import unittest'}
- self.check(['-l', 'foo.bar'], files=files, ret=1, err='',
- rout='Failed to load "foo.bar":.*')
-
- def test_import_failure_syntax_error(self):
- files = {'syn_test.py': d("""\
- import unittest
-
- class SyntaxErrorTest(unittest.TestCase):
- def test_syntax_error_in_test(self):
- syntax error
- """)}
- _, out, _, _ = self.check([], files=files, ret=1, err='')
- self.assertIn('Failed to import test module: syn_test', out)
- self.assertIn((' syntax error\n'
- ' ^\n'
- 'SyntaxError: invalid syntax\n'), out)
-
- def test_interrupt(self):
- files = {'interrupt_test.py': d("""\
- import unittest
- class Foo(unittest.TestCase):
- def test_interrupt(self):
- raise KeyboardInterrupt()
- """)}
- self.check(['-j', '1'], files=files, ret=130, out='',
- err='interrupted, exiting\n')
-
- def test_isolate(self):
- self.check(['--isolate', '*test_pass*'], files=PASS_TEST_FILES, ret=0,
- out=('[1/1] pass_test.PassingTest.test_pass passed\n'
- '1 test run, 0 failures.\n'), err='')
-
- def test_load_tests_failure(self):
- files = {'foo_test.py': d("""\
- import unittest
-
- def load_tests(_, _2, _3):
- raise ValueError('this should fail')
- """)}
- self.check([], files=files, ret=1, err='',
- out=('foo_test.load_tests() failed: this should fail\n'))
-
- def test_load_tests_single_worker(self):
- files = LOAD_TEST_FILES
- _, out, _, _ = self.check(['-j', '1', '-v'], files=files, ret=1,
- err='')
- self.assertIn('[1/2] load_test.BaseTest.test_fail failed', out)
- self.assertIn('[2/2] load_test.BaseTest.test_pass passed', out)
- self.assertIn('2 tests run, 1 failure.\n', out)
-
- def test_load_tests_multiple_workers(self):
- _, out, _, _ = self.check([], files=LOAD_TEST_FILES, ret=1, err='')
-
- # The output for this test is nondeterministic since we may run
- # two tests in parallel. So, we just test that some of the substrings
- # we care about are present.
- self.assertIn('test_pass passed', out)
- self.assertIn('test_fail failed', out)
- self.assertIn('2 tests run, 1 failure.\n', out)
-
- def test_missing_builder_name(self):
- self.check(['--test-results-server', 'localhost'], ret=2,
- out=('Error: --builder-name must be specified '
- 'along with --test-result-server\n'
- 'Error: --master-name must be specified '
- 'along with --test-result-server\n'
- 'Error: --test-type must be specified '
- 'along with --test-result-server\n'), err='')
-
- def test_ninja_status_env(self):
- self.check(['-v', 'output_test.PassTest.test_out'],
- files=OUTPUT_TEST_FILES, aenv={'NINJA_STATUS': 'ns: '},
- out=d("""\
- ns: output_test.PassTest.test_out passed
- 1 test run, 0 failures.
- """), err='')
-
- def test_output_for_failures(self):
- _, out, _, _ = self.check(['output_test.FailTest'],
- files=OUTPUT_TEST_FILES,
- ret=1, err='')
- self.assertIn('[1/1] output_test.FailTest.test_out_err_fail '
- 'failed unexpectedly:\n'
- ' hello on stdout\n'
- ' hello on stderr\n', out)
-
- def test_quiet(self):
- self.check(['-q'], files=PASS_TEST_FILES, ret=0, err='', out='')
-
- def test_retry_limit(self):
- _, out, _, _ = self.check(['--retry-limit', '2'],
- files=FAIL_TEST_FILES, ret=1, err='')
- self.assertIn('Retrying failed tests', out)
- lines = out.splitlines()
- self.assertEqual(len([l for l in lines
- if 'test_fail failed unexpectedly:' in l]),
- 3)
-
- def test_skip(self):
- self.check(['--skip', '*test_fail*'], files=FAIL_TEST_FILES, ret=1,
- out='No tests to run.\n', err='')
-
- files = {'fail_test.py': FAIL_TEST_PY,
- 'pass_test.py': PASS_TEST_PY}
- self.check(['-j', '1', '--skip', '*test_fail*'], files=files, ret=0,
- out=('[1/2] fail_test.FailingTest.test_fail was skipped\n'
- '[2/2] pass_test.PassingTest.test_pass passed\n'
- '2 tests run, 0 failures.\n'), err='')
-
- # This tests that we print test_started updates for skipped tests
- # properly. It also tests how overwriting works.
- _, out, _, _ = self.check(['-j', '1', '--overwrite', '--skip',
- '*test_fail*'], files=files, ret=0,
- err='', universal_newlines=False)
-
- # We test this string separately and call out.strip() to
- # avoid the trailing \r\n we get on windows, while keeping
- # the \r's elsewhere in the string.
- self.assertMultiLineEqual(
- out.strip(),
- ('[0/2] fail_test.FailingTest.test_fail\r'
- ' \r'
- '[1/2] fail_test.FailingTest.test_fail was skipped\r'
- ' \r'
- '[1/2] pass_test.PassingTest.test_pass\r'
- ' \r'
- '[2/2] pass_test.PassingTest.test_pass passed\r'
- ' \r'
- '2 tests run, 0 failures.'))
-
- def test_skips_and_failures(self):
- _, out, _, _ = self.check(['-j', '1', '-v', '-v'], files=SF_TEST_FILES,
- ret=1, err='')
-
- # We do a bunch of assertIn()'s to work around the non-portable
- # tracebacks.
- self.assertIn(('[1/9] sf_test.ExpectedFailures.test_fail failed:\n'
- ' Traceback '), out)
- self.assertIn(('[2/9] sf_test.ExpectedFailures.test_pass '
- 'passed unexpectedly'), out)
- self.assertIn(('[3/9] sf_test.SetupClass.test_method1 '
- 'failed unexpectedly:\n'
- ' in setupClass\n'), out)
- self.assertIn(('[4/9] sf_test.SetupClass.test_method2 '
- 'failed unexpectedly:\n'
- ' in setupClass\n'), out)
- self.assertIn(('[5/9] sf_test.SkipClass.test_method was skipped:\n'
- ' skip class\n'), out)
- self.assertIn(('[6/9] sf_test.SkipMethods.test_reason was skipped:\n'
- ' reason\n'), out)
- self.assertIn(('[7/9] sf_test.SkipMethods.test_skip_if_false '
- 'failed unexpectedly:\n'
- ' Traceback'), out)
- self.assertIn(('[8/9] sf_test.SkipMethods.test_skip_if_true '
- 'was skipped:\n'
- ' reason\n'
- '[9/9] sf_test.SkipSetup.test_notrun was skipped:\n'
- ' setup failed\n'
- '9 tests run, 4 failures.\n'), out)
-
- def test_skip_and_all(self):
- # --all should override --skip
- self.check(['-l', '--skip', '*test_pass'],
- files=PASS_TEST_FILES, ret=1, err='',
- out='No tests to run.\n')
- self.check(['-l', '--all', '--skip', '*test_pass'],
- files=PASS_TEST_FILES, ret=0, err='',
- out='pass_test.PassingTest.test_pass\n')
-
- def test_skip_decorators_and_all(self):
- _, out, _, _ = self.check(['--all', '-j', '1', '-v', '-v'],
- files=SF_TEST_FILES, ret=1, err='')
- self.assertIn('sf_test.SkipClass.test_method failed', out)
- self.assertIn('sf_test.SkipMethods.test_reason failed', out)
- self.assertIn('sf_test.SkipMethods.test_skip_if_true failed', out)
- self.assertIn('sf_test.SkipMethods.test_skip_if_false failed', out)
-
- # --all does not override explicit calls to skipTest(), only
- # the decorators.
- self.assertIn('sf_test.SkipSetup.test_notrun was skipped', out)
-
- def test_subdir(self):
- files = {
- 'foo/__init__.py': '',
- 'foo/bar/__init__.py': '',
- 'foo/bar/pass_test.py': PASS_TEST_PY
- }
- self.check(['foo/bar'], files=files, ret=0, err='',
- out=d("""\
- [1/1] foo.bar.pass_test.PassingTest.test_pass passed
- 1 test run, 0 failures.
- """))
-
- def test_timing(self):
- self.check(['-t'], files=PASS_TEST_FILES, ret=0, err='',
- rout=(r'\[1/1\] pass_test.PassingTest.test_pass passed '
- r'\d+.\d+s\n'
- r'1 test run in \d+.\d+s, 0 failures.'))
-
- def test_test_results_server(self):
- server = test_result_server_fake.start()
- self.assertNotEqual(server, None, 'could not start fake server')
-
- try:
- self.check(['--test-results-server',
- '%s:%d' % server.server_address,
- '--master-name', 'fake_master',
- '--builder-name', 'fake_builder',
- '--test-type', 'typ_tests',
- '--metadata', 'foo=bar'],
- files=PASS_TEST_FILES, ret=0, err='',
- out=('[1/1] pass_test.PassingTest.test_pass passed\n'
- '1 test run, 0 failures.\n'))
-
- finally:
- posts = server.stop()
-
- self.assertEqual(len(posts), 1)
- payload = posts[0][2].decode('utf8')
- self.assertIn('"test_pass": {"expected": "PASS", "actual": "PASS"}',
- payload)
- self.assertTrue(payload.endswith('--\r\n'))
- self.assertNotEqual(server.log.getvalue(), '')
-
- def test_test_results_server_error(self):
- server = test_result_server_fake.start(code=500)
- self.assertNotEqual(server, None, 'could not start fake server')
-
- try:
- self.check(['--test-results-server',
- '%s:%d' % server.server_address,
- '--master-name', 'fake_master',
- '--builder-name', 'fake_builder',
- '--test-type', 'typ_tests',
- '--metadata', 'foo=bar'],
- files=PASS_TEST_FILES, ret=1, err='',
- out=('[1/1] pass_test.PassingTest.test_pass passed\n'
- '1 test run, 0 failures.\n'
- 'Uploading the JSON results raised '
- '"HTTP Error 500: Internal Server Error"\n'))
-
- finally:
- _ = server.stop()
-
- def test_test_results_server_not_running(self):
- self.check(['--test-results-server', 'localhost:99999',
- '--master-name', 'fake_master',
- '--builder-name', 'fake_builder',
- '--test-type', 'typ_tests',
- '--metadata', 'foo=bar'],
- files=PASS_TEST_FILES, ret=1, err='',
- rout=(r'\[1/1\] pass_test.PassingTest.test_pass passed\n'
- '1 test run, 0 failures.\n'
- 'Uploading the JSON results raised .*\n'))
-
- def test_verbose_2(self):
- self.check(['-vv', '-j', '1', 'output_test.PassTest'],
- files=OUTPUT_TEST_FILES, ret=0,
- out=d("""\
- [1/2] output_test.PassTest.test_err passed:
- hello on stderr
- [2/2] output_test.PassTest.test_out passed:
- hello on stdout
- 2 tests run, 0 failures.
- """), err='')
-
- def test_verbose_3(self):
- self.check(['-vvv', '-j', '1', 'output_test.PassTest'],
- files=OUTPUT_TEST_FILES, ret=0,
- out=d("""\
- [0/2] output_test.PassTest.test_err queued
- [1/2] output_test.PassTest.test_err passed:
- hello on stderr
- [1/2] output_test.PassTest.test_out queued
- [2/2] output_test.PassTest.test_out passed:
- hello on stdout
- 2 tests run, 0 failures.
- """), err='')
-
- def test_version(self):
- self.check('--version', ret=0, out=(VERSION + '\n'))
-
- def test_write_full_results_to(self):
- _, _, _, files = self.check(['--write-full-results-to',
- 'results.json'], files=PASS_TEST_FILES)
- self.assertIn('results.json', files)
- results = json.loads(files['results.json'])
- self.assertEqual(results['interrupted'], False)
- self.assertEqual(results['path_delimiter'], '.')
- self.assertEqual(results['tests'],
- {u'pass_test': {
- u'PassingTest': {
- u'test_pass': {
- u'actual': u'PASS',
- u'expected': u'PASS',
- }
- }
- }})
-
- def test_write_trace_to(self):
- _, _, _, files = self.check(['--write-trace-to', 'trace.json'],
- files=PASS_TEST_FILES)
- self.assertIn('trace.json', files)
- trace_obj = json.loads(files['trace.json'])
- self.assertEqual(trace_obj['otherData'], {})
- self.assertEqual(len(trace_obj['traceEvents']), 5)
- event = trace_obj['traceEvents'][0]
- self.assertEqual(event['name'], 'pass_test.PassingTest.test_pass')
- self.assertEqual(event['ph'], 'X')
- self.assertEqual(event['tid'], 1)
- self.assertEqual(event['args']['expected'], ['Pass'])
- self.assertEqual(event['args']['actual'], 'Pass')
-
-
-class TestMain(TestCli):
- prog = []
-
- def make_host(self):
- return Host()
-
- def call(self, host, argv, stdin, env):
- stdin = unicode(stdin)
- host.stdin = io.StringIO(stdin)
- if env:
- host.getenv = env.get
- host.capture_output()
- orig_sys_path = sys.path[:]
- orig_sys_modules = list(sys.modules.keys())
-
- try:
- ret = main(argv + ['-j', '1'], host)
- finally:
- out, err = host.restore_output()
- modules_to_unload = []
- for k in sys.modules:
- if k not in orig_sys_modules:
- modules_to_unload.append(k)
- for k in modules_to_unload:
- del sys.modules[k]
- sys.path = orig_sys_path
-
- return ret, out, err
-
- def test_debugger(self):
- # TODO: this test seems to hang under coverage.
- pass
« no previous file with comments | « tools/telemetry/third_party/typ/typ/tests/json_results_test.py ('k') | tools/telemetry/third_party/typ/typ/tests/pool_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698