Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Execute all tests even if some of them fail #4

Open
rluetzner opened this issue Mar 23, 2021 · 12 comments
Open

Execute all tests even if some of them fail #4

rluetzner opened this issue Mar 23, 2021 · 12 comments
Assignees
Labels

Comments

@rluetzner
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
Whenever the Mint test suite is executed, a single failing test from one of the test packages causes all the remaining tests from that package to be skipped.

Describe the solution you'd like
There should be a way, preferably by setting an environment variable, to execute all tests from all packages independent of failures.

Describe alternatives you've considered
None.

Additional context
None.

@aweisser
Copy link
Collaborator

@andrebruch Please start to evaluate this on a "minio gateway nas /data" setup.
In case of questions also @rluetzner can help, if I'm not responding.

@iternity-dotcom
Copy link
Owner

In order to solve some of the Mint issues I created forks of some of the Minio clients. 
https://github.com/iternity-dotcom/minio-dotnet
https://github.com/iternity-dotcom/minio-java
https://github.com/iternity-dotcom/minio-go
 
 @andrebruch Does the other clients do not suffer from this behavoir? Are they running through all test even if the first test is failing?

@rluetzner
Copy link
Collaborator Author

Most of the tests are already located in the Mint folder, but especially tests relating to MinIO specific client implementations are not part of the test suite. They are instead downloaded from GitHub directly and are located in the projects you forked, @aweisser .

@aweisser
Copy link
Collaborator

But do we also need to adjust some of the client tests included in the Minio repo?

@rluetzner
Copy link
Collaborator Author

We should only have to adjust tests that are run as part of the Mint suite and none of the client's unit tests. At least the functional_tests.go file from minio-go already references a Mint specific environment variable that is otherwise unused in the project. We could try to solve this in a similar fashion.

@aweisser
Copy link
Collaborator

Sure. Only system tests that are part of Mint. Not the clients unit tests. That’s clear.

I just want to know which of the following parts of the Mint Suite are affected by this change (no matter where they are implemented):

aws-sdk-go
aws-sdk-java
aws-sdk-php
aws-sdk-ruby
awscli
healthcheck
mc
minio-dotnet
minio-go
minio-java
minio-js
minio-py
s3cmd
s3select
security
versioning

@andrebruch
Copy link

andrebruch commented Mar 27, 2021

@aweisser I have only considered the clients that give one failed test when running Mint on the minio gateway nas /data setup:
minio-dotnet: ListenBucketNotificationsAsync_Test1
minio-go: testSSES3EncryptionPutGet()
minio-java: setBucketEncryption()

Mint runs the functional_test.go file from the latest minio-go release:

MINIO_GO_VERSION=$(curl --retry 10 -Ls -o /dev/null -w "%{url_effective}" https://github.com/minio/minio-go/releases/latest | sed "s/https:\/\/github.com\/minio\/minio-go\/releases\/tag\///")

test_run_dir="$MINT_RUN_CORE_DIR/minio-go"
curl -sL -o "${test_run_dir}/main.go" "https://raw.githubusercontent.com/minio/minio-go/${MINIO_GO_VERSION}/functional_tests.go"
(cd "$test_run_dir" && GO111MODULE=on CGO_ENABLED=0 go build -o minio-go main.go)

and runs the following tests in full mode:
https://github.com/iternity-dotcom/minio-go/blob/92fe50d14294782d96402deb861d442992038109/functional_tests.go#L11218-L11312

@aweisser
Copy link
Collaborator

@andrebruch Are you done with this issue? Can we start to create some PRs?

@iternity-dotcom
Copy link
Owner

@rluetzner Could you please check if the actualle issue "Execute all tests even if some of them fail" is already solved?

@andrebruch
Copy link

andrebruch commented Oct 7, 2021

@aweisser @rluetzner

There is an open issue in the Mint repo from us:
minio/mint#325

Open PRs
minio/minio-go#1475
minio/minio-java#1180

Merged PR
minio/mint@69e4bf1

A PR still needs to be created:
https://github.com/minio/mint/compare/master...iternity-dotcom:fix-description?expand=1
I sent you @aweisser the prepared PR on Teams.

@rluetzner
Copy link
Collaborator Author

@andrebruch Thanks for linking the issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants