awkward icon indicating copy to clipboard operation
awkward copied to clipboard

test: only test local `behavior`

Open agoose77 opened this issue 2 years ago • 1 comments

agoose77 avatar Sep 22 '22 14:09 agoose77

Codecov Report

Merging #1716 (90d5ad0) into main (e692946) will increase coverage by 1.02%. The diff coverage is n/a.

Additional details and impacted files
Impacted Files Coverage Δ
src/awkward/__init__.py 96.87% <ø> (ø)
src/awkward/_broadcasting.py 93.41% <ø> (ø)
src/awkward/_connect/avro.py 87.17% <ø> (ø)
src/awkward/_connect/cling.py 24.90% <ø> (ø)
src/awkward/_connect/cuda/__init__.py 0.00% <ø> (ø)
src/awkward/_connect/jax/__init__.py 90.47% <ø> (ø)
src/awkward/_connect/jax/_reducers.py 76.92% <ø> (ø)
src/awkward/_connect/numba/arrayview.py 97.77% <ø> (ø)
src/awkward/_connect/numba/builder.py 81.60% <ø> (ø)
src/awkward/_connect/numba/layout.py 84.87% <ø> (ø)
... and 311 more

codecov[bot] avatar Sep 22 '22 14:09 codecov[bot]

Out of curiosity, does this make it possible to run all the tests in parallel (pytest-xdist)?

I'm not sure if this was already possible without this PR, but I've been able to run xdist with 8 workers successfully!

agoose77 avatar Sep 26 '22 20:09 agoose77

There was a point, not long in the past, when it wasn't possible; everything would break, quite impressively. When I first found out about pytest-xdist, I decided to try it, saw the mess, and then realized that we were making serial assumptions in the testing code.

The use of global ak.behavior should break it. If parallel tests were possible before this PR, they would have been inadvisable. Dropping v1 tests might also have made a big difference.

But knowing that it works now is the bottom line!

jpivarski avatar Sep 26 '22 21:09 jpivarski

Yes, I actually started this PR after recalling behaviours were one set of global state that I'd seen inhibiting parallelism. I never checked xdist against the original v2 only suite, but as you say, it's a win either way.

agoose77 avatar Sep 27 '22 06:09 agoose77