blob: 82b5d5aae433e3ba9f0bb138c6f453b0541ff09a [file] [log] [blame]
#!/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)