Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1231)

Unified Diff: native_client_sdk/src/build_tools/tests/test_update_nacl_manifest.py

Issue 11421138: [NaCl SDK] update_nacl_manifest: Allow manual updating of a version. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/build_tools/tests/test_update_nacl_manifest.py
diff --git a/native_client_sdk/src/build_tools/tests/test_update_nacl_manifest.py b/native_client_sdk/src/build_tools/tests/test_update_nacl_manifest.py
index e69f30756dcf61e22e81a67e14b8a305b4f9237c..53f0e7b6c385e51dfe5b35d874263592ab658e65 100755
--- a/native_client_sdk/src/build_tools/tests/test_update_nacl_manifest.py
+++ b/native_client_sdk/src/build_tools/tests/test_update_nacl_manifest.py
@@ -136,6 +136,9 @@ class MakeHistory(object):
class MakeFiles(dict):
+ def AddOnlineManifest(self, manifest_string):
+ self['naclsdk_manifest2.json'] = manifest_string
+
def Add(self, bundle, add_archive_for_os=OS_MLW, add_json_for_os=OS_MLW):
for archive in bundle.GetArchives():
if not archive.host_os in add_archive_for_os:
@@ -162,6 +165,7 @@ class TestDelegate(update_nacl_manifest.Delegate):
self.files = files
self.version_mapping = version_mapping
self.dryrun = 0
+ self.called_gsutil_cp = False
def GetRepoManifest(self):
return self.manifest
@@ -187,6 +191,7 @@ class TestDelegate(update_nacl_manifest.Delegate):
return self.files[path]
def GsUtil_cp(self, src, dest, stdin=None):
+ self.called_gsutil_cp = True
dest_path = GetPathFromGsUrl(dest)
if src == '-':
self.files[dest_path] = stdin
@@ -237,8 +242,8 @@ class TestUpdateManifest(unittest.TestCase):
self.delegate = TestDelegate(self.manifest, self.history.history,
self.files, self.version_mapping)
- def _Run(self, host_oses):
- update_nacl_manifest.Run(self.delegate, host_oses)
+ def _Run(self, host_oses, fixed_bundle_versions=None):
+ update_nacl_manifest.Run(self.delegate, host_oses, fixed_bundle_versions)
def _HasUploadedManifest(self):
return 'naclsdk_manifest2.json' in self.files
@@ -275,12 +280,12 @@ class TestUpdateManifest(unittest.TestCase):
self.manifest = MakeManifest(B18_0_1025_163_R1_MLW)
self._MakeDelegate()
self._Run(OS_MLW)
- self.assertEqual(self._HasUploadedManifest(), False)
+ self.assertFalse(self._HasUploadedManifest())
# Add another bundle, make sure it still doesn't update
self.manifest.AddBundle(B19_0_1084_41_R1_MLW)
self._Run(OS_MLW)
- self.assertEqual(self._HasUploadedManifest(), False)
+ self.assertFalse(self._HasUploadedManifest())
def testSimpleUpdate(self):
self.manifest = MakeManifest(B18_R1_NONE)
@@ -385,7 +390,7 @@ class TestUpdateManifest(unittest.TestCase):
B18_0_1025_163_R1_MLW)
self._MakeDelegate()
self._Run(OS_MLW)
- self.assertEqual(self._HasUploadedManifest(), False)
+ self.assertFalse(self._HasUploadedManifest())
def testUpdateWithHistoryWithExtraneousPlatforms(self):
self.manifest = MakeManifest(B18_R1_NONE)
@@ -530,6 +535,54 @@ mac,canary,21.0.1156.0,2012-05-30 12:14:21.305090"""
p19_bundle = self.uploaded_manifest.GetBundle(B19_R1_NONE.name)
self.assertEqual(p19_bundle.stability, STABLE)
+ def testDontPushIfNoChange(self):
+ # Make an online manifest that already has this bundle.
+ online_manifest = MakeManifest(B18_0_1025_163_R1_MLW)
+ self.files.AddOnlineManifest(online_manifest.GetDataAsString())
+
+ self.manifest = MakeManifest(B18_R1_NONE)
+ self.history.Add(OS_MLW, DEV, V18_0_1025_163)
+ self.files.Add(B18_0_1025_163_R1_MLW)
+
+ self._MakeDelegate()
+ self._Run(OS_MLW)
+ self.assertFalse(self.delegate.called_gsutil_cp)
+
+ def testDontPushIfRollback(self):
+ # Make an online manifest that has a newer bundle
+ online_manifest = MakeManifest(B18_0_1025_184_R1_MLW)
+ self.files.AddOnlineManifest(online_manifest.GetDataAsString())
+
+ self.manifest = MakeManifest(B18_R1_NONE)
+ self.history.Add(OS_MLW, DEV, V18_0_1025_163)
+ self.files.Add(B18_0_1025_163_R1_MLW)
+
+ self._MakeDelegate()
+ self._Run(OS_MLW)
+ self.assertFalse(self.delegate.called_gsutil_cp)
+
+ def testRunWithFixedBundleVersions(self):
+ self.manifest = MakeManifest(B18_R1_NONE)
+ self.history.Add(OS_MLW, BETA, V18_0_1025_163)
+ self.files.Add(B18_0_1025_163_R1_MLW)
+ self.files.Add(B18_0_1025_184_R1_MLW)
+
+ self._MakeDelegate()
+ self._Run(OS_MLW, [('pepper_18', '18.0.1025.184')])
+ self._ReadUploadedManifest()
+ self._AssertUploadedManifestHasBundle(B18_0_1025_184_R1_MLW, BETA)
+ self.assertEqual(len(self.uploaded_manifest.GetBundles()), 1)
+
+ def testRunWithMissingFixedBundleVersions(self):
+ self.manifest = MakeManifest(B18_R1_NONE)
+ self.history.Add(OS_MLW, BETA, V18_0_1025_163)
+ self.files.Add(B18_0_1025_163_R1_MLW)
+
+ self._MakeDelegate()
+ self._Run(OS_MLW, [('pepper_18', '18.0.1025.184')])
+ # Nothing should be uploaded if the user gives a missing fixed version.
+ self.assertFalse(self.delegate.called_gsutil_cp)
+
class TestUpdateVitals(unittest.TestCase):
def setUp(self):
« no previous file with comments | « native_client_sdk/src/build_tools/manifest_util.py ('k') | native_client_sdk/src/build_tools/update_nacl_manifest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698