diff --git a/s3tests/functional/test_headers.py b/s3tests/functional/test_headers.py index 450716e..97d1765 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}) @@ -320,6 +322,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'}) @@ -400,6 +403,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'}) @@ -460,6 +464,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'}) @@ -715,6 +720,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() @@ -731,6 +737,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) @@ -754,6 +761,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) @@ -814,6 +822,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 884dc96..9ef2128 100644 --- a/s3tests/functional/test_s3.py +++ b/s3tests/functional/test_s3.py @@ -506,6 +506,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') @@ -2151,6 +2152,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') @@ -2161,6 +2163,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') @@ -2218,6 +2221,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') @@ -3326,6 +3330,7 @@ def test_bucket_acl_no_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 @@ -3397,6 +3402,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 = s3.main.create_bucket(bucket.name + '-log') @@ -3722,6 +3728,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) @@ -3760,6 +3767,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') @@ -3773,6 +3781,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') @@ -3818,6 +3827,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') @@ -4257,6 +4267,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()