OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import os | 6 import os |
7 import shutil | 7 import shutil |
8 import sys | 8 import sys |
9 import tempfile | 9 import tempfile |
10 import unittest | 10 import unittest |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 self.patch = mock.patch.dict('os.environ', | 110 self.patch = mock.patch.dict('os.environ', |
111 {'NACL_SDK_ROOT': self.tempdir}) | 111 {'NACL_SDK_ROOT': self.tempdir}) |
112 self.patch.start() | 112 self.patch.start() |
113 | 113 |
114 def tearDown(self): | 114 def tearDown(self): |
115 shutil.rmtree(self.tempdir) | 115 shutil.rmtree(self.tempdir) |
116 self.patch.stop() | 116 self.patch.stop() |
117 | 117 |
118 def testGetSDKVersion(self): | 118 def testGetSDKVersion(self): |
119 """correctly parses README to find SDK version.""" | 119 """correctly parses README to find SDK version.""" |
120 expected_version = (16, '196', 'f00baacabba6e-refs/heads/master@{#100}') | 120 expected_version = (16, 100, 'f00baacabba6e-refs/heads/master@{#100}') |
121 with open(os.path.join(self.tempdir, 'README'), 'w') as out: | 121 with open(os.path.join(self.tempdir, 'README'), 'w') as out: |
122 out.write('Version: %s\n' % expected_version[0]) | 122 out.write('Version: %d\n' % expected_version[0]) |
123 out.write('Chrome Revision: %s\n' % expected_version[1]) | 123 out.write('Chrome Revision: %d\n' % expected_version[1]) |
124 out.write('Chrome Commit Position: %s\n' % expected_version[2]) | 124 out.write('Chrome Commit Position: %s\n' % expected_version[2]) |
125 | 125 |
126 version = getos.GetSDKVersion() | 126 version = getos.GetSDKVersion() |
127 self.assertEqual(version, expected_version) | 127 self.assertEqual(version, expected_version) |
128 | 128 |
| 129 def testParseVersion(self): |
| 130 """correctly parses a version given to --check-version.""" |
| 131 check_version_string = '15.100' |
| 132 self.assertEquals((15, 100), getos.ParseVersion(check_version_string)) |
| 133 |
| 134 def testCheckVersion(self): |
| 135 """correctly rejects SDK versions earlier than the required one.""" |
| 136 actual_version = (16, 100, 'f00baacabba6e-refs/heads/master@{#100}') |
| 137 with open(os.path.join(self.tempdir, 'README'), 'w') as out: |
| 138 out.write('Version: %d\n' % actual_version[0]) |
| 139 out.write('Chrome Revision: %d\n' % actual_version[1]) |
| 140 out.write('Chrome Commit Position: %s\n' % actual_version[2]) |
| 141 |
| 142 required_version = (15, 150) |
| 143 getos.CheckVersion(required_version) |
| 144 |
| 145 required_version = (16, 99) |
| 146 getos.CheckVersion(required_version) |
| 147 |
| 148 required_version = (16, 100) |
| 149 getos.CheckVersion(required_version) |
| 150 |
| 151 required_version = (16, 101) |
| 152 self.assertRaisesRegexp( |
| 153 getos.Error, |
| 154 r'SDK version too old \(current: 16.100, required: 16.101\)', |
| 155 getos.CheckVersion, |
| 156 required_version) |
| 157 |
| 158 required_version = (17, 50) |
| 159 self.assertRaisesRegexp( |
| 160 getos.Error, |
| 161 r'SDK version too old \(current: 16.100, required: 17.50\)', |
| 162 getos.CheckVersion, |
| 163 required_version) |
| 164 |
129 | 165 |
130 if __name__ == '__main__': | 166 if __name__ == '__main__': |
131 unittest.main() | 167 unittest.main() |
OLD | NEW |