tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

bundled_test_runner_unittests.py (4079B)


      1 #!/usr/bin/env vpython3
      2 
      3 # Copyright 2024 The Chromium Authors
      4 # Use of this source code is governed by a BSD-style license that can be
      5 # found in the LICENSE file.
      6 """Tests of BundledTestRunner."""
      7 
      8 import unittest
      9 
     10 from bundled_test_runner import _BundledTestRunner, TestCase
     11 
     12 # Test names should be self-explained, no point of adding function docstring.
     13 # pylint: disable=missing-function-docstring, protected-access
     14 
     15 
     16 class BundledTestRunnerTests(unittest.TestCase):
     17    """Test class."""
     18 
     19    @staticmethod
     20    def _default_test_case() -> TestCase:
     21        return TestCase(
     22            package='fuchsia-pkg://fuchsia.com/dart_runner_tests#meta/' +
     23            'dart_runner_tests.cm')
     24 
     25    def test_resolve_test_package_into_far(self):
     26        runner = _BundledTestRunner(
     27            'out/put', [BundledTestRunnerTests._default_test_case()],
     28            'target-id', None, '/tmp/log', [], None)
     29        self.assertEqual(
     30            runner._package_deps,
     31            {'dart_runner_tests': 'out/put/dart_runner_tests.far'})
     32 
     33    def test_dedupe_fars(self):
     34        runner = _BundledTestRunner(
     35            'out/put', [BundledTestRunnerTests._default_test_case()],
     36            'target-id', None, '/tmp/log', ['dart_runner_tests.far'], None)
     37        self.assertEqual(
     38            runner._package_deps,
     39            {'dart_runner_tests': 'out/put/dart_runner_tests.far'})
     40 
     41    def test_absolute_path(self):
     42        runner = _BundledTestRunner(
     43            'out/put', [BundledTestRunnerTests._default_test_case()],
     44            'target-id', None, '/tmp/log',
     45            ['/tmp/packages/dart_runner_tests.far'], None)
     46        self.assertEqual(
     47            runner._package_deps,
     48            {'dart_runner_tests': '/tmp/packages/dart_runner_tests.far'})
     49 
     50    def test_different_cm(self):
     51        runner = _BundledTestRunner('out/put', [
     52            TestCase(
     53                package=
     54                'fuchsia-pkg://fuchsia.com/dart_runner_tests#meta/meta.cm')
     55        ], 'target-id', None, '/tmp/log', [], None)
     56        self.assertEqual(
     57            runner._package_deps,
     58            {'dart_runner_tests': 'out/put/dart_runner_tests.far'})
     59 
     60    def test_join_relative_path(self):
     61        runner = _BundledTestRunner(
     62            'out/default', [BundledTestRunnerTests._default_test_case()],
     63            'target-id', None, '/tmp/log', ['gen/dart_runner_tests.far'], None)
     64        self.assertEqual(
     65            runner._package_deps,
     66            {'dart_runner_tests': 'out/default/gen/dart_runner_tests.far'})
     67 
     68    def test_current_dir_as_out_dir(self):
     69        runner = _BundledTestRunner(
     70            '.', [BundledTestRunnerTests._default_test_case()], 'target-id',
     71            None, '/tmp/log', ['out/default/bin/dart_runner_tests.far'], None)
     72        self.assertEqual(
     73            runner._package_deps,
     74            {'dart_runner_tests': './out/default/bin/dart_runner_tests.far'})
     75 
     76    def test_empty_out_dir(self):
     77        runner = _BundledTestRunner(
     78            '', [BundledTestRunnerTests._default_test_case()], 'target-id',
     79            None, '/tmp/log', ['out/default/bin/dart_runner_tests.far'], None)
     80        self.assertEqual(
     81            runner._package_deps,
     82            {'dart_runner_tests': 'out/default/bin/dart_runner_tests.far'})
     83 
     84    def test_none_out_dir(self):
     85        with self.assertRaises(TypeError):
     86            _BundledTestRunner(None,
     87                               [BundledTestRunnerTests._default_test_case()],
     88                               'target-id', None, '/tmp/log',
     89                               ['out/default/bin/dart_runner_tests.far'], None)
     90 
     91    def test_conflict_fars(self):
     92        with self.assertRaises(AssertionError):
     93            _BundledTestRunner('',
     94                               [BundledTestRunnerTests._default_test_case()],
     95                               'target-id', None, '/tmp/log', [
     96                                   'out/default/bin/dart_runner_tests.far',
     97                                   'not/out/default/bin/dart_runner_tests.far'
     98                               ], None)
     99 
    100 
    101 if __name__ == '__main__':
    102    unittest.main()