diff --git a/s3tests/functional/test_headers.py b/s3tests/functional/test_headers.py index 7eea631..1da8b39 100644 --- a/s3tests/functional/test_headers.py +++ b/s3tests/functional/test_headers.py @@ -278,6 +278,7 @@ def test_object_create_bad_expect_unreadable(): @attr(operation='create w/empty content length') @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) +@attr('fails_on_dho') @attr('fails_on_rgw') def test_object_create_bad_contentlength_empty(): key = _setup_bad_object({'Content-Length': ''}) @@ -293,6 +294,7 @@ def test_object_create_bad_contentlength_empty(): @attr(operation='create w/negative content length') @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) +@attr('fails_on_dho') def test_object_create_bad_contentlength_negative(): key = _setup_bad_object({'Content-Length': -1}) @@ -319,6 +321,7 @@ def test_object_create_bad_contentlength_none(): @attr(operation='create w/non-graphic content length') @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) +@attr('fails_on_dho') def test_object_create_bad_contentlength_unreadable(): key = _setup_bad_object({'Content-Length': '\x07'}) @@ -399,6 +402,7 @@ def test_object_create_bad_contenttype_none(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) @attr('fails_on_rgw') +@attr('fails_on_dho') def test_object_create_bad_contenttype_unreadable(): key = _setup_bad_object({'Content-Type': '\x08'}) @@ -459,6 +463,7 @@ def test_object_create_bad_authorization_invalid(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) @attr('fails_on_rgw') +@attr('fails_on_dho') def test_object_create_bad_authorization_unreadable(): key = _setup_bad_object({'Authorization': '\x07'}) @@ -714,6 +719,7 @@ def _create_new_connection(): @attr(operation='create w/empty content length') @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) +@attr('fails_on_dho') @attr('fails_on_rgw') def test_bucket_create_bad_contentlength_empty(): conn = _create_new_connection() @@ -730,6 +736,7 @@ def test_bucket_create_bad_contentlength_empty(): @attr(operation='create w/negative content length') @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) +@attr('fails_on_dho') def test_bucket_create_bad_contentlength_negative(): _add_custom_headers({'Content-Length': -1}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) @@ -752,6 +759,7 @@ def test_bucket_create_bad_contentlength_none(): @attr(operation='create w/non-graphic content length') @attr(assertion='fails 400') @nose.with_setup(teardown=_clear_custom_headers) +@attr('fails_on_dho') def test_bucket_create_bad_contentlength_unreadable(): _add_custom_headers({'Content-Length': '\x07'}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) @@ -812,6 +820,7 @@ def test_bucket_create_bad_authorization_invalid(): @attr(assertion='fails 403') @nose.with_setup(teardown=_clear_custom_headers) @attr('fails_on_rgw') +@attr('fails_on_dho') def test_bucket_create_bad_authorization_unreadable(): _add_custom_headers({'Authorization': '\x07'}) e = assert_raises(boto.exception.S3ResponseError, get_new_bucket) diff --git a/s3tests/functional/test_s3.py b/s3tests/functional/test_s3.py index 4b719a3..9c6d299 100644 --- a/s3tests/functional/test_s3.py +++ b/s3tests/functional/test_s3.py @@ -560,6 +560,7 @@ def test_bucket_list_maxkeys_invalid(): @attr('fails_on_rgw') +@attr('fails_on_dho') @attr(resource='bucket') @attr(method='get') @attr(operation='list all keys') @@ -2183,6 +2184,7 @@ def _head_bucket(bucket, authenticated=True): @attr(method='head') @attr(operation='head bucket') @attr(assertion='succeeds') +@attr('fails_on_dho') def test_bucket_head(): bucket = _setup_bucket_request('private') @@ -2193,6 +2195,7 @@ def test_bucket_head(): @attr(method='head') @attr(operation='read bucket extended information') @attr(assertion='extended information is getting updated') +@attr('fails_on_dho') def test_bucket_head_extended(): bucket = _setup_bucket_request('private') @@ -2250,6 +2253,7 @@ def test_object_raw_authenticated(): @attr(method='get') @attr(operation='authenticated on private bucket/private object with modified response headers') @attr(assertion='succeeds') +@attr('fails_on_dho') @attr('fails_on_rgw') def test_object_raw_response_headers(): (bucket, key) = _setup_request('private', 'private') @@ -3582,6 +3586,7 @@ def test_bucket_header_acl_grants(): @attr(method='ACLs') @attr(operation='add second FULL_CONTROL user') @attr(assertion='works for S3, fails for DHO') +@attr('fails_on_dho') def test_bucket_acl_grant_email(): bucket = get_new_bucket() # add alt user @@ -3653,6 +3658,7 @@ def test_bucket_acl_revoke_all(): @attr(operation='set/enable/disable logging target') @attr(assertion='operations succeed') @attr('fails_on_rgw') +@attr('fails_on_dho') def test_logging_toggle(): bucket = get_new_bucket() log_bucket = get_new_bucket(targets.main.default, bucket.name + '-log') @@ -3978,6 +3984,7 @@ def test_bucket_recreate_not_overriding(): @attr(method='put') @attr(operation='create and list objects with special names') @attr(assertion='special names work') +@attr('fails_on_dho') def test_bucket_create_special_key_names(): key_names = [' ', '%', '_', '_ ', '_ _', '__'] bucket = _create_keys(keys=key_names) @@ -4030,6 +4037,7 @@ def test_object_copy_same_bucket(): @attr(method='put') @attr(operation='copy object to itself') @attr(assertion='fails') +@attr('fails_on_dho') def test_object_copy_to_itself(): bucket = get_new_bucket() key = bucket.new_key('foo123bar') @@ -4043,6 +4051,7 @@ def test_object_copy_to_itself(): @attr(method='put') @attr(operation='modify object metadata by copying') @attr(assertion='fails') +@attr('fails_on_dho') def test_object_copy_to_itself_with_metadata(): bucket = get_new_bucket() key = bucket.new_key('foo123bar') @@ -4088,6 +4097,7 @@ def test_object_copy_not_owned_bucket(): @attr(method='put') @attr(operation='copy object and change acl') @attr(assertion='works') +@attr('fails_on_dho') def test_object_copy_canned_acl(): bucket = get_new_bucket() key = bucket.new_key('foo123bar') @@ -4712,6 +4722,7 @@ def test_atomic_dual_write_8mb(): @attr(operation='write file in deleted bucket') @attr(assertion='fail 404') @attr('fails_on_aws') +@attr('fails_on_dho') def test_atomic_write_bucket_gone(): bucket = get_new_bucket()