@@ -5807,6 +5807,7 @@ def test_object_copy_versioning_multipart_upload():
58075807 assert key1_metadata == response['Metadata']
58085808 assert content_type == response['ContentType']
58095809
5810+ @pytest.mark.multipart
58105811def test_multipart_upload_empty():
58115812 bucket_name = get_new_bucket()
58125813 client = get_client()
@@ -5820,6 +5821,7 @@ def test_multipart_upload_empty():
58205821 assert error_code == 'MalformedXML'
58215822
58225823@pytest.mark.fails_on_dbstore
5824+ @pytest.mark.multipart
58235825def test_multipart_upload_small():
58245826 bucket_name = get_new_bucket()
58255827 client = get_client()
@@ -5895,6 +5897,7 @@ def _check_key_content(src_key, src_bucket_name, dest_key, dest_bucket_name, ver
58955897 assert src_data == dest_data
58965898
58975899@pytest.mark.fails_on_dbstore
5900+ @pytest.mark.multipart
58985901def test_multipart_copy_small():
58995902 src_key = 'foo'
59005903 src_bucket_name = _create_key_with_random_content(src_key)
@@ -5911,6 +5914,7 @@ def test_multipart_copy_small():
59115914 assert size == response['ContentLength']
59125915 _check_key_content(src_key, src_bucket_name, dest_key, dest_bucket_name)
59135916
5917+ @pytest.mark.multipart
59145918def test_multipart_copy_invalid_range():
59155919 client = get_client()
59165920 src_key = 'source'
@@ -5932,6 +5936,7 @@ def test_multipart_copy_invalid_range():
59325936
59335937# TODO: remove fails_on_rgw when https://tracker.ceph.com/issues/40795 is resolved
59345938@pytest.mark.fails_on_rgw
5939+ @pytest.mark.multipart
59355940def test_multipart_copy_improper_range():
59365941 client = get_client()
59375942 src_key = 'source'
@@ -5961,6 +5966,7 @@ def test_multipart_copy_improper_range():
59615966 assert error_code == 'InvalidArgument'
59625967
59635968
5969+ @pytest.mark.multipart
59645970def test_multipart_copy_without_range():
59655971 client = get_client()
59665972 src_key = 'source'
@@ -5987,6 +5993,7 @@ def test_multipart_copy_without_range():
59875993 _check_key_content(src_key, src_bucket_name, dest_key, dest_bucket_name)
59885994
59895995@pytest.mark.fails_on_dbstore
5996+ @pytest.mark.multipart
59905997def test_multipart_copy_special_names():
59915998 src_bucket_name = get_new_bucket()
59925999
@@ -6021,6 +6028,7 @@ def _check_content_using_range(key, bucket_name, data, step):
60216028 assert body == data[ofs:end+1]
60226029
60236030@pytest.mark.fails_on_dbstore
6031+ @pytest.mark.multipart
60246032def test_multipart_upload():
60256033 bucket_name = get_new_bucket()
60266034 key="mymultipart"
@@ -6079,6 +6087,7 @@ def check_configure_versioning_retry(bucket_name, status, expected_string):
60796087 assert expected_string == read_status
60806088
60816089@pytest.mark.fails_on_dbstore
6090+ @pytest.mark.multipart
60826091def test_multipart_copy_versioned():
60836092 src_bucket_name = get_new_bucket()
60846093 dest_bucket_name = get_new_bucket()
@@ -6125,6 +6134,7 @@ def _check_upload_multipart_resend(bucket_name, key, objlen, resend_parts):
61256134 _check_content_using_range(key, bucket_name, data, 10000000)
61266135
61276136@pytest.mark.fails_on_dbstore
6137+ @pytest.mark.multipart
61286138def test_multipart_upload_resend_part():
61296139 bucket_name = get_new_bucket()
61306140 key="mymultipart"
@@ -6136,6 +6146,7 @@ def test_multipart_upload_resend_part():
61366146 _check_upload_multipart_resend(bucket_name, key, objlen, [1,2])
61376147 _check_upload_multipart_resend(bucket_name, key, objlen, [0,1,2,3,4,5])
61386148
6149+ @pytest.mark.multipart
61396150def test_multipart_upload_multiple_sizes():
61406151 bucket_name = get_new_bucket()
61416152 key="mymultipart"
@@ -6166,6 +6177,7 @@ def test_multipart_upload_multiple_sizes():
61666177 client.complete_multipart_upload(Bucket=bucket_name, Key=key, UploadId=upload_id, MultipartUpload={'Parts': parts})
61676178
61686179@pytest.mark.fails_on_dbstore
6180+ @pytest.mark.multipart
61696181def test_multipart_copy_multiple_sizes():
61706182 src_key = 'foo'
61716183 src_bucket_name = _create_key_with_random_content(src_key, 12*1024*1024)
@@ -6204,6 +6216,7 @@ def test_multipart_copy_multiple_sizes():
62046216 client.complete_multipart_upload(Bucket=dest_bucket_name, Key=dest_key, UploadId=upload_id, MultipartUpload={'Parts': parts})
62056217 _check_key_content(src_key, src_bucket_name, dest_key, dest_bucket_name)
62066218
6219+ @pytest.mark.multipart
62076220def test_multipart_upload_size_too_small():
62086221 bucket_name = get_new_bucket()
62096222 key="mymultipart"
@@ -6251,10 +6264,12 @@ def _do_test_multipart_upload_contents(bucket_name, key, num_parts):
62516264 return all_payload
62526265
62536266@pytest.mark.fails_on_dbstore
6267+ @pytest.mark.multipart
62546268def test_multipart_upload_contents():
62556269 bucket_name = get_new_bucket()
62566270 _do_test_multipart_upload_contents(bucket_name, 'mymultipart', 3)
62576271
6272+ @pytest.mark.multipart
62586273def test_multipart_upload_overwrite_existing_object():
62596274 bucket_name = get_new_bucket()
62606275 client = get_client()
@@ -6380,6 +6395,7 @@ def match(upload, key, uploadid, userid, username):
63806395 finally:
63816396 client1.abort_multipart_upload(Bucket=bucket_name, Key=key1, UploadId=upload1)
63826397
6398+ @pytest.mark.multipart
63836399def test_multipart_upload_missing_part():
63846400 bucket_name = get_new_bucket()
63856401 client = get_client()
@@ -6399,6 +6415,7 @@ def test_multipart_upload_missing_part():
63996415 assert status == 400
64006416 assert error_code == 'InvalidPart'
64016417
6418+ @pytest.mark.multipart
64026419def test_multipart_upload_incorrect_etag():
64036420 bucket_name = get_new_bucket()
64046421 client = get_client()
@@ -6419,6 +6436,7 @@ def test_multipart_upload_incorrect_etag():
64196436 assert error_code == 'InvalidPart'
64206437
64216438@pytest.mark.fails_on_dbstore
6439+ @pytest.mark.multipart
64226440def test_multipart_get_part():
64236441 bucket_name = get_new_bucket()
64246442 client = get_client()
@@ -6462,6 +6480,7 @@ def test_multipart_get_part():
64626480
64636481@pytest.mark.encryption
64646482@pytest.mark.fails_on_dbstore
6483+ @pytest.mark.multipart
64656484def test_multipart_sse_c_get_part():
64666485 bucket_name = get_new_bucket()
64676486 client = get_client()
@@ -6516,6 +6535,7 @@ def test_multipart_sse_c_get_part():
65166535 assert error_code == 'InvalidPart'
65176536
65186537@pytest.mark.fails_on_dbstore
6538+ @pytest.mark.multipart
65196539def test_multipart_single_get_part():
65206540 bucket_name = get_new_bucket()
65216541 client = get_client()
@@ -7281,6 +7301,7 @@ def trigger(self):
72817301 if self.count == self.trigger_count:
72827302 self.result = self.action()
72837303
7304+ @pytest.mark.multipart
72847305def test_multipart_resend_first_finishes_last():
72857306 bucket_name = get_new_bucket()
72867307 client = get_client()
@@ -7778,6 +7799,7 @@ def test_versioning_obj_create_versions_remove_special_names():
77787799 assert len(version_ids) == len(contents)
77797800
77807801@pytest.mark.fails_on_dbstore
7802+ @pytest.mark.multipart
77817803def test_versioning_obj_create_overwrite_multipart():
77827804 bucket_name = get_new_bucket()
77837805 client = get_client()
@@ -13261,6 +13283,7 @@ def test_ignore_public_acls():
1326113283 check_access_denied(alt_client.get_object, Bucket=bucket_name, Key='key1')
1326213284
1326313285
13286+ @pytest.mark.multipart
1326413287def test_multipart_upload_on_a_bucket_with_policy():
1326513288 bucket_name = get_new_bucket()
1326613289 client = get_client()
@@ -13776,6 +13799,7 @@ def test_object_checksum_sha256():
1377613799
1377713800@pytest.mark.checksum
1377813801@pytest.mark.fails_on_dbstore
13802+ @pytest.mark.multipart
1377913803def test_multipart_checksum_sha256():
1378013804 bucket = get_new_bucket()
1378113805 client = get_client()
@@ -13841,6 +13865,7 @@ def test_multipart_checksum_sha256():
1384113865
1384213866@pytest.mark.checksum
1384313867@pytest.mark.fails_on_dbstore
13868+ @pytest.mark.multipart
1384413869def test_multipart_checksum_3parts():
1384513870 bucket = get_new_bucket()
1384613871 client = get_client()
0 commit comments