Uh oh!
There was an error while loading. Please reload this page.
Be more robust in how regression data are discovered - #821
Conversation
Avoid creating an empty array when test_open does not find the expected existing array.
Regardless of the test runner working directory, ensure that this test fixture returns the path to the relevant regression data directory, which lives under the project root.
benjaminhwilliams
commented
Aug 24, 2021
Release notes follow shortly. |
benjaminhwilliams
commented
Aug 24, 2021
@joshmoore, does this pass muster, as far as you're concerned? I'm not sure if I have correctly formatted the release notes. |
benjaminhwilliams
commented
Aug 24, 2021
As I'm a first-time contributor, the CI workflows won't run without maintainer approval. Would a kind maintainer mind enabling them? |
joshmoore
commented
Aug 24, 2021
Done
Looks great! |
Codecov Report
@@ Coverage Diff @@## master #821 +/- ##
=======================================
Coverage 99.94% 99.94% =======================================
Files 31 31 Lines 10604 10606 +2 =======================================
+ Hits 10598 10600 +2
Misses 6 6
|
benjaminhwilliams
commented
Aug 24, 2021
I'm obviously unable to claim that all the CI actions have passed, nor that the project test coverage is 100%, but is this necessary here? The diff coverage is 100% and the missing project coverage is in an unrelated part of |
joshmoore
commented
Aug 24, 2021
Nope. This has been blocking my PRs as well. Don't worry. I've been focused on trying to fix conda and havedn't had time to fix codecov ;) |
benjaminhwilliams
commented
Aug 24, 2021
Good good. Thanks for the opportunity to tinker! |
benjaminhwilliams
commented
Aug 24, 2021
As an aside, off topic for this PR, I wonder if you could cheat Codecov by replacing the last three entries in the tuple of fixture parameters, "fs_nested",
"fs_flat",
"fs_default"with needs_fsspec=pytest.mark.skipif(nothave_fsspec, reason="needs fsspec")
...
pytest.param("fs_nested", marks=needs_fsspec),
pytest.param("fs_flat", marks=needs_fsspec),
pytest.param("fs_default", marks=needs_fsspec)and then remove the Of course, it doesn't actually change anything (Codecov would still be right to complain that the CI doesn't test in the absence of |
joshmoore
commented
Aug 24, 2021
;) Glad to have other tinkerers. A heads up that in an effort to not keep abusing releases in order to test conda-forge, I'm running locally with this diff to zarr-feedstock: Do you have any idea why I'm not seeing the failures locally? |
joshmoore
commented
Aug 24, 2021
I imagine so. Happy to see that as well, which removes the need for my pragma in #822 |
benjaminhwilliams
commented
Aug 24, 2021
What is your working directory when running Pytest? You will only see the failures on |
benjaminhwilliams
commented
Aug 24, 2021
Want me to add a PR for that too? |
joshmoore
commented
Aug 24, 2021
If you'd like, sure! |
joshmoore
commented
Aug 24, 2021
NB: Merging in #822 has gotten this green. 👍 |
joshmoore
commented
Aug 24, 2021
Yes. |
benjaminhwilliams
commented
Aug 24, 2021
I think if you run Pytest from another directory, with something like instead of then you'll start to see the failures. |
joshmoore
left a comment
There was a problem hiding this comment.
Thanks, @benjaminhwilliams. Looking forward to future PRs. 😉
Be stricter about where and how regression data are discovered, during testing. This fixes some tests that are failing during the Conda-forge release process.
As previously mentioned in #819 (comment):
zarr.tests.test_dim_separator.test_open, open an array in read-only mode, to prevent accidental creation of an empty array when the expected array does not exist, which would leave droppings in the test runner working directory.TODO: