tor-browser

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

version_unittests.py (2088B)


      1 #!/usr/bin/env vpython3
      2 # Copyright 2024 The Chromium Authors
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 """File for testing version.py."""
      6 
      7 import unittest
      8 import unittest.mock as mock
      9 
     10 from typing import Callable, List
     11 
     12 import version
     13 
     14 
     15 def _test(args: List[str], f: Callable) -> None:
     16    with mock.patch('sys.argv', args):
     17        # pylint: disable=protected-access
     18        version._GIT_ARGS = version._load_git_args()
     19        f()
     20 
     21 
     22 _TRY_ARGS = [
     23    'version.py', '--git-revision=e98127af84bf5b33a6e657c90dfd3f3a731eb28c',
     24    '--gerrit-issue=5009604', '--gerrit-patchset=16',
     25    '--buildbucket-id=8756180599882888289'
     26 ]
     27 
     28 _0_TRY_ARGS = [
     29    'version.py', '--git-revision=e98127af84bf5b33a6e657c90dfd3f3a731eb28c',
     30    '--gerrit-issue=0', '--gerrit-patchset=16',
     31    '--buildbucket-id=8756180599882888289'
     32 ]
     33 
     34 _CI_ARGS = [
     35    'version.py', '--git-revision=e98127af84bf5b33a6e657c90dfd3f3a731eb28c'
     36 ]
     37 
     38 
     39 # pylint: disable=missing-function-docstring
     40 class VersionTest(unittest.TestCase):
     41    """Tests of version.py."""
     42 
     43    def test_is_try_build(self) -> None:
     44        _test(_TRY_ARGS, lambda: self.assertTrue(version.is_try_build()))
     45 
     46    def test_is_not_try_build(self) -> None:
     47        _test(_CI_ARGS, lambda: self.assertFalse(version.is_try_build()))
     48 
     49    def test_try_git_revision(self) -> None:
     50        _test(
     51            _TRY_ARGS, lambda: self.assertEqual(
     52                version.git_revision(),
     53                'e98127af84bf5b33a6e657c90dfd3f3a731eb28c/5009604/16'))
     54 
     55    def test_ci_git_revision(self) -> None:
     56        _test(
     57            _CI_ARGS, lambda: self.assertEqual(
     58                version.git_revision(),
     59                'e98127af84bf5b33a6e657c90dfd3f3a731eb28c'))
     60 
     61    def test_is_try_build_0(self) -> None:
     62        _test(_0_TRY_ARGS, lambda: self.assertTrue(version.is_try_build()))
     63 
     64    def test_try_git_revision_0(self) -> None:
     65        _test(
     66            _0_TRY_ARGS, lambda: self.assertEqual(
     67                version.git_revision(),
     68                'e98127af84bf5b33a6e657c90dfd3f3a731eb28c/0/16'))