| #!/usr/bin/env vpython3 | |
| # [VPYTHON:BEGIN] | |
| # python_version: "3.8" | |
| # wheel < | |
| # name: "infra/python/wheels/pyyaml/${platform}_${py_python}_${py_abi}" | |
| # version: "version:5.4.1.chromium.1" | |
| # > | |
| # [VPYTHON:END] | |
| # Copyright 2013 The Flutter Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| import os | |
| import shutil | |
| import unittest | |
| from pathlib import Path | |
| # pylint is looking for a wrong //testing/run_tests.py. | |
| # pylint: disable=no-member | |
| import run_tests | |
| run_tests.OUT_DIR = '/tmp/out/fuchsia_debug_x64' | |
| os.makedirs(run_tests.OUT_DIR, exist_ok=True) | |
| class RunTestsTest(unittest.TestCase): | |
| def test_resolve_both_package_and_packages(self): | |
| packages = run_tests.resolve_packages([{'package': 'abc'}, {'packages': ['abc', 'def']}]) | |
| self.assertEqual( | |
| packages, {os.path.join(run_tests.OUT_DIR, 'abc'), | |
| os.path.join(run_tests.OUT_DIR, 'def')} | |
| ) | |
| def test_resolve_package_make_symbolic_link(self): | |
| Path(os.path.join(run_tests.OUT_DIR, 'abc-0.far')).touch() | |
| packages = run_tests.resolve_packages([ | |
| {'package': 'abc-0.far'}, | |
| ]) | |
| self.assertEqual(packages, {os.path.join(run_tests.OUT_DIR, 'abc.far')}) | |
| self.assertTrue(os.path.islink(os.path.join(run_tests.OUT_DIR, 'abc.far'))) | |
| def test_build_test_cases_with_arguments(self): | |
| test_cases = run_tests.build_test_cases([ | |
| {'test_command': 'test run abc'}, | |
| {'test_command': 'test run def -- --args'}, | |
| ]) | |
| self.assertEqual( | |
| test_cases, | |
| [run_tests.TestCase(package='abc'), | |
| run_tests.TestCase(package='def', args='--args')] | |
| ) | |
| if __name__ == '__main__': | |
| try: | |
| unittest.main() | |
| finally: | |
| # Clean up the temporary files. Since it's in /tmp/, ignore the errors. | |
| shutil.rmtree(run_tests.OUT_DIR, ignore_errors=True) |