ronnie
2022-10-14 1504bb53e29d3d46222c0b3ea994fc494b48e153
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/usr/bin/python2
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
 
"""Unittests for the lsbrelease_utils module."""
 
import unittest
 
import common
from autotest_lib.client.common_lib import lsbrelease_utils
 
 
# pylint: disable=line-too-long
_GUADO_MOBLAB_LSB_RELEASE_REDACTED = """
DEVICETYPE=CHROMEBOX
CHROMEOS_RELEASE_BUILDER_PATH=guado_moblab-release/R61-9641.0.0
GOOGLE_RELEASE=9641.0.0
CHROMEOS_DEVSERVER=
CHROMEOS_RELEASE_BOARD=guado_moblab
CHROMEOS_RELEASE_BUILD_NUMBER=9641
CHROMEOS_RELEASE_BRANCH_NUMBER=0
CHROMEOS_RELEASE_CHROME_MILESTONE=61
CHROMEOS_RELEASE_PATCH_NUMBER=0
CHROMEOS_RELEASE_TRACK=testimage-channel
CHROMEOS_RELEASE_DESCRIPTION=9641.0.0 (Official Build) dev-channel guado_moblab test
CHROMEOS_RELEASE_BUILD_TYPE=Official Build
CHROMEOS_RELEASE_NAME=Chrome OS
CHROMEOS_RELEASE_VERSION=9641.0.0
CHROMEOS_AUSERVER=https://tools.google.com/service/update2
"""
 
_LINK_LSB_RELEASE_REDACTED = """
DEVICETYPE=CHROMEBOOK
CHROMEOS_RELEASE_BUILDER_PATH=link-release/R61-9641.0.0
GOOGLE_RELEASE=9641.0.0
CHROMEOS_DEVSERVER=
CHROMEOS_RELEASE_BOARD=link
CHROMEOS_RELEASE_BUILD_NUMBER=9641
CHROMEOS_RELEASE_BRANCH_NUMBER=0
CHROMEOS_RELEASE_CHROME_MILESTONE=61
CHROMEOS_RELEASE_PATCH_NUMBER=0
CHROMEOS_RELEASE_TRACK=testimage-channel
CHROMEOS_RELEASE_DESCRIPTION=9641.0.0 (Official Build) dev-channel link test
CHROMEOS_RELEASE_BUILD_TYPE=Official Build
CHROMEOS_RELEASE_NAME=Chrome OS
CHROMEOS_RELEASE_VERSION=9641.0.0
CHROMEOS_AUSERVER=https://tools.google.com/service/update2
"""
 
_GALE_LSB_RELEASE_REDACTED = """
DEVICETYPE=OTHER
HWID_OVERRIDE=GALE DOGFOOD
CHROMEOS_RELEASE_BUILDER_PATH=gale-release/R61-9641.0.0
GOOGLE_RELEASE=9641.0.0
CHROMEOS_DEVSERVER=
CHROMEOS_RELEASE_BOARD=gale
CHROMEOS_RELEASE_BUILD_NUMBER=9641
CHROMEOS_RELEASE_BRANCH_NUMBER=0
CHROMEOS_RELEASE_CHROME_MILESTONE=61
CHROMEOS_RELEASE_PATCH_NUMBER=0
CHROMEOS_RELEASE_TRACK=testimage-channel
CHROMEOS_RELEASE_DESCRIPTION=9641.0.0 (Official Build) dev-channel gale test
CHROMEOS_RELEASE_BUILD_TYPE=Official Build
CHROMEOS_RELEASE_NAME=Chrome OS
CHROMEOS_RELEASE_VERSION=9641.0.0
CHROMEOS_AUSERVER=https://tools.google.com/service/update2
"""
 
# pylint: disable=line-too-long
_WHIRLWIND_LSB_RELEASE_REDACTED = """
DEVICETYPE=OTHER
HWID_OVERRIDE=WHIRLWIND DOGFOOD
CHROMEOS_RELEASE_BUILDER_PATH=whirlwind-release/R61-9641.0.0
GOOGLE_RELEASE=9641.0.0
CHROMEOS_DEVSERVER=
CHROMEOS_RELEASE_BOARD=whirlwind
CHROMEOS_RELEASE_BUILD_NUMBER=9641
CHROMEOS_RELEASE_BRANCH_NUMBER=0
CHROMEOS_RELEASE_CHROME_MILESTONE=61
CHROMEOS_RELEASE_PATCH_NUMBER=0
CHROMEOS_RELEASE_TRACK=testimage-channel
CHROMEOS_RELEASE_DESCRIPTION=9641.0.0 (Official Build) dev-channel whirlwind test
CHROMEOS_RELEASE_BUILD_TYPE=Official Build
CHROMEOS_RELEASE_NAME=Chrome OS
CHROMEOS_RELEASE_VERSION=9641.0.0
CHROMEOS_AUSERVER=https://tools.google.com/service/update2
"""
 
 
class LsbreleaseUtilsTestCase(unittest.TestCase):
    """Validates the helper free functions in lsbrelease_utils."""
 
    def test_is_jetstream_with_link_lsbrelease(self):
        """Test helper function."""
        self.assertFalse(lsbrelease_utils.is_jetstream(
            _LINK_LSB_RELEASE_REDACTED))
 
    def test_is_jetstream_with_moblab_lsbrelease(self):
        """Test helper function."""
        self.assertFalse(lsbrelease_utils.is_jetstream(
            _GUADO_MOBLAB_LSB_RELEASE_REDACTED))
 
    def test_is_jestream_with_gale_lsbrelease(self):
        """Test helper function."""
        self.assertTrue(lsbrelease_utils.is_jetstream(
            _GALE_LSB_RELEASE_REDACTED))
 
    def test_is_jestream_with_whirlwind_lsbrelease(self):
        """Test helper function."""
        self.assertTrue(lsbrelease_utils.is_jetstream(
            _WHIRLWIND_LSB_RELEASE_REDACTED))
 
    def test_is_moblab_with_empty_lsbrelease(self):
        """is_moblab correctly validates trivial lsb-release information."""
        self.assertFalse(lsbrelease_utils.is_moblab(''))
 
    def test_is_moblab_with_link_lsbrelease(self):
        """is_moblab correctly validates the contents from some other board."""
        self.assertFalse(lsbrelease_utils.is_moblab(
                _LINK_LSB_RELEASE_REDACTED))
 
    def test_is_moblab_with_moblab_lsbrelease(self):
        """is_moblab correctly validates the contents from a moblab device."""
        self.assertTrue(lsbrelease_utils.is_moblab(
                _GUADO_MOBLAB_LSB_RELEASE_REDACTED))
 
    def test_get_chromeos_release_version(self):
        """Test helper function."""
        result = lsbrelease_utils.get_chromeos_release_builder_path(
                _GUADO_MOBLAB_LSB_RELEASE_REDACTED)
 
        self.assertEqual(result, 'guado_moblab-release/R61-9641.0.0')
 
 
if __name__ == '__main__':
    unittest.main()