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