| 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 |