Browse Source
chore(tests): update S3 compat tests
chore(tests): update S3 compat tests
While present, the S3 compatibility tests were broken (at the very least when running on Linux) due to a few issues: - `ubuntu:latest` moving ahead of Python 3.6 - Docker networking not working as expected (host.docker.internal) This commit fixes the s3 compatibility tests, ensuring they run properly on linux, and updates the repository to contain some results. Signed-off-by: vados <vados@vadosware.io>pull/4998/head
vados
1 year ago
committed by
Chris Lu
7 changed files with 533 additions and 18 deletions
-
6test/s3/compatibility/.gitignore
-
16test/s3/compatibility/Dockerfile
-
9test/s3/compatibility/Makefile
-
240test/s3/compatibility/README.md
-
186test/s3/compatibility/results.summary.txt
-
86test/s3/compatibility/run.sh
-
8test/s3/compatibility/s3tests.conf
@ -1,2 +1,8 @@ |
|||||
|
# Test run scratch data |
||||
/s3-tests |
/s3-tests |
||||
/tmp |
/tmp |
||||
|
|
||||
|
# Test run outputs |
||||
|
weed.log |
||||
|
compat.raw.txt |
||||
|
compat.summary.txt |
@ -1,11 +1,21 @@ |
|||||
# the tests only support python 3.6, not newer |
# the tests only support python 3.6, not newer |
||||
FROM ubuntu:latest |
|
||||
|
#FROM ubuntu:latest |
||||
|
FROM python:3.6.15-slim-buster |
||||
|
|
||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y git-core sudo tzdata |
|
||||
|
# Installed required system deps |
||||
|
RUN apt-get update \ |
||||
|
&& DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y git-core sudo tzdata |
||||
|
|
||||
|
# Install python deps |
||||
|
RUN pip install virtualenv |
||||
|
|
||||
|
# Clone Ceph S3 tests |
||||
RUN git clone https://github.com/ceph/s3-tests.git |
RUN git clone https://github.com/ceph/s3-tests.git |
||||
|
|
||||
WORKDIR s3-tests |
WORKDIR s3-tests |
||||
|
|
||||
# we pin a certain commit |
|
||||
|
# Pin to a certain commit on ceph/s3-tests |
||||
|
# https://github.com/ceph/s3-tests/commit/9a6a1e9f197fc9fb031b809d1e057635c2ff8d4e |
||||
RUN git checkout 9a6a1e9f197fc9fb031b809d1e057635c2ff8d4e |
RUN git checkout 9a6a1e9f197fc9fb031b809d1e057635c2ff8d4e |
||||
|
|
||||
RUN ./bootstrap |
RUN ./bootstrap |
@ -0,0 +1,9 @@ |
|||||
|
.PHONY: all build-image test |
||||
|
|
||||
|
all: build-image test |
||||
|
|
||||
|
build-image: |
||||
|
./prepare.sh |
||||
|
|
||||
|
test: |
||||
|
./run.sh |
@ -1,13 +1,245 @@ |
|||||
# Running S3 Compatibility tests against SeaweedFS |
# Running S3 Compatibility tests against SeaweedFS |
||||
|
|
||||
This is using [the tests from CephFS](https://github.com/ceph/s3-tests). |
|
||||
|
This is using [the tests from CephFS][s3-tests]. |
||||
|
|
||||
|
[s3-tests]: https://github.com/ceph/s3-tests |
||||
|
|
||||
## Prerequisites |
## Prerequisites |
||||
|
|
||||
- have Docker installed |
|
||||
|
- have [Docker][docker] installed |
||||
- this has been executed on Mac. On Linux, the hostname in `s3tests.conf` needs to be adjusted. |
- this has been executed on Mac. On Linux, the hostname in `s3tests.conf` needs to be adjusted. |
||||
|
|
||||
|
[docker]: https://docs.docker.com |
||||
|
|
||||
## Running tests |
## Running tests |
||||
|
|
||||
- `./prepare.sh` to build the docker image |
|
||||
- `./run.sh` to execute all tests |
|
||||
|
To build the docker image that is used for the tests: |
||||
|
|
||||
|
```console |
||||
|
./prepare.sh |
||||
|
``` |
||||
|
|
||||
|
To execute all tests: |
||||
|
|
||||
|
```console |
||||
|
./run.sh |
||||
|
``` |
||||
|
To see debug output including all commands run by the script: |
||||
|
|
||||
|
```console |
||||
|
DEBUG=y ./run.sh |
||||
|
``` |
||||
|
|
||||
|
> [!WARNING] |
||||
|
> |
||||
|
> If your output does *not* look like the content in [`results.summary.txt`](./results.summary.txt) |
||||
|
> and it is full of HTTP level exceptions, there is likely an error contacting the `weed` server from |
||||
|
> the container that is runnin the S3 compatibility tests. |
||||
|
> |
||||
|
> There are at least a couple ways to solve this: |
||||
|
> |
||||
|
> - Modify your `docker` setup to ensure `host.docker.internal` is connected to your host running `weed` |
||||
|
> - Use `--net=host` and modify `host` in `s3tests.conf` to `localhost` |
||||
|
> |
||||
|
> The `--net=host` solution is potentially *unsafe*, as the container running [s3-tests][s3-tests] could |
||||
|
> visit unexpected websites or use the host-passthrough internet access maliciously. |
||||
|
> |
||||
|
> If you are OK with the risk of allowing `--net=host`: |
||||
|
> |
||||
|
> - Set `host = localhost` in `s3tests.conf` |
||||
|
> - Set `DOCKER_NET_HOST=y` when running `run.sh` |
||||
|
|
||||
|
## Most recent results |
||||
|
|
||||
|
See [`results.summary.txt`](./results.summary.txt) for the latest results of compatibility testing (with the caveat that `s3-tests` is pinned to [`ceph/s3-tests` @ 9a6a1e9f197fc9fb031b809d1e057635c2ff8d4e](https://github.com/ceph/s3-tests/commit/9a6a1e9f197fc9fb031b809d1e057635c2ff8d4e)). |
||||
|
|
||||
|
The file is reproduced below for ease of access: |
||||
|
|
||||
|
``` |
||||
|
/s3-tests/virtualenv/lib/python3.6/site-packages/boto3/compat.py:88: PythonDeprecationWarning: Boto3 will no longer support Python 3.6 starting May 30, 2022. To continue receiving service updates, bug fixes, and security updates please upgrade to Python 3.7 or later. More information can be found here: https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/ |
||||
|
warnings.warn(warning, PythonDeprecationWarning) |
||||
|
s3tests_boto3.functional.test_s3.test_bucket_list_return_data ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_to_nonexist_bucket ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_read_not_exist ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_requestid_matches_header_on_error ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_multi_object_delete ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multi_objectv2_delete ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multi_object_delete_key_limit ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multi_objectv2_delete_key_limit ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_head_zero_bytes ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_check_etag ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_cache_control ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_expires ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_read_update_read_delete ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_metadata_replaced_on_put ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_file ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_anonymous_request ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_authenticated_request ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_authenticated_no_content_type ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_authenticated_request_bad_access_key ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_set_success_code ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_set_invalid_success_code ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_upload_larger_than_chunk ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_set_key_from_filename ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_ignored_header ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_case_insensitive_condition_fields ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_escaped_field_values ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_success_redirect_action ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_signature ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_access_key ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_date_format ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_no_key_specified ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_signature ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_policy_condition ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_user_specified_header ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_request_missing_policy_specified_field ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_condition_is_case_sensitive ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_expires_is_case_sensitive ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_expired_policy ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_request_field_value ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_expires_condition ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_conditions_list ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_upload_size_limit_exceeded ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_content_length_argument ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_content_length_argument ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_upload_size_below_minimum ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_empty_conditions ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifmatch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifmatch_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifnonematch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifnonematch_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifmodifiedsince_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifmodifiedsince_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifunmodifiedsince_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifunmodifiedsince_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifmatch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifmatch_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifmatch_overwrite_existed_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifmatch_nonexisted_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifnonmatch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifnonmatch_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifnonmatch_nonexisted_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifnonmatch_overwrite_existed_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_bucket_gone ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_delete_key_bucket_gone ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_object_gone ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_response_headers ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated_bucket_acl ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated_object_acl ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated_bucket_gone ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated_object_gone ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_not_expired ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_out_range_zero ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_out_max_range ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_out_positive_range ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_anon_put ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_anon_put_write_access ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_put_authenticated ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_put_authenticated_expired ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_canned_publicreadwrite ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_write ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_writeacp ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_read ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_readacp ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_header_acl_grants ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_object_private ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_objectv2_private ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_object_publicread ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_objectv2_publicread ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_object_publicreadwrite ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_objectv2_publicreadwrite ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicread_object_private ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicread_object_publicread ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicread_object_publicreadwrite ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicreadwrite_object_private ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicreadwrite_object_publicread ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicreadwrite_object_publicreadwrite ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_bucket_create_special_key_names ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_zero_size ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_same_bucket ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_verify_contenttype ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_to_itself ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_to_itself_with_metadata ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_diff_bucket ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_not_owned_bucket ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_not_owned_object_bucket ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_canned_acl ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_retaining_metadata ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_replacing_metadata ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_bucket_not_found ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_key_not_found ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_empty ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_small ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_small ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_invalid_range ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_improper_range ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_without_range ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_special_names ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_resend_part ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_size_too_small ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_contents ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_overwrite_existing_object ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_abort_multipart_upload ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_abort_multipart_upload_not_found ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_list_multipart_upload ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_missing_part ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_incorrect_etag ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_100_continue ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_read_1mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_read_4mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_read_8mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_write_1mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_write_4mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_write_8mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_dual_write_1mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_dual_write_4mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_dual_write_8mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_conditional_write_1mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_dual_conditional_write_1mb ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_write_bucket_gone ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_multipart_upload_write ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_resend_first_finishes_last ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_response_code ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_big_request_response_code ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_skip_leading_bytes_response_code ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_return_trailing_bytes_response_code ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_invalid_range ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_empty_object ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_obj_tagging ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_obj_head_tagging ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_max_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_excess_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_max_kvsize_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_excess_key_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_excess_val_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_modify_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_delete_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_tags_anonymous_request ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_tags_authenticated_request ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_put_obj_with_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_lock_multi_delete_object_with_retention ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_lock_changing_mode_from_governance_with_bypass ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_lock_changing_mode_from_governance_without_bypass ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_lock_changing_mode_from_compliance ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_copy_object_ifmatch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_copy_object_ifmatch_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_copy_object_ifnonematch_good ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_copy_object_ifnonematch_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_read_unreadable ... FAIL |
||||
|
ERROR |
||||
|
|
||||
|
====================================================================== |
||||
|
ERROR: s3tests_boto3.functional.test_s3.test_bucket_list_return_data |
||||
|
---------------------------------------------------------------------- |
||||
|
Traceback (most recent call last): |
||||
|
File "/s3-tests/virtualenv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest |
||||
|
self.test(*self.arg) |
||||
|
File "/s3-tests/s3tests_boto3/functional/test_s3.py", line 1669, in test_bucket_list_return_data |
||||
|
'DisplayName': acl_response['Owner']['DisplayName'], |
||||
|
KeyError: 'Owner' |
||||
|
-------------------- >> begin captured logging << -------------------- |
||||
|
``` |
@ -0,0 +1,186 @@ |
|||||
|
/s3-tests/virtualenv/lib/python3.6/site-packages/boto3/compat.py:88: PythonDeprecationWarning: Boto3 will no longer support Python 3.6 starting May 30, 2022. To continue receiving service updates, bug fixes, and security updates please upgrade to Python 3.7 or later. More information can be found here: https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/ |
||||
|
warnings.warn(warning, PythonDeprecationWarning) |
||||
|
s3tests_boto3.functional.test_s3.test_bucket_list_return_data ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_to_nonexist_bucket ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_read_not_exist ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_requestid_matches_header_on_error ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_multi_object_delete ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multi_objectv2_delete ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multi_object_delete_key_limit ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multi_objectv2_delete_key_limit ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_head_zero_bytes ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_check_etag ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_cache_control ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_expires ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_read_update_read_delete ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_metadata_replaced_on_put ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_write_file ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_anonymous_request ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_authenticated_request ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_authenticated_no_content_type ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_authenticated_request_bad_access_key ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_set_success_code ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_set_invalid_success_code ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_upload_larger_than_chunk ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_set_key_from_filename ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_ignored_header ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_case_insensitive_condition_fields ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_escaped_field_values ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_success_redirect_action ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_signature ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_access_key ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_date_format ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_no_key_specified ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_signature ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_policy_condition ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_user_specified_header ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_request_missing_policy_specified_field ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_condition_is_case_sensitive ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_expires_is_case_sensitive ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_expired_policy ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_request_field_value ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_expires_condition ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_conditions_list ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_upload_size_limit_exceeded ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_missing_content_length_argument ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_invalid_content_length_argument ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_upload_size_below_minimum ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_empty_conditions ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifmatch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifmatch_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifnonematch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifnonematch_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifmodifiedsince_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifmodifiedsince_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifunmodifiedsince_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_object_ifunmodifiedsince_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifmatch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifmatch_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifmatch_overwrite_existed_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifmatch_nonexisted_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifnonmatch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifnonmatch_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifnonmatch_nonexisted_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_object_ifnonmatch_overwrite_existed_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_bucket_gone ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_delete_key_bucket_gone ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_object_gone ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_response_headers ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated_bucket_acl ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated_object_acl ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated_bucket_gone ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_authenticated_object_gone ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_not_expired ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_out_range_zero ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_out_max_range ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_get_x_amz_expires_out_positive_range ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_anon_put ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_anon_put_write_access ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_put_authenticated ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_raw_put_authenticated_expired ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_canned_publicreadwrite ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_write ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_writeacp ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_read ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_acl_readacp ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_header_acl_grants ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_object_private ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_objectv2_private ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_object_publicread ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_objectv2_publicread ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_object_publicreadwrite ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_private_objectv2_publicreadwrite ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicread_object_private ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicread_object_publicread ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicread_object_publicreadwrite ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicreadwrite_object_private ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicreadwrite_object_publicread ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_access_bucket_publicreadwrite_object_publicreadwrite ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_bucket_create_special_key_names ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_zero_size ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_same_bucket ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_verify_contenttype ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_to_itself ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_to_itself_with_metadata ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_diff_bucket ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_not_owned_bucket ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_not_owned_object_bucket ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_canned_acl ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_retaining_metadata ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_replacing_metadata ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_bucket_not_found ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_copy_key_not_found ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_empty ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_small ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_small ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_invalid_range ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_improper_range ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_without_range ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_copy_special_names ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_resend_part ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_size_too_small ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_contents ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_overwrite_existing_object ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_abort_multipart_upload ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_abort_multipart_upload_not_found ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_list_multipart_upload ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_missing_part ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_upload_incorrect_etag ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_100_continue ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_read_1mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_read_4mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_read_8mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_write_1mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_write_4mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_write_8mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_dual_write_1mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_dual_write_4mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_dual_write_8mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_conditional_write_1mb ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_dual_conditional_write_1mb ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_write_bucket_gone ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_atomic_multipart_upload_write ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_multipart_resend_first_finishes_last ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_response_code ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_big_request_response_code ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_skip_leading_bytes_response_code ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_return_trailing_bytes_response_code ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_invalid_range ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_ranged_request_empty_object ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_obj_tagging ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_get_obj_head_tagging ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_max_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_excess_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_max_kvsize_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_excess_key_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_excess_val_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_modify_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_put_delete_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_tags_anonymous_request ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_post_object_tags_authenticated_request ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_put_obj_with_tags ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_lock_multi_delete_object_with_retention ... ERROR |
||||
|
s3tests_boto3.functional.test_s3.test_object_lock_changing_mode_from_governance_with_bypass ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_lock_changing_mode_from_governance_without_bypass ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_object_lock_changing_mode_from_compliance ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_copy_object_ifmatch_good ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_copy_object_ifmatch_failed ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_copy_object_ifnonematch_good ... FAIL |
||||
|
s3tests_boto3.functional.test_s3.test_copy_object_ifnonematch_failed ... ok |
||||
|
s3tests_boto3.functional.test_s3.test_object_read_unreadable ... FAIL |
||||
|
ERROR |
||||
|
|
||||
|
====================================================================== |
||||
|
ERROR: s3tests_boto3.functional.test_s3.test_bucket_list_return_data |
||||
|
---------------------------------------------------------------------- |
||||
|
Traceback (most recent call last): |
||||
|
File "/s3-tests/virtualenv/lib/python3.6/site-packages/nose/case.py", line 198, in runTest |
||||
|
self.test(*self.arg) |
||||
|
File "/s3-tests/s3tests_boto3/functional/test_s3.py", line 1669, in test_bucket_list_return_data |
||||
|
'DisplayName': acl_response['Owner']['DisplayName'], |
||||
|
KeyError: 'Owner' |
||||
|
-------------------- >> begin captured logging << -------------------- |
@ -1,24 +1,88 @@ |
|||||
#!/usr/bin/env bash |
#!/usr/bin/env bash |
||||
|
|
||||
set -ex |
|
||||
|
CONTAINER_NAME=${CONTAINER_NAME:-s3test-instance} |
||||
|
CONF_FILE=${CONF_FILE:-s3tests.conf} |
||||
|
WEED_BIN=${WEED_BIN:-../../../weed/weed} |
||||
|
TEST_RAW_OUTPUT_FILE=${TEST_RAW_OUTPUT_FILE:-compat.raw.txt} |
||||
|
TEST_PROCESSED_OUTPUT_FILE=${TEST_PROCESSED_OUTPUT_FILE:-compat.summary.txt} |
||||
|
|
||||
|
# Set up debugging for this bash script if DEBUG is set |
||||
|
if [ -n "${DEBUG}" ]; then |
||||
|
echo -e "DEBUG set [${DEBUG}], enabling debugging output..."; |
||||
|
set -ex |
||||
|
fi |
||||
|
|
||||
|
# Reset from possible previous test run |
||||
killall -9 weed || echo "already stopped" |
killall -9 weed || echo "already stopped" |
||||
rm -Rf tmp |
rm -Rf tmp |
||||
mkdir tmp |
mkdir tmp |
||||
docker stop s3test-instance || echo "already stopped" |
|
||||
|
docker stop $CONTAINER_NAME || echo "already stopped" |
||||
|
|
||||
|
# Ensure ulimit is set to reasonable value |
||||
ulimit -n 10000 |
ulimit -n 10000 |
||||
../../../weed/weed server -filer -s3 -volume.max 0 -master.volumeSizeLimitMB 5 -dir "$(pwd)/tmp" 1>&2>weed.log & |
|
||||
|
|
||||
|
# Start weed w/ filer + s3 in the background |
||||
|
$WEED_BIN server \ |
||||
|
-filer \ |
||||
|
-s3 \ |
||||
|
-volume.max 0 \ |
||||
|
-master.volumeSizeLimitMB 5 \ |
||||
|
-dir "$(pwd)/tmp" \ |
||||
|
1>&2>weed.log & |
||||
|
|
||||
|
# Wait for master to start up |
||||
|
echo -e "\n[info] waiting for master @ 9333..."; |
||||
until curl --output /dev/null --silent --head --fail http://127.0.0.1:9333; do |
until curl --output /dev/null --silent --head --fail http://127.0.0.1:9333; do |
||||
printf '.' |
|
||||
sleep 5 |
|
||||
|
printf '.'; |
||||
|
sleep 5; |
||||
|
done |
||||
|
sleep 3; |
||||
|
|
||||
|
# Wait for s3 to start up |
||||
|
echo -e "\n[info] waiting for S3 @ 8333..."; |
||||
|
until curl --output /dev/null --silent --fail http://127.0.0.1:8333; do |
||||
|
printf '.'; |
||||
|
sleep 5; |
||||
done |
done |
||||
sleep 3 |
|
||||
|
sleep 3; |
||||
|
|
||||
|
# Determine whether docker net |
||||
|
DOCKER_NET_HOST_ARGS="" |
||||
|
if [ -n "${DOCKER_NET_HOST}" ]; then |
||||
|
DOCKER_NET_HOST_ARGS="--net=host" |
||||
|
echo -e "\n[info] setting docker to het nost" |
||||
|
fi |
||||
|
|
||||
|
echo -e "\n[warn] You may have to run with UNFILTERED=y to disable output filtering, if you get the broken pipe error"; |
||||
|
echo -e "\n[info] running tests with unfiltered output..."; |
||||
|
docker run \ |
||||
|
--name $CONTAINER_NAME \ |
||||
|
--rm \ |
||||
|
${DOCKER_NET_HOST_ARGS} \ |
||||
|
-e S3TEST_CONF=$CONF_FILE \ |
||||
|
-v "$(pwd)"/$CONF_FILE:/s3-tests/s3tests.conf \ |
||||
|
-it \ |
||||
|
s3tests \ |
||||
|
./virtualenv/bin/nosetests \ |
||||
|
s3tests_boto3/functional/test_s3.py \ |
||||
|
-v \ |
||||
|
-a 'resource=object,!bucket-policy,!versioning,!encryption' \ |
||||
|
| tee ${TEST_RAW_OUTPUT_FILE} |
||||
|
|
||||
|
# If the summary logs are present, process them |
||||
|
if [ -f "${TEST_RAW_OUTPUT_FILE}" ]; then |
||||
|
cat ${TEST_RAW_OUTPUT_FILE} | sed -n -e '/botocore.hooks/!p;//q' | tee ${TEST_PROCESSED_OUTPUT_FILE} |
||||
|
echo -e "\n[info] ✅ Successfully wrote processed output @ [${TEST_PROCESSED_OUTPUT_FILE}]"; |
||||
|
if [ -z "${TEST_KEEP_RAW_OUTPUT}" ]; then |
||||
|
echo -e "\n[info] removing test raw output file @ [${TEST_RAW_OUTPUT_FILE}] (to disable this, set TEST_KEEP_RAW_OUTPUT=y)..."; |
||||
|
rm -rf ${TEST_RAW_OUTPUT_FILE}; |
||||
|
fi |
||||
|
else |
||||
|
echo -e "\n[warn] failed to find raw output @ [${TEST_RAW_OUTPUT_FILE}]"; |
||||
|
fi |
||||
|
|
||||
rm -Rf logs-full.txt logs-summary.txt |
|
||||
# docker run --name s3test-instance --rm -e S3TEST_CONF=s3tests.conf -v `pwd`/s3tests.conf:/s3-tests/s3tests.conf -it s3tests ./virtualenv/bin/nosetests s3tests_boto3/functional/test_s3.py:test_get_obj_tagging -v -a 'resource=object,!bucket-policy,!versioning,!encryption' |
|
||||
docker run --name s3test-instance --rm -e S3TEST_CONF=s3tests.conf -v "$(pwd)"/s3tests.conf:/s3-tests/s3tests.conf -it s3tests ./virtualenv/bin/nosetests s3tests_boto3/functional/test_s3.py -v -a 'resource=object,!bucket-policy,!versioning,!encryption' | sed -n -e '/botocore.hooks/!p;//q' | tee logs-summary.txt |
|
||||
|
echo -e "\n[info] stopping [${CONTAINER_NAME}] container..."; |
||||
|
docker stop $CONTAINER_NAME || echo "[info] already stopped"; |
||||
|
|
||||
docker stop s3test-instance || echo "already stopped" |
|
||||
killall -9 weed |
|
||||
|
echo -e "\n[info] stopping seaweedfs processes (all, via kill -9)..."; |
||||
|
killall -9 weed; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue