-
Notifications
You must be signed in to change notification settings - Fork 41
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
[WIP] Python testing framework and workflow #45
base: main
Are you sure you want to change the base?
Conversation
Coming back to this PR I am now noticing a number of differences between the 'new' computed output and the reference output. On the Eliminating these from the output and comparing floating points, most values agree except 3 or 4 columns including |
Following up on this, I notice differences between reference I assume some steps are not deterministic, so should I ignore certain output columns? |
@gilbertozp is this blocked on the comment above from Matt? Or can this be merged? |
@gilbertozp is taking a look at this |
8e919f2
to
d6289b1
Compare
A few notes after revisiting this. @gilbertozp has the reference dataset been updated since we last looked at this?
Where 'discrepancies' refers to the number of mismatches between the reference and computed output. This does not seem to be stochastic (repeated runs give the same number of discrepancies). I use the reference 08, 07, and 02 as inputs. I can provide the jupyter notebook I used to do this analysis if that would help? |
4b2d6ae
to
a98c3e4
Compare
Github no longer provides support for python2.7 from their action/setup-python action
a98c3e4
to
f659e65
Compare
Add python testing framework and github actions workflow for automated testing. The PR downloads
US-ARc_sample*
data and sets up the nighttime partitioning step. The test runs in a few seconds and the generated output (*.csv files) are compared for equality against reference output.The nighttime partitioning step was chosen as an integration test as it runs much faster than other steps in the ONEFlux pipeline (i.e. daytime partitioning). Python unit tests will be implemented in a later PR.
TODOs:
tests/test_context.py
to use pytest.pytest
.partitioning_nt
integration testtests/python/integration/test_partitioning.py
US-ARc_sample*
and execute integration test..github/workflows/python-app.yaml
Fixes #46