nspcc-dev / s3-tests

Compatibility tests for S3 clones
MIT License
3 stars 3 forks source link

Update current master with code from upstream #43

Closed evgeniiz321 closed 9 months ago

evgeniiz321 commented 9 months ago

The list of changes:

  1. pytest instead of nose
  2. test fixes/new tests from upstream
  3. code is now formatted with black
  4. all tests that fail (permanently or not) - are marked with pytest.mark.skip(reason='Potential Bug') or pytest.mark.skip(reason='Not Implemented')
  5. 'sanity' flag was removed (there is no sense in it right now) - amount of stable tests is 194 and they run for 8min30secs. Tests that we are currently interested in are located here s3tests_boto3/functional/test_s3.py and s3tests_boto3/functional/test_s3_neofs.py

One thing about commits - I can squash everything into the one big commit or leave it as is - with a history of commits from the upstream. I prefer squashing, but perhaps history will be useful in the future - during test failures investigation.

Further plan:

  1. Improve allure reporting (even with the latest changes it is not friendly enough), should be more like in testcases repo.
  2. Investigate everything in s3tests_boto3/functional/test_s3_neofs.py, open corresponding bugs; since these tests were specifically written for neofs - they should pass + there are not so many of them.
  3. Move to s3tests_boto3/functional/test_s3.py - investigate everything that is not marked with fails_on_aws or fails_on_dbstore - this is a huge effort, so we will need to prioritise skipped tests.
  4. Investigate tests marked withfails_on_aws or fails_on_dbstore
roman-khimov commented 9 months ago

I'd expect to see some clear merge that solves #31 and then any additional things as a set of commits on top of it, looks like at the moment they're all mixed into the merge commit itself. Squashing is not an option.

roman-khimov commented 9 months ago

Maybe they can't be separated though, I've not tried merging them to judge what number of conflicts there is and is there any possibility to solve them without a lot of changes in the merge commit itself.

evgeniiz321 commented 9 months ago

It is too painful to separate commits or to do smth with these commits structure (except just squashing), so I'd prefer not to do anything with it. At first I thought it would be much easier just to refork the repo. Conflicts are almost everywhere, test_s3.py (16337 lines) is just a one big conflict that very hard to process.