aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2025-10-15 11:27:39 -0700
committerGitHub <noreply@github.com>2025-10-15 11:27:39 -0700
commit3d25f206c83e893d6dc5ea419a8702f0f44655e0 (patch)
tree8eed0317efd9b93199525b531bf18b08abbd658f /.github/workflows
parentffc45a538d535c2cc9f374918c7db68c09809299 (diff)
downloadseaweedfs-3d25f206c83e893d6dc5ea419a8702f0f44655e0.tar.xz
seaweedfs-3d25f206c83e893d6dc5ea419a8702f0f44655e0.zip
S3: Signature verification should not check permissions (#7335)
* Signature verification should not check permissions - that's done later in authRequest * test permissions during signature verfication * fix s3 test path * s3tests_boto3 => s3tests * remove extra lines
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/s3tests.yml726
1 files changed, 363 insertions, 363 deletions
diff --git a/.github/workflows/s3tests.yml b/.github/workflows/s3tests.yml
index 6da1afd30..540247a34 100644
--- a/.github/workflows/s3tests.yml
+++ b/.github/workflows/s3tests.yml
@@ -107,7 +107,7 @@ jobs:
echo "All SeaweedFS components are ready!"
cd ../s3-tests
- sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests_boto3/functional/test_s3.py
+ sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests/functional/test_s3.py
# Debug: Show the config file contents
echo "=== S3 Config File Contents ==="
@@ -132,183 +132,183 @@ jobs:
echo "✅ S3 server is responding, starting tests..."
tox -- \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_distinct \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_many \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_many \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_encoding_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_encoding_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_ends_with_delimiter \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix_ends_with_delimiter \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_underscore \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix_underscore \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_percentage \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_percentage \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_whitespace \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_whitespace \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_dot \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_dot \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_not_skip_special \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_fetchowner_notempty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_fetchowner_defaultempty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_fetchowner_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_one \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_one \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_zero \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_zero \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_unordered \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_unordered \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_invalid \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_continuationtoken_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_continuationtoken \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_both_continuationtoken_startafter \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_not_in_list \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_not_in_list \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_after_list \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_after_list \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_return_data \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_objects_anonymous \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_objects_anonymous \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_objects_anonymous_fail \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_objects_anonymous_fail \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_long_name \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_special_prefix \
- s3tests_boto3/functional/test_s3.py::test_bucket_delete_notexist \
- s3tests_boto3/functional/test_s3.py::test_bucket_create_delete \
- s3tests_boto3/functional/test_s3.py::test_object_read_not_exist \
- s3tests_boto3/functional/test_s3.py::test_multi_object_delete \
- s3tests_boto3/functional/test_s3.py::test_multi_objectv2_delete \
- s3tests_boto3/functional/test_s3.py::test_object_head_zero_bytes \
- s3tests_boto3/functional/test_s3.py::test_object_write_check_etag \
- s3tests_boto3/functional/test_s3.py::test_object_write_cache_control \
- s3tests_boto3/functional/test_s3.py::test_object_write_expires \
- s3tests_boto3/functional/test_s3.py::test_object_write_read_update_read_delete \
- s3tests_boto3/functional/test_s3.py::test_object_metadata_replaced_on_put \
- s3tests_boto3/functional/test_s3.py::test_object_write_file \
- s3tests_boto3/functional/test_s3.py::test_post_object_invalid_date_format \
- s3tests_boto3/functional/test_s3.py::test_post_object_no_key_specified \
- s3tests_boto3/functional/test_s3.py::test_post_object_missing_signature \
- s3tests_boto3/functional/test_s3.py::test_post_object_condition_is_case_sensitive \
- s3tests_boto3/functional/test_s3.py::test_post_object_expires_is_case_sensitive \
- s3tests_boto3/functional/test_s3.py::test_post_object_missing_expires_condition \
- s3tests_boto3/functional/test_s3.py::test_post_object_missing_conditions_list \
- s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_limit_exceeded \
- s3tests_boto3/functional/test_s3.py::test_post_object_missing_content_length_argument \
- s3tests_boto3/functional/test_s3.py::test_post_object_invalid_content_length_argument \
- s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_below_minimum \
- s3tests_boto3/functional/test_s3.py::test_post_object_empty_conditions \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifmatch_good \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifnonematch_good \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifmatch_failed \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifnonematch_failed \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifmodifiedsince_good \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifmodifiedsince_failed \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifunmodifiedsince_failed \
- s3tests_boto3/functional/test_s3.py::test_bucket_head \
- s3tests_boto3/functional/test_s3.py::test_bucket_head_notexist \
- s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated \
- s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_bucket_acl \
- s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_object_acl \
- s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_object_gone \
- s3tests_boto3/functional/test_s3.py::test_object_raw_get_x_amz_expires_out_range_zero \
- s3tests_boto3/functional/test_s3.py::test_object_anon_put \
- s3tests_boto3/functional/test_s3.py::test_object_put_authenticated \
- s3tests_boto3/functional/test_s3.py::test_bucket_recreate_overwrite_acl \
- s3tests_boto3/functional/test_s3.py::test_bucket_recreate_new_acl \
- s3tests_boto3/functional/test_s3.py::test_buckets_create_then_list \
- s3tests_boto3/functional/test_s3.py::test_buckets_list_ctime \
- s3tests_boto3/functional/test_s3.py::test_list_buckets_invalid_auth \
- s3tests_boto3/functional/test_s3.py::test_list_buckets_bad_auth \
- s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_contains_period \
- s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_contains_hyphen \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_special_prefix \
- s3tests_boto3/functional/test_s3.py::test_object_copy_zero_size \
- s3tests_boto3/functional/test_s3.py::test_object_copy_same_bucket \
- s3tests_boto3/functional/test_s3.py::test_object_copy_to_itself \
- s3tests_boto3/functional/test_s3.py::test_object_copy_diff_bucket \
- s3tests_boto3/functional/test_s3.py::test_object_copy_canned_acl \
- s3tests_boto3/functional/test_s3.py::test_object_copy_bucket_not_found \
- s3tests_boto3/functional/test_s3.py::test_object_copy_key_not_found \
- s3tests_boto3/functional/test_s3.py::test_multipart_copy_small \
- s3tests_boto3/functional/test_s3.py::test_multipart_copy_without_range \
- s3tests_boto3/functional/test_s3.py::test_multipart_copy_special_names \
- s3tests_boto3/functional/test_s3.py::test_multipart_copy_multiple_sizes \
- s3tests_boto3/functional/test_s3.py::test_multipart_get_part \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_empty \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_multiple_sizes \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_contents \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_overwrite_existing_object \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_size_too_small \
- s3tests_boto3/functional/test_s3.py::test_multipart_resend_first_finishes_last \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_resend_part \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_missing_part \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_incorrect_etag \
- s3tests_boto3/functional/test_s3.py::test_abort_multipart_upload \
- s3tests_boto3/functional/test_s3.py::test_list_multipart_upload \
- s3tests_boto3/functional/test_s3.py::test_atomic_read_1mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_read_4mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_read_8mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_write_1mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_write_4mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_write_8mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_1mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_4mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_8mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_multipart_upload_write \
- s3tests_boto3/functional/test_s3.py::test_ranged_request_response_code \
- s3tests_boto3/functional/test_s3.py::test_ranged_big_request_response_code \
- s3tests_boto3/functional/test_s3.py::test_ranged_request_skip_leading_bytes_response_code \
- s3tests_boto3/functional/test_s3.py::test_ranged_request_return_trailing_bytes_response_code \
- s3tests_boto3/functional/test_s3.py::test_copy_object_ifmatch_good \
- s3tests_boto3/functional/test_s3.py::test_copy_object_ifnonematch_failed \
- s3tests_boto3/functional/test_s3.py::test_copy_object_ifmatch_failed \
- s3tests_boto3/functional/test_s3.py::test_copy_object_ifnonematch_good \
- s3tests_boto3/functional/test_s3.py::test_lifecycle_set \
- s3tests_boto3/functional/test_s3.py::test_lifecycle_get \
- s3tests_boto3/functional/test_s3.py::test_lifecycle_set_filter
+ s3tests/functional/test_s3.py::test_bucket_list_empty \
+ s3tests/functional/test_s3.py::test_bucket_list_distinct \
+ s3tests/functional/test_s3.py::test_bucket_list_many \
+ s3tests/functional/test_s3.py::test_bucket_listv2_many \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_basic \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_basic \
+ s3tests/functional/test_s3.py::test_bucket_listv2_encoding_basic \
+ s3tests/functional/test_s3.py::test_bucket_list_encoding_basic \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_prefix \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_prefix \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_ends_with_delimiter \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_prefix_ends_with_delimiter \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_alt \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_alt \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_underscore \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_prefix_underscore \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_percentage \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_percentage \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_whitespace \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_whitespace \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_dot \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_dot \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_empty \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_empty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_none \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_none \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_not_skip_special \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_basic \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_basic \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_alt \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_alt \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_fetchowner_notempty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_fetchowner_defaultempty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_fetchowner_empty \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_basic \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_basic \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_alt \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_alt \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_empty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_empty \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_none \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_none \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_list_maxkeys_one \
+ s3tests/functional/test_s3.py::test_bucket_listv2_maxkeys_one \
+ s3tests/functional/test_s3.py::test_bucket_list_maxkeys_zero \
+ s3tests/functional/test_s3.py::test_bucket_listv2_maxkeys_zero \
+ s3tests/functional/test_s3.py::test_bucket_list_maxkeys_none \
+ s3tests/functional/test_s3.py::test_bucket_listv2_maxkeys_none \
+ s3tests/functional/test_s3.py::test_bucket_list_unordered \
+ s3tests/functional/test_s3.py::test_bucket_listv2_unordered \
+ s3tests/functional/test_s3.py::test_bucket_list_maxkeys_invalid \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_none \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_empty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_continuationtoken_empty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_continuationtoken \
+ s3tests/functional/test_s3.py::test_bucket_listv2_both_continuationtoken_startafter \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_listv2_startafter_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_not_in_list \
+ s3tests/functional/test_s3.py::test_bucket_listv2_startafter_not_in_list \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_after_list \
+ s3tests/functional/test_s3.py::test_bucket_listv2_startafter_after_list \
+ s3tests/functional/test_s3.py::test_bucket_list_return_data \
+ s3tests/functional/test_s3.py::test_bucket_list_objects_anonymous \
+ s3tests/functional/test_s3.py::test_bucket_listv2_objects_anonymous \
+ s3tests/functional/test_s3.py::test_bucket_list_objects_anonymous_fail \
+ s3tests/functional/test_s3.py::test_bucket_listv2_objects_anonymous_fail \
+ s3tests/functional/test_s3.py::test_bucket_list_long_name \
+ s3tests/functional/test_s3.py::test_bucket_list_special_prefix \
+ s3tests/functional/test_s3.py::test_bucket_delete_notexist \
+ s3tests/functional/test_s3.py::test_bucket_create_delete \
+ s3tests/functional/test_s3.py::test_object_read_not_exist \
+ s3tests/functional/test_s3.py::test_multi_object_delete \
+ s3tests/functional/test_s3.py::test_multi_objectv2_delete \
+ s3tests/functional/test_s3.py::test_object_head_zero_bytes \
+ s3tests/functional/test_s3.py::test_object_write_check_etag \
+ s3tests/functional/test_s3.py::test_object_write_cache_control \
+ s3tests/functional/test_s3.py::test_object_write_expires \
+ s3tests/functional/test_s3.py::test_object_write_read_update_read_delete \
+ s3tests/functional/test_s3.py::test_object_metadata_replaced_on_put \
+ s3tests/functional/test_s3.py::test_object_write_file \
+ s3tests/functional/test_s3.py::test_post_object_invalid_date_format \
+ s3tests/functional/test_s3.py::test_post_object_no_key_specified \
+ s3tests/functional/test_s3.py::test_post_object_missing_signature \
+ s3tests/functional/test_s3.py::test_post_object_condition_is_case_sensitive \
+ s3tests/functional/test_s3.py::test_post_object_expires_is_case_sensitive \
+ s3tests/functional/test_s3.py::test_post_object_missing_expires_condition \
+ s3tests/functional/test_s3.py::test_post_object_missing_conditions_list \
+ s3tests/functional/test_s3.py::test_post_object_upload_size_limit_exceeded \
+ s3tests/functional/test_s3.py::test_post_object_missing_content_length_argument \
+ s3tests/functional/test_s3.py::test_post_object_invalid_content_length_argument \
+ s3tests/functional/test_s3.py::test_post_object_upload_size_below_minimum \
+ s3tests/functional/test_s3.py::test_post_object_empty_conditions \
+ s3tests/functional/test_s3.py::test_get_object_ifmatch_good \
+ s3tests/functional/test_s3.py::test_get_object_ifnonematch_good \
+ s3tests/functional/test_s3.py::test_get_object_ifmatch_failed \
+ s3tests/functional/test_s3.py::test_get_object_ifnonematch_failed \
+ s3tests/functional/test_s3.py::test_get_object_ifmodifiedsince_good \
+ s3tests/functional/test_s3.py::test_get_object_ifmodifiedsince_failed \
+ s3tests/functional/test_s3.py::test_get_object_ifunmodifiedsince_failed \
+ s3tests/functional/test_s3.py::test_bucket_head \
+ s3tests/functional/test_s3.py::test_bucket_head_notexist \
+ s3tests/functional/test_s3.py::test_object_raw_authenticated \
+ s3tests/functional/test_s3.py::test_object_raw_authenticated_bucket_acl \
+ s3tests/functional/test_s3.py::test_object_raw_authenticated_object_acl \
+ s3tests/functional/test_s3.py::test_object_raw_authenticated_object_gone \
+ s3tests/functional/test_s3.py::test_object_raw_get_x_amz_expires_out_range_zero \
+ s3tests/functional/test_s3.py::test_object_anon_put \
+ s3tests/functional/test_s3.py::test_object_put_authenticated \
+ s3tests/functional/test_s3.py::test_bucket_recreate_overwrite_acl \
+ s3tests/functional/test_s3.py::test_bucket_recreate_new_acl \
+ s3tests/functional/test_s3.py::test_buckets_create_then_list \
+ s3tests/functional/test_s3.py::test_buckets_list_ctime \
+ s3tests/functional/test_s3.py::test_list_buckets_invalid_auth \
+ s3tests/functional/test_s3.py::test_list_buckets_bad_auth \
+ s3tests/functional/test_s3.py::test_bucket_create_naming_good_contains_period \
+ s3tests/functional/test_s3.py::test_bucket_create_naming_good_contains_hyphen \
+ s3tests/functional/test_s3.py::test_bucket_list_special_prefix \
+ s3tests/functional/test_s3.py::test_object_copy_zero_size \
+ s3tests/functional/test_s3.py::test_object_copy_same_bucket \
+ s3tests/functional/test_s3.py::test_object_copy_to_itself \
+ s3tests/functional/test_s3.py::test_object_copy_diff_bucket \
+ s3tests/functional/test_s3.py::test_object_copy_canned_acl \
+ s3tests/functional/test_s3.py::test_object_copy_bucket_not_found \
+ s3tests/functional/test_s3.py::test_object_copy_key_not_found \
+ s3tests/functional/test_s3.py::test_multipart_copy_small \
+ s3tests/functional/test_s3.py::test_multipart_copy_without_range \
+ s3tests/functional/test_s3.py::test_multipart_copy_special_names \
+ s3tests/functional/test_s3.py::test_multipart_copy_multiple_sizes \
+ s3tests/functional/test_s3.py::test_multipart_get_part \
+ s3tests/functional/test_s3.py::test_multipart_upload \
+ s3tests/functional/test_s3.py::test_multipart_upload_empty \
+ s3tests/functional/test_s3.py::test_multipart_upload_multiple_sizes \
+ s3tests/functional/test_s3.py::test_multipart_upload_contents \
+ s3tests/functional/test_s3.py::test_multipart_upload_overwrite_existing_object \
+ s3tests/functional/test_s3.py::test_multipart_upload_size_too_small \
+ s3tests/functional/test_s3.py::test_multipart_resend_first_finishes_last \
+ s3tests/functional/test_s3.py::test_multipart_upload_resend_part \
+ s3tests/functional/test_s3.py::test_multipart_upload_missing_part \
+ s3tests/functional/test_s3.py::test_multipart_upload_incorrect_etag \
+ s3tests/functional/test_s3.py::test_abort_multipart_upload \
+ s3tests/functional/test_s3.py::test_list_multipart_upload \
+ s3tests/functional/test_s3.py::test_atomic_read_1mb \
+ s3tests/functional/test_s3.py::test_atomic_read_4mb \
+ s3tests/functional/test_s3.py::test_atomic_read_8mb \
+ s3tests/functional/test_s3.py::test_atomic_write_1mb \
+ s3tests/functional/test_s3.py::test_atomic_write_4mb \
+ s3tests/functional/test_s3.py::test_atomic_write_8mb \
+ s3tests/functional/test_s3.py::test_atomic_dual_write_1mb \
+ s3tests/functional/test_s3.py::test_atomic_dual_write_4mb \
+ s3tests/functional/test_s3.py::test_atomic_dual_write_8mb \
+ s3tests/functional/test_s3.py::test_atomic_multipart_upload_write \
+ s3tests/functional/test_s3.py::test_ranged_request_response_code \
+ s3tests/functional/test_s3.py::test_ranged_big_request_response_code \
+ s3tests/functional/test_s3.py::test_ranged_request_skip_leading_bytes_response_code \
+ s3tests/functional/test_s3.py::test_ranged_request_return_trailing_bytes_response_code \
+ s3tests/functional/test_s3.py::test_copy_object_ifmatch_good \
+ s3tests/functional/test_s3.py::test_copy_object_ifnonematch_failed \
+ s3tests/functional/test_s3.py::test_copy_object_ifmatch_failed \
+ s3tests/functional/test_s3.py::test_copy_object_ifnonematch_good \
+ s3tests/functional/test_s3.py::test_lifecycle_set \
+ s3tests/functional/test_s3.py::test_lifecycle_get \
+ s3tests/functional/test_s3.py::test_lifecycle_set_filter
kill -9 $pid || true
# Clean up data directory
rm -rf "$WEED_DATA_DIR" || true
@@ -408,7 +408,7 @@ jobs:
echo "All SeaweedFS components are ready!"
cd ../s3-tests
- sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests_boto3/functional/test_s3.py
+ sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests/functional/test_s3.py
# Create and update s3tests.conf to use port 8001
cp ../docker/compose/s3tests.conf ../docker/compose/s3tests-versioning.conf
sed -i 's/port = 8000/port = 8001/g' ../docker/compose/s3tests-versioning.conf
@@ -476,7 +476,7 @@ jobs:
" || echo "Cleanup completed with some errors (expected)"
# Run versioning and object lock tests once (avoid duplicates)
- tox -- s3tests_boto3/functional/test_s3.py -k "object_lock or versioning" --tb=short
+ tox -- s3tests/functional/test_s3.py -k "object_lock or versioning" --tb=short
kill -9 $pid || true
# Clean up data directory
rm -rf "$WEED_DATA_DIR" || true
@@ -566,7 +566,7 @@ jobs:
echo "All SeaweedFS components are ready!"
cd ../s3-tests
- sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests_boto3/functional/test_s3.py
+ sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests/functional/test_s3.py
# Create and update s3tests.conf to use port 8002
cp ../docker/compose/s3tests.conf ../docker/compose/s3tests-cors.conf
sed -i 's/port = 8000/port = 8002/g' ../docker/compose/s3tests-cors.conf
@@ -595,11 +595,11 @@ jobs:
sleep 2
done
# Run CORS-specific tests from s3-tests suite
- tox -- s3tests_boto3/functional/test_s3.py -k "cors" --tb=short || echo "No CORS tests found in s3-tests suite"
+ tox -- s3tests/functional/test_s3.py -k "cors" --tb=short || echo "No CORS tests found in s3-tests suite"
# If no specific CORS tests exist, run bucket configuration tests that include CORS
- tox -- s3tests_boto3/functional/test_s3.py::test_put_bucket_cors || echo "No put_bucket_cors test found"
- tox -- s3tests_boto3/functional/test_s3.py::test_get_bucket_cors || echo "No get_bucket_cors test found"
- tox -- s3tests_boto3/functional/test_s3.py::test_delete_bucket_cors || echo "No delete_bucket_cors test found"
+ tox -- s3tests/functional/test_s3.py::test_put_bucket_cors || echo "No put_bucket_cors test found"
+ tox -- s3tests/functional/test_s3.py::test_get_bucket_cors || echo "No get_bucket_cors test found"
+ tox -- s3tests/functional/test_s3.py::test_delete_bucket_cors || echo "No delete_bucket_cors test found"
kill -9 $pid || true
# Clean up data directory
rm -rf "$WEED_DATA_DIR" || true
@@ -896,7 +896,7 @@ jobs:
echo "All SeaweedFS components are ready!"
cd ../s3-tests
- sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests_boto3/functional/test_s3.py
+ sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests/functional/test_s3.py
# Create and update s3tests.conf to use port 8004
cp ../docker/compose/s3tests.conf ../docker/compose/s3tests-sql.conf
sed -i 's/port = 8000/port = 8004/g' ../docker/compose/s3tests-sql.conf
@@ -947,183 +947,183 @@ jobs:
sleep 2
done
tox -- \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_distinct \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_many \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_many \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_encoding_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_encoding_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_ends_with_delimiter \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix_ends_with_delimiter \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_underscore \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_prefix_underscore \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_percentage \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_percentage \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_whitespace \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_whitespace \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_dot \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_dot \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_delimiter_not_skip_special \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_delimiter_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_fetchowner_notempty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_fetchowner_defaultempty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_fetchowner_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_basic \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_alt \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_not_exist \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_prefix_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_prefix_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_one \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_one \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_zero \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_zero \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_maxkeys_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_unordered \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_unordered \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_maxkeys_invalid \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_none \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_continuationtoken_empty \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_continuationtoken \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_both_continuationtoken_startafter \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_unreadable \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_not_in_list \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_not_in_list \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_marker_after_list \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_startafter_after_list \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_return_data \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_objects_anonymous \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_objects_anonymous \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_objects_anonymous_fail \
- s3tests_boto3/functional/test_s3.py::test_bucket_listv2_objects_anonymous_fail \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_long_name \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_special_prefix \
- s3tests_boto3/functional/test_s3.py::test_bucket_delete_notexist \
- s3tests_boto3/functional/test_s3.py::test_bucket_create_delete \
- s3tests_boto3/functional/test_s3.py::test_object_read_not_exist \
- s3tests_boto3/functional/test_s3.py::test_multi_object_delete \
- s3tests_boto3/functional/test_s3.py::test_multi_objectv2_delete \
- s3tests_boto3/functional/test_s3.py::test_object_head_zero_bytes \
- s3tests_boto3/functional/test_s3.py::test_object_write_check_etag \
- s3tests_boto3/functional/test_s3.py::test_object_write_cache_control \
- s3tests_boto3/functional/test_s3.py::test_object_write_expires \
- s3tests_boto3/functional/test_s3.py::test_object_write_read_update_read_delete \
- s3tests_boto3/functional/test_s3.py::test_object_metadata_replaced_on_put \
- s3tests_boto3/functional/test_s3.py::test_object_write_file \
- s3tests_boto3/functional/test_s3.py::test_post_object_invalid_date_format \
- s3tests_boto3/functional/test_s3.py::test_post_object_no_key_specified \
- s3tests_boto3/functional/test_s3.py::test_post_object_missing_signature \
- s3tests_boto3/functional/test_s3.py::test_post_object_condition_is_case_sensitive \
- s3tests_boto3/functional/test_s3.py::test_post_object_expires_is_case_sensitive \
- s3tests_boto3/functional/test_s3.py::test_post_object_missing_expires_condition \
- s3tests_boto3/functional/test_s3.py::test_post_object_missing_conditions_list \
- s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_limit_exceeded \
- s3tests_boto3/functional/test_s3.py::test_post_object_missing_content_length_argument \
- s3tests_boto3/functional/test_s3.py::test_post_object_invalid_content_length_argument \
- s3tests_boto3/functional/test_s3.py::test_post_object_upload_size_below_minimum \
- s3tests_boto3/functional/test_s3.py::test_post_object_empty_conditions \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifmatch_good \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifnonematch_good \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifmatch_failed \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifnonematch_failed \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifmodifiedsince_good \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifmodifiedsince_failed \
- s3tests_boto3/functional/test_s3.py::test_get_object_ifunmodifiedsince_failed \
- s3tests_boto3/functional/test_s3.py::test_bucket_head \
- s3tests_boto3/functional/test_s3.py::test_bucket_head_notexist \
- s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated \
- s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_bucket_acl \
- s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_object_acl \
- s3tests_boto3/functional/test_s3.py::test_object_raw_authenticated_object_gone \
- s3tests_boto3/functional/test_s3.py::test_object_raw_get_x_amz_expires_out_range_zero \
- s3tests_boto3/functional/test_s3.py::test_object_anon_put \
- s3tests_boto3/functional/test_s3.py::test_object_put_authenticated \
- s3tests_boto3/functional/test_s3.py::test_bucket_recreate_overwrite_acl \
- s3tests_boto3/functional/test_s3.py::test_bucket_recreate_new_acl \
- s3tests_boto3/functional/test_s3.py::test_buckets_create_then_list \
- s3tests_boto3/functional/test_s3.py::test_buckets_list_ctime \
- s3tests_boto3/functional/test_s3.py::test_list_buckets_invalid_auth \
- s3tests_boto3/functional/test_s3.py::test_list_buckets_bad_auth \
- s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_contains_period \
- s3tests_boto3/functional/test_s3.py::test_bucket_create_naming_good_contains_hyphen \
- s3tests_boto3/functional/test_s3.py::test_bucket_list_special_prefix \
- s3tests_boto3/functional/test_s3.py::test_object_copy_zero_size \
- s3tests_boto3/functional/test_s3.py::test_object_copy_same_bucket \
- s3tests_boto3/functional/test_s3.py::test_object_copy_to_itself \
- s3tests_boto3/functional/test_s3.py::test_object_copy_diff_bucket \
- s3tests_boto3/functional/test_s3.py::test_object_copy_canned_acl \
- s3tests_boto3/functional/test_s3.py::test_object_copy_bucket_not_found \
- s3tests_boto3/functional/test_s3.py::test_object_copy_key_not_found \
- s3tests_boto3/functional/test_s3.py::test_multipart_copy_small \
- s3tests_boto3/functional/test_s3.py::test_multipart_copy_without_range \
- s3tests_boto3/functional/test_s3.py::test_multipart_copy_special_names \
- s3tests_boto3/functional/test_s3.py::test_multipart_copy_multiple_sizes \
- s3tests_boto3/functional/test_s3.py::test_multipart_get_part \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_empty \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_multiple_sizes \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_contents \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_overwrite_existing_object \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_size_too_small \
- s3tests_boto3/functional/test_s3.py::test_multipart_resend_first_finishes_last \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_resend_part \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_missing_part \
- s3tests_boto3/functional/test_s3.py::test_multipart_upload_incorrect_etag \
- s3tests_boto3/functional/test_s3.py::test_abort_multipart_upload \
- s3tests_boto3/functional/test_s3.py::test_list_multipart_upload \
- s3tests_boto3/functional/test_s3.py::test_atomic_read_1mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_read_4mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_read_8mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_write_1mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_write_4mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_write_8mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_1mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_4mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_dual_write_8mb \
- s3tests_boto3/functional/test_s3.py::test_atomic_multipart_upload_write \
- s3tests_boto3/functional/test_s3.py::test_ranged_request_response_code \
- s3tests_boto3/functional/test_s3.py::test_ranged_big_request_response_code \
- s3tests_boto3/functional/test_s3.py::test_ranged_request_skip_leading_bytes_response_code \
- s3tests_boto3/functional/test_s3.py::test_ranged_request_return_trailing_bytes_response_code \
- s3tests_boto3/functional/test_s3.py::test_copy_object_ifmatch_good \
- s3tests_boto3/functional/test_s3.py::test_copy_object_ifnonematch_failed \
- s3tests_boto3/functional/test_s3.py::test_copy_object_ifmatch_failed \
- s3tests_boto3/functional/test_s3.py::test_copy_object_ifnonematch_good \
- s3tests_boto3/functional/test_s3.py::test_lifecycle_set \
- s3tests_boto3/functional/test_s3.py::test_lifecycle_get \
- s3tests_boto3/functional/test_s3.py::test_lifecycle_set_filter
+ s3tests/functional/test_s3.py::test_bucket_list_empty \
+ s3tests/functional/test_s3.py::test_bucket_list_distinct \
+ s3tests/functional/test_s3.py::test_bucket_list_many \
+ s3tests/functional/test_s3.py::test_bucket_listv2_many \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_basic \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_basic \
+ s3tests/functional/test_s3.py::test_bucket_listv2_encoding_basic \
+ s3tests/functional/test_s3.py::test_bucket_list_encoding_basic \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_prefix \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_prefix \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_ends_with_delimiter \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_prefix_ends_with_delimiter \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_alt \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_alt \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_prefix_underscore \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_prefix_underscore \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_percentage \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_percentage \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_whitespace \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_whitespace \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_dot \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_dot \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_empty \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_empty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_none \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_none \
+ s3tests/functional/test_s3.py::test_bucket_listv2_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_delimiter_not_skip_special \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_basic \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_basic \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_alt \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_alt \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_delimiter_prefix_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_delimiter_prefix_delimiter_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_fetchowner_notempty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_fetchowner_defaultempty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_fetchowner_empty \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_basic \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_basic \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_alt \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_alt \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_empty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_empty \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_none \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_none \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_not_exist \
+ s3tests/functional/test_s3.py::test_bucket_list_prefix_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_listv2_prefix_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_list_maxkeys_one \
+ s3tests/functional/test_s3.py::test_bucket_listv2_maxkeys_one \
+ s3tests/functional/test_s3.py::test_bucket_list_maxkeys_zero \
+ s3tests/functional/test_s3.py::test_bucket_listv2_maxkeys_zero \
+ s3tests/functional/test_s3.py::test_bucket_list_maxkeys_none \
+ s3tests/functional/test_s3.py::test_bucket_listv2_maxkeys_none \
+ s3tests/functional/test_s3.py::test_bucket_list_unordered \
+ s3tests/functional/test_s3.py::test_bucket_listv2_unordered \
+ s3tests/functional/test_s3.py::test_bucket_list_maxkeys_invalid \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_none \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_empty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_continuationtoken_empty \
+ s3tests/functional/test_s3.py::test_bucket_listv2_continuationtoken \
+ s3tests/functional/test_s3.py::test_bucket_listv2_both_continuationtoken_startafter \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_listv2_startafter_unreadable \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_not_in_list \
+ s3tests/functional/test_s3.py::test_bucket_listv2_startafter_not_in_list \
+ s3tests/functional/test_s3.py::test_bucket_list_marker_after_list \
+ s3tests/functional/test_s3.py::test_bucket_listv2_startafter_after_list \
+ s3tests/functional/test_s3.py::test_bucket_list_return_data \
+ s3tests/functional/test_s3.py::test_bucket_list_objects_anonymous \
+ s3tests/functional/test_s3.py::test_bucket_listv2_objects_anonymous \
+ s3tests/functional/test_s3.py::test_bucket_list_objects_anonymous_fail \
+ s3tests/functional/test_s3.py::test_bucket_listv2_objects_anonymous_fail \
+ s3tests/functional/test_s3.py::test_bucket_list_long_name \
+ s3tests/functional/test_s3.py::test_bucket_list_special_prefix \
+ s3tests/functional/test_s3.py::test_bucket_delete_notexist \
+ s3tests/functional/test_s3.py::test_bucket_create_delete \
+ s3tests/functional/test_s3.py::test_object_read_not_exist \
+ s3tests/functional/test_s3.py::test_multi_object_delete \
+ s3tests/functional/test_s3.py::test_multi_objectv2_delete \
+ s3tests/functional/test_s3.py::test_object_head_zero_bytes \
+ s3tests/functional/test_s3.py::test_object_write_check_etag \
+ s3tests/functional/test_s3.py::test_object_write_cache_control \
+ s3tests/functional/test_s3.py::test_object_write_expires \
+ s3tests/functional/test_s3.py::test_object_write_read_update_read_delete \
+ s3tests/functional/test_s3.py::test_object_metadata_replaced_on_put \
+ s3tests/functional/test_s3.py::test_object_write_file \
+ s3tests/functional/test_s3.py::test_post_object_invalid_date_format \
+ s3tests/functional/test_s3.py::test_post_object_no_key_specified \
+ s3tests/functional/test_s3.py::test_post_object_missing_signature \
+ s3tests/functional/test_s3.py::test_post_object_condition_is_case_sensitive \
+ s3tests/functional/test_s3.py::test_post_object_expires_is_case_sensitive \
+ s3tests/functional/test_s3.py::test_post_object_missing_expires_condition \
+ s3tests/functional/test_s3.py::test_post_object_missing_conditions_list \
+ s3tests/functional/test_s3.py::test_post_object_upload_size_limit_exceeded \
+ s3tests/functional/test_s3.py::test_post_object_missing_content_length_argument \
+ s3tests/functional/test_s3.py::test_post_object_invalid_content_length_argument \
+ s3tests/functional/test_s3.py::test_post_object_upload_size_below_minimum \
+ s3tests/functional/test_s3.py::test_post_object_empty_conditions \
+ s3tests/functional/test_s3.py::test_get_object_ifmatch_good \
+ s3tests/functional/test_s3.py::test_get_object_ifnonematch_good \
+ s3tests/functional/test_s3.py::test_get_object_ifmatch_failed \
+ s3tests/functional/test_s3.py::test_get_object_ifnonematch_failed \
+ s3tests/functional/test_s3.py::test_get_object_ifmodifiedsince_good \
+ s3tests/functional/test_s3.py::test_get_object_ifmodifiedsince_failed \
+ s3tests/functional/test_s3.py::test_get_object_ifunmodifiedsince_failed \
+ s3tests/functional/test_s3.py::test_bucket_head \
+ s3tests/functional/test_s3.py::test_bucket_head_notexist \
+ s3tests/functional/test_s3.py::test_object_raw_authenticated \
+ s3tests/functional/test_s3.py::test_object_raw_authenticated_bucket_acl \
+ s3tests/functional/test_s3.py::test_object_raw_authenticated_object_acl \
+ s3tests/functional/test_s3.py::test_object_raw_authenticated_object_gone \
+ s3tests/functional/test_s3.py::test_object_raw_get_x_amz_expires_out_range_zero \
+ s3tests/functional/test_s3.py::test_object_anon_put \
+ s3tests/functional/test_s3.py::test_object_put_authenticated \
+ s3tests/functional/test_s3.py::test_bucket_recreate_overwrite_acl \
+ s3tests/functional/test_s3.py::test_bucket_recreate_new_acl \
+ s3tests/functional/test_s3.py::test_buckets_create_then_list \
+ s3tests/functional/test_s3.py::test_buckets_list_ctime \
+ s3tests/functional/test_s3.py::test_list_buckets_invalid_auth \
+ s3tests/functional/test_s3.py::test_list_buckets_bad_auth \
+ s3tests/functional/test_s3.py::test_bucket_create_naming_good_contains_period \
+ s3tests/functional/test_s3.py::test_bucket_create_naming_good_contains_hyphen \
+ s3tests/functional/test_s3.py::test_bucket_list_special_prefix \
+ s3tests/functional/test_s3.py::test_object_copy_zero_size \
+ s3tests/functional/test_s3.py::test_object_copy_same_bucket \
+ s3tests/functional/test_s3.py::test_object_copy_to_itself \
+ s3tests/functional/test_s3.py::test_object_copy_diff_bucket \
+ s3tests/functional/test_s3.py::test_object_copy_canned_acl \
+ s3tests/functional/test_s3.py::test_object_copy_bucket_not_found \
+ s3tests/functional/test_s3.py::test_object_copy_key_not_found \
+ s3tests/functional/test_s3.py::test_multipart_copy_small \
+ s3tests/functional/test_s3.py::test_multipart_copy_without_range \
+ s3tests/functional/test_s3.py::test_multipart_copy_special_names \
+ s3tests/functional/test_s3.py::test_multipart_copy_multiple_sizes \
+ s3tests/functional/test_s3.py::test_multipart_get_part \
+ s3tests/functional/test_s3.py::test_multipart_upload \
+ s3tests/functional/test_s3.py::test_multipart_upload_empty \
+ s3tests/functional/test_s3.py::test_multipart_upload_multiple_sizes \
+ s3tests/functional/test_s3.py::test_multipart_upload_contents \
+ s3tests/functional/test_s3.py::test_multipart_upload_overwrite_existing_object \
+ s3tests/functional/test_s3.py::test_multipart_upload_size_too_small \
+ s3tests/functional/test_s3.py::test_multipart_resend_first_finishes_last \
+ s3tests/functional/test_s3.py::test_multipart_upload_resend_part \
+ s3tests/functional/test_s3.py::test_multipart_upload_missing_part \
+ s3tests/functional/test_s3.py::test_multipart_upload_incorrect_etag \
+ s3tests/functional/test_s3.py::test_abort_multipart_upload \
+ s3tests/functional/test_s3.py::test_list_multipart_upload \
+ s3tests/functional/test_s3.py::test_atomic_read_1mb \
+ s3tests/functional/test_s3.py::test_atomic_read_4mb \
+ s3tests/functional/test_s3.py::test_atomic_read_8mb \
+ s3tests/functional/test_s3.py::test_atomic_write_1mb \
+ s3tests/functional/test_s3.py::test_atomic_write_4mb \
+ s3tests/functional/test_s3.py::test_atomic_write_8mb \
+ s3tests/functional/test_s3.py::test_atomic_dual_write_1mb \
+ s3tests/functional/test_s3.py::test_atomic_dual_write_4mb \
+ s3tests/functional/test_s3.py::test_atomic_dual_write_8mb \
+ s3tests/functional/test_s3.py::test_atomic_multipart_upload_write \
+ s3tests/functional/test_s3.py::test_ranged_request_response_code \
+ s3tests/functional/test_s3.py::test_ranged_big_request_response_code \
+ s3tests/functional/test_s3.py::test_ranged_request_skip_leading_bytes_response_code \
+ s3tests/functional/test_s3.py::test_ranged_request_return_trailing_bytes_response_code \
+ s3tests/functional/test_s3.py::test_copy_object_ifmatch_good \
+ s3tests/functional/test_s3.py::test_copy_object_ifnonematch_failed \
+ s3tests/functional/test_s3.py::test_copy_object_ifmatch_failed \
+ s3tests/functional/test_s3.py::test_copy_object_ifnonematch_good \
+ s3tests/functional/test_s3.py::test_lifecycle_set \
+ s3tests/functional/test_s3.py::test_lifecycle_get \
+ s3tests/functional/test_s3.py::test_lifecycle_set_filter
kill -9 $pid || true
# Clean up data directory
rm -rf "$WEED_DATA_DIR" || true