| Index: tools/telemetry/third_party/typ/typ/test_case.py
|
| diff --git a/tools/telemetry/third_party/typ/typ/test_case.py b/tools/telemetry/third_party/typ/typ/test_case.py
|
| deleted file mode 100644
|
| index d709a579c361b8dc1f122d0b05af3642b12b21c8..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/third_party/typ/typ/test_case.py
|
| +++ /dev/null
|
| @@ -1,127 +0,0 @@
|
| -# Copyright 2014 Google Inc. 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 fnmatch
|
| -import shlex
|
| -import unittest
|
| -
|
| -
|
| -def convert_newlines(msg):
|
| - """A routine that mimics Python's universal_newlines conversion."""
|
| - return msg.replace('\r\n', '\n').replace('\r', '\n')
|
| -
|
| -
|
| -class TestCase(unittest.TestCase):
|
| - child = None
|
| - context = None
|
| - maxDiff = 80 * 66
|
| -
|
| -
|
| -class MainTestCase(TestCase):
|
| - prog = None
|
| - files_to_ignore = []
|
| -
|
| - def _write_files(self, host, files):
|
| - for path, contents in list(files.items()):
|
| - dirname = host.dirname(path)
|
| - if dirname:
|
| - host.maybe_mkdir(dirname)
|
| - host.write_text_file(path, contents)
|
| -
|
| - def _read_files(self, host, tmpdir):
|
| - out_files = {}
|
| - for f in host.files_under(tmpdir):
|
| - if any(fnmatch.fnmatch(f, pat) for pat in self.files_to_ignore):
|
| - continue
|
| - key = f.replace(host.sep, '/')
|
| - out_files[key] = host.read_text_file(tmpdir, f)
|
| - return out_files
|
| -
|
| - def assert_files(self, expected_files, actual_files, files_to_ignore=None):
|
| - files_to_ignore = files_to_ignore or []
|
| - for k, v in expected_files.items():
|
| - self.assertMultiLineEqual(expected_files[k], v)
|
| - interesting_files = set(actual_files.keys()).difference(
|
| - files_to_ignore)
|
| - self.assertEqual(interesting_files, set(expected_files.keys()))
|
| -
|
| - def make_host(self):
|
| - # If we are ever called by unittest directly, and not through typ,
|
| - # this will probably fail.
|
| - assert self.child
|
| - return self.child.host
|
| -
|
| - def call(self, host, argv, stdin, env):
|
| - return host.call(argv, stdin=stdin, env=env)
|
| -
|
| - def check(self, cmd=None, stdin=None, env=None, aenv=None, files=None,
|
| - prog=None, cwd=None, host=None,
|
| - ret=None, out=None, rout=None, err=None, rerr=None,
|
| - exp_files=None,
|
| - files_to_ignore=None, universal_newlines=True):
|
| - # Too many arguments pylint: disable=R0913
|
| - prog = prog or self.prog or []
|
| - host = host or self.make_host()
|
| - argv = shlex.split(cmd) if isinstance(cmd, str) else cmd or []
|
| -
|
| - tmpdir = None
|
| - orig_wd = host.getcwd()
|
| - try:
|
| - tmpdir = host.mkdtemp()
|
| - host.chdir(tmpdir)
|
| - if files:
|
| - self._write_files(host, files)
|
| - if cwd:
|
| - host.chdir(cwd)
|
| - if aenv:
|
| - env = host.env.copy()
|
| - env.update(aenv)
|
| -
|
| - if self.child.debugger: # pragma: no cover
|
| - host.print_('')
|
| - host.print_('cd %s' % tmpdir, stream=host.stdout.stream)
|
| - host.print_(' '.join(prog + argv), stream=host.stdout.stream)
|
| - host.print_('')
|
| - import pdb
|
| - dbg = pdb.Pdb(stdout=host.stdout.stream)
|
| - dbg.set_trace()
|
| -
|
| - result = self.call(host, prog + argv, stdin=stdin, env=env)
|
| -
|
| - actual_ret, actual_out, actual_err = result
|
| - actual_files = self._read_files(host, tmpdir)
|
| - finally:
|
| - host.chdir(orig_wd)
|
| - if tmpdir:
|
| - host.rmtree(tmpdir)
|
| -
|
| - if universal_newlines:
|
| - actual_out = convert_newlines(actual_out)
|
| - if universal_newlines:
|
| - actual_err = convert_newlines(actual_err)
|
| -
|
| - if ret is not None:
|
| - self.assertEqual(ret, actual_ret)
|
| - if out is not None:
|
| - self.assertMultiLineEqual(out, actual_out)
|
| - if rout is not None:
|
| - self.assertRegexpMatches(actual_out, rout)
|
| - if err is not None:
|
| - self.assertMultiLineEqual(err, actual_err)
|
| - if rerr is not None:
|
| - self.assertRegexpMatches(actual_err, rerr)
|
| - if exp_files:
|
| - self.assert_files(exp_files, actual_files, files_to_ignore)
|
| -
|
| - return actual_ret, actual_out, actual_err, actual_files
|
|
|