|
@@ -18,16 +18,17 @@ class CopyPackageTest(unittest.TestCase):
|
|
|
|
|
|
def testNoDepsToRoll(self):
|
|
|
with self.assertRaises(Exception):
|
|
|
- roll_downstream_gcs_deps.copy_packages('', '', ['foo'])
|
|
|
+ roll_downstream_gcs_deps.copy_packages('', '', ['foo'], ['foo'])
|
|
|
|
|
|
with self.assertRaises(Exception):
|
|
|
roll_downstream_gcs_deps.copy_packages('deps = {"foo": ""}',
|
|
|
- 'deps = {}', ['foo'])
|
|
|
+ 'deps = {}', ['foo'],
|
|
|
+ ['foo'])
|
|
|
|
|
|
with self.assertRaises(Exception):
|
|
|
roll_downstream_gcs_deps.copy_packages('deps = {"foo": ""}',
|
|
|
'deps = {"bar": ""}',
|
|
|
- ['foo'])
|
|
|
+ ['foo'], ['baz'])
|
|
|
|
|
|
def testNoGCSDeps(self):
|
|
|
source_deps = '''
|
|
@@ -62,7 +63,8 @@ deps = {
|
|
|
'''
|
|
|
with self.assertRaises(Exception):
|
|
|
roll_downstream_gcs_deps.copy_packages(source_deps,
|
|
|
- destination_deps, ['foo'])
|
|
|
+ destination_deps, ['foo'],
|
|
|
+ ['foo'])
|
|
|
|
|
|
def testObjectInLineUpdate(self):
|
|
|
source_deps = '''
|
|
@@ -125,7 +127,7 @@ deps = {
|
|
|
'''
|
|
|
result = roll_downstream_gcs_deps.copy_packages(source_deps,
|
|
|
destination_deps,
|
|
|
- ['foo'])
|
|
|
+ ['foo'], ['foo'])
|
|
|
self.assertEqual(result, expected_deps)
|
|
|
|
|
|
def testGCSRustPackageNewPlatform(self):
|
|
@@ -169,7 +171,7 @@ deps = {
|
|
|
'''
|
|
|
destination_deps = '''
|
|
|
deps = {
|
|
|
- 'src/third_party/rust-toolchain': {
|
|
|
+ 'third_party/rust-toolchain': {
|
|
|
'dep_type': 'gcs',
|
|
|
'bucket': 'chromium-browser-clang',
|
|
|
'objects': [
|
|
@@ -183,10 +185,56 @@ deps = {
|
|
|
],
|
|
|
},
|
|
|
}
|
|
|
+'''
|
|
|
+ expected_deps = '''
|
|
|
+deps = {
|
|
|
+ 'third_party/rust-toolchain': {
|
|
|
+ 'dep_type': 'gcs',
|
|
|
+ 'bucket': 'chromium-browser-clang',
|
|
|
+ 'objects': [
|
|
|
+ {
|
|
|
+ 'object_name': 'Linux_x64/rust-toolchain-595316b4006932405a63862d8fe65f71a6356293-3-llvmorg-20-init-1009-g7088a5ed.tar.xz',
|
|
|
+ 'sha256sum': '560c02da5300f40441992ef639d83cee96cae3584c3d398704fdb2f02e475bbf',
|
|
|
+ 'size_bytes': 152024840,
|
|
|
+ 'generation': 1722663990116408,
|
|
|
+ 'condition': 'host_os == "linux" and non_git_source',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'object_name': 'Mac/rust-toolchain-595316b4006932405a63862d8fe65f71a6356293-3-llvmorg-20-init-1009-g7088a5ed.tar.xz',
|
|
|
+ 'sha256sum': '9f39154b4337438fd170e729ed2ae4c978b22f11708d683c28265bd096df17a5',
|
|
|
+ 'size_bytes': 144459260,
|
|
|
+ 'generation': 1722663991651609,
|
|
|
+ 'condition': 'host_os == "mac" and host_cpu == "x64"',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'object_name': 'Mac_arm64/rust-toolchain-595316b4006932405a63862d8fe65f71a6356293-3-llvmorg-20-init-1009-g7088a5ed.tar.xz',
|
|
|
+ 'sha256sum': '4b89cf125ffa39e8fc74f01ec3beeb632fd3069478d8c6cc4fcae506b4917151',
|
|
|
+ 'size_bytes': 135571272,
|
|
|
+ 'generation': 1722663993205996,
|
|
|
+ 'condition': 'host_os == "mac" and host_cpu == "arm64"',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'object_name': 'Win/rust-toolchain-595316b4006932405a63862d8fe65f71a6356293-3-llvmorg-20-init-1009-g7088a5ed.tar.xz',
|
|
|
+ 'sha256sum': '3f6a1a87695902062a6575632552b9f2cbbbcda1907fe3232f49b8ea29baecf5',
|
|
|
+ 'size_bytes': 208844028,
|
|
|
+ 'generation': 1722663994756449,
|
|
|
+ 'condition': 'host_os == "win"',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+}
|
|
|
'''
|
|
|
result = roll_downstream_gcs_deps.copy_packages(
|
|
|
- source_deps, destination_deps, ['src/third_party/rust-toolchain'])
|
|
|
- self.assertEqual(result, source_deps)
|
|
|
+ source_deps, destination_deps, ['src/third_party/rust-toolchain'],
|
|
|
+ ['third_party/rust-toolchain'])
|
|
|
+ self.assertEqual(result, expected_deps)
|
|
|
+
|
|
|
+ with self.assertRaises(Exception):
|
|
|
+ # no destination_package match, so expect a failure.
|
|
|
+ roll_downstream_gcs_deps.copy_packages(
|
|
|
+ source_deps, destination_deps,
|
|
|
+ ['src/third_party/rust-toolchain'],
|
|
|
+ ['src/third_party/rust-toolchain'])
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|