OLD | NEW |
| (Empty) |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 import unittest | |
6 import update_reference_build as update_ref_build | |
7 | |
8 | |
9 # Disable for accessing private API of update_reference_build class. | |
10 # pylint: disable=protected-access | |
11 class UpdateReferenceBuildUnittest(unittest.TestCase): | |
12 | |
13 def testInit(self): | |
14 @classmethod | |
15 def EmptyVersions(_): | |
16 return {} | |
17 | |
18 @classmethod | |
19 def AllOmahaVersion1(_): | |
20 return {'mac': '1', 'linux': '1', 'win': '1'} | |
21 | |
22 @classmethod | |
23 def AllCurrentVersion1(_): | |
24 return {'Mac64': '1', 'Linux': '1', 'Linux_x64': '1', 'Win': '1'} | |
25 | |
26 @classmethod | |
27 def MixedOmahaVersion23(_): | |
28 return {'mac': '2', 'linux': '3', 'win': '2'} | |
29 | |
30 @classmethod | |
31 def MissingOmahaVersion(_): | |
32 return {'mac': '2', 'win': '1'} | |
33 old_stable = update_ref_build.BuildUpdater._OmahaVersionsMap | |
34 old_current = update_ref_build.BuildUpdater._CurrentRefBuildsMap | |
35 try: | |
36 update_ref_build.BuildUpdater._CurrentRefBuildsMap = EmptyVersions | |
37 update_ref_build.BuildUpdater._OmahaVersionsMap = AllOmahaVersion1 | |
38 expected_versions = { | |
39 'Mac64': '1', | |
40 'Linux': '1', | |
41 'Linux_x64': '1', | |
42 'Win': '1' | |
43 } | |
44 b = update_ref_build.BuildUpdater() | |
45 self.assertEqual(expected_versions, b._platform_to_version_map) | |
46 | |
47 update_ref_build.BuildUpdater._OmahaVersionsMap = MissingOmahaVersion | |
48 expected_versions = {'Mac64': '2', 'Win': '1'} | |
49 b = update_ref_build.BuildUpdater() | |
50 self.assertEqual(expected_versions, b._platform_to_version_map) | |
51 | |
52 update_ref_build.BuildUpdater._CurrentRefBuildsMap = AllCurrentVersion1 | |
53 expected_versions = {'Mac64': '2'} | |
54 b = update_ref_build.BuildUpdater() | |
55 self.assertEqual(expected_versions, b._platform_to_version_map) | |
56 | |
57 update_ref_build.BuildUpdater._OmahaVersionsMap = MixedOmahaVersion23 | |
58 expected_versions = { | |
59 'Mac64': '2', | |
60 'Linux': '3', | |
61 'Linux_x64': '3', | |
62 'Win': '2' | |
63 } | |
64 b = update_ref_build.BuildUpdater() | |
65 self.assertEqual(expected_versions, b._platform_to_version_map) | |
66 finally: | |
67 update_ref_build.BuildUpdater._OmahaVersionsMap = old_stable | |
68 update_ref_build.BuildUpdater._CurrentRefBuildsMap = old_current | |
69 | |
70 def testOmahaVersions(self): | |
71 # This is an example of valid output from the _OmahaReport function. | |
72 # Taken from processing the omaha report on 3/18/15 | |
73 lines = [['os', 'channel', 'current_version', 'previous_version', | |
74 'current_reldate', 'previous_reldate', 'branch_base_commit', | |
75 'branch_base_position', 'branch_commit', 'base_webkit_position', | |
76 'true_branch', 'v8_version\n'], | |
77 ['win', 'stable', '41.0.2272.89', '41.0.2272.76', '03/10/15', | |
78 '03/03/15', '827a380cfdb31aa54c8d56e63ce2c3fd8c3ba4d4', '310958', | |
79 'a4d5695040a99b9b2cb196eb5b898383a274376e', '188177', 'master', | |
80 '4.1.0.21\n'], | |
81 ['mac', 'stable', '41.0.2272.89', '41.0.2272.76', '03/10/15', | |
82 '03/03/15', '827a380cfdb31aa54c8d56e63ce2c3fd8c3ba4d4', '310958', | |
83 'a4d5695040a99b9b2cb196eb5b898383a274376e', '188177', 'master', | |
84 '4.1.0.21\n'], | |
85 ['linux', 'stable', '41.0.2272.89', '41.0.2272.76', '03/10/15', | |
86 '03/03/15', '827a380cfdb31aa54c8d56e63ce2c3fd8c3ba4d4', '310958', | |
87 'a4d5695040a99b9b2cb196eb5b898383a274376e', '188177', 'master', | |
88 '4.1.0.21\n'], | |
89 ['cros', 'stable', '41.0.2272.89', '41.0.2272.76', '03/10/15', | |
90 '03/04/15', '827a380cfdb31aa54c8d56e63ce2c3fd8c3ba4d4', '310958', | |
91 'a4d5695040a99b9b2cb196eb5b898383a274376e', '188177', 'master', | |
92 '4.1.0.21\n'], | |
93 ['android', 'stable', '41.0.2272.94', '40.0.2214.109', '03/18/15', | |
94 '02/04/15', '827a380cfdb31aa54c8d56e63ce2c3fd8c3ba4d4', '310958', | |
95 '70c994cb9b14e4c6934654aaa7089b4b2e8f7788', '188177', '2272', | |
96 '4.1.0.21\n'], | |
97 ['ios', 'stable', '41.0.2272.56', '40.0.2214.73', '03/16/15', | |
98 '02/18/15', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A', 'N/A\n']] | |
99 | |
100 @classmethod | |
101 def GetLines(_): | |
102 return lines | |
103 old_omaha_report = update_ref_build.BuildUpdater._OmahaReport | |
104 update_ref_build.BuildUpdater._OmahaReport = GetLines | |
105 expected_versions = {'win': '41.0.2272.89', 'mac': '41.0.2272.89', | |
106 'linux': '41.0.2272.89'} | |
107 b = update_ref_build.BuildUpdater() | |
108 try: | |
109 versions = b._OmahaVersionsMap() | |
110 self.assertEqual(expected_versions, versions) | |
111 lines = [['os', 'channel', 'current_version', 'previous_version', | |
112 'current_reldate', 'previous_reldate', 'branch_base_commit', | |
113 'branch_base_position', 'branch_commit', 'base_webkit_position', | |
114 'true_branch', 'v8_version\n'], | |
115 ['win', 'stable', '41.0.2272.89', '41.0.2272.76', '03/10/15', | |
116 '03/03/15', '827a380cfdb31aa54c8d56e63ce2c3fd8c3ba4d4', | |
117 '310958', 'a4d5695040a99b9b2cb196eb5b898383a274376e', '188177', | |
118 'master', '4.1.0.21\n']] | |
119 self.assertRaises(ValueError, b._OmahaVersionsMap) | |
120 lines = ['random', 'list', 'of', 'strings'] | |
121 self.assertRaises(ValueError, b._OmahaVersionsMap) | |
122 lines = [] | |
123 self.assertRaises(ValueError, b._OmahaVersionsMap) | |
124 finally: | |
125 update_ref_build.BuildUpdater._OmahaReport = old_omaha_report | |
OLD | NEW |