| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2011 The Native Client 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 """Unit tests for update_manifest.py.""" | 6 """Unit tests for update_manifest.py.""" |
| 7 | 7 |
| 8 __author__ = 'mball@google.com (Matt Ball)' | 8 __author__ = 'mball@google.com (Matt Ball)' |
| 9 | 9 |
| 10 import errno | 10 import errno |
| 11 import os | 11 import os |
| 12 import SimpleHTTPServer | 12 import SimpleHTTPServer |
| 13 import SocketServer | 13 import SocketServer |
| 14 import sys | 14 import sys |
| 15 import tempfile | 15 import tempfile |
| 16 import threading | 16 import threading |
| 17 import unittest | 17 import unittest |
| 18 import urllib |
| 18 import urlparse | 19 import urlparse |
| 19 | 20 |
| 20 from build_tools.sdk_tools import sdk_update | 21 from build_tools.sdk_tools import sdk_update |
| 21 from build_tools.sdk_tools import update_manifest | 22 from build_tools.sdk_tools import update_manifest |
| 22 | 23 |
| 23 TEST_DIR = os.path.dirname(os.path.abspath(__file__)) | 24 TEST_DIR = os.path.dirname(os.path.abspath(__file__)) |
| 24 | 25 |
| 25 | 26 |
| 26 def RemoveFile(filename): | 27 def RemoveFile(filename): |
| 27 '''Remove a filename if it exists and do nothing if it doesn't exist''' | 28 '''Remove a filename if it exists and do nothing if it doesn't exist''' |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 self.bundle_version = None | 67 self.bundle_version = None |
| 67 self.bundle_revision = None | 68 self.bundle_revision = None |
| 68 self.desc = None | 69 self.desc = None |
| 69 self.gsutil = os.path.join(TEST_DIR, 'fake_gsutil.bat' | 70 self.gsutil = os.path.join(TEST_DIR, 'fake_gsutil.bat' |
| 70 if sys.platform == 'win32' else 'fake_gsutil.py') | 71 if sys.platform == 'win32' else 'fake_gsutil.py') |
| 71 self.linux_arch_url = None | 72 self.linux_arch_url = None |
| 72 self.mac_arch_url = None | 73 self.mac_arch_url = None |
| 73 self.manifest_file = os.path.join(TEST_DIR, 'naclsdk_manifest_test.json') | 74 self.manifest_file = os.path.join(TEST_DIR, 'naclsdk_manifest_test.json') |
| 74 self.manifest_version = None | 75 self.manifest_version = None |
| 75 self.recommended = None | 76 self.recommended = None |
| 76 self.root_url = 'http://localhost/test_url' | 77 self.root_url = 'file://%s' % urllib.pathname2url(TEST_DIR) |
| 77 self.stability = None | 78 self.stability = None |
| 78 self.upload = False | 79 self.upload = False |
| 79 self.win_arch_url = None | 80 self.win_arch_url = None |
| 80 | 81 |
| 81 | 82 |
| 82 class TestUpdateManifest(unittest.TestCase): | 83 class TestUpdateManifest(unittest.TestCase): |
| 83 ''' Test basic functionality of the update_manifest package. | 84 ''' Test basic functionality of the update_manifest package. |
| 84 | 85 |
| 85 Note that update_manifest.py now imports sdk_update.py, so this file | 86 Note that update_manifest.py now imports sdk_update.py, so this file |
| 86 tests the update_manifest features within sdk_update.''' | 87 tests the update_manifest features within sdk_update.''' |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 update_manifest.UpdateSDKManifestFile(options).HandleBundles() | 312 update_manifest.UpdateSDKManifestFile(options).HandleBundles() |
| 312 | 313 |
| 313 def testHandlePepper(self): | 314 def testHandlePepper(self): |
| 314 '''Test the handling of pepper bundles''' | 315 '''Test the handling of pepper bundles''' |
| 315 options = FakeOptions() | 316 options = FakeOptions() |
| 316 options.bundle_name = 'pepper' | 317 options.bundle_name = 'pepper' |
| 317 options.bundle_version = None | 318 options.bundle_version = None |
| 318 self.assertRaises( | 319 self.assertRaises( |
| 319 update_manifest.Error, | 320 update_manifest.Error, |
| 320 update_manifest.UpdateSDKManifestFile(options).HandleBundles) | 321 update_manifest.UpdateSDKManifestFile(options).HandleBundles) |
| 322 options.bundle_name = 'pepper' |
| 321 options.bundle_version = 1 | 323 options.bundle_version = 1 |
| 322 options.bundle_revision = None | 324 options.bundle_revision = None |
| 323 self.assertRaises( | 325 self.assertRaises( |
| 324 update_manifest.Error, | 326 update_manifest.Error, |
| 325 update_manifest.UpdateSDKManifestFile(options).HandleBundles) | 327 update_manifest.UpdateSDKManifestFile(options).HandleBundles) |
| 328 options.bundle_name = 'pepper' |
| 326 options.bundle_revision = 0 | 329 options.bundle_revision = 0 |
| 327 update_manifest.UpdateSDKManifestFile(options).HandleBundles() | 330 manifest_object = update_manifest.UpdateSDKManifestFile(options) |
| 331 manifest_object.HandleBundles() |
| 332 manifest_object.UpdateWithOptions() |
| 333 |
| 334 options = FakeOptions() |
| 328 options.bundle_name = 'pepper_1' | 335 options.bundle_name = 'pepper_1' |
| 329 options.bundle_version = None | 336 options.bundle_revision = 0 |
| 330 update_manifest.UpdateSDKManifestFile(options).HandleBundles() | 337 manifest_object = update_manifest.UpdateSDKManifestFile(options) |
| 338 manifest_object.HandleBundles() |
| 339 manifest_object.UpdateWithOptions() |
| 331 | 340 |
| 332 | 341 |
| 333 def main(): | 342 def main(): |
| 334 suite = unittest.TestLoader().loadTestsFromTestCase(TestUpdateManifest) | 343 suite = unittest.TestLoader().loadTestsFromTestCase(TestUpdateManifest) |
| 335 result = unittest.TextTestRunner(verbosity=2).run(suite) | 344 result = unittest.TextTestRunner(verbosity=2).run(suite) |
| 336 | 345 |
| 337 return int(not result.wasSuccessful()) | 346 return int(not result.wasSuccessful()) |
| 338 | 347 |
| 339 | 348 |
| 340 if __name__ == '__main__': | 349 if __name__ == '__main__': |
| 341 sys.exit(main()) | 350 sys.exit(main()) |
| OLD | NEW |