Switch to Using ClawpackTestRunner for Testing#697
Conversation
f7ba443 to
4f7d6bb
Compare
Also adds marks for test groupings and default set of tests to run. This also adds new regression test data for storm surge as the test has been changed to be more robust and cover more of the package. This also includes depending on a local storm file rather than attempting to download data (covered elsewhere in a Python unit test).
The plotting tests have been split into "smoke" tests (does it raise an exception) and actual plotting tests that can be run on request.
Included some bug fixes in storm module for formats that are tested but not used very often. Need to come back to fix the IBTrACS test.
Note: test_dtopo_io has been marked as expected to fail with the measured 5e-4 discrepency noted. This may be due to the precision being used by default to write out the files but needs follow up.
Provides seperation of structure (plotting and writing of data) similar to how other topotools tests are carried out.
Also simplifies flagging for building the multi-layer code against LAPACK.
Also fixes some things in the testing.yml file so that it correctly archives test output on failure and gives more output for debugging. Also adds so that tests that use it can be tested.
These were added, but two are currently broken as the read functions do not work. These have been marked as expected to fail. The SurgeData test now works, but did require a bug fix.
This test is failing due to what appears to be an off by one error and just a bit of a mismatch in the regression data. This requires more looking into, but the test works.
Does not match gauge output yet and needs a validation pass to look at gauge changes.
|
Phew, all the tests from before are now implemented! There are a few issues that need to be looked at though:
More test coverage is possible, but if we can merge this in, we can also systematically correct the remaining regression data issues. |
|
Current markers implemented (in pytest.ini):
|
|
I have now split the testing into three groups:
There's really only one slow regression test right now, and it really does not do anything but run a longer run. The intent is that the slow regression testing will happen periodically (daily at 6 AM UTC right now). We could also add another one that would do the gallery examples, or do the Jupyter notebooks associated with the repos. Wanted to get an example running though so that we can think about how to use it. If this looks good, I can move this structure to AMRClaw and classic when it makes sense. |
|
Merging this along with clawpack/classic#96 and clawpack/amrclaw#310. |
This PR aims to use the new testing framework now used in AMRClaw and Classic to run regression tests from clawutil's
ClawpackTestRunnerclass. This switches everything over to using PyTest and as much functionality as possible from there.Major goals for this particular PR is to use the same testing structure as was in AMRClaw and Classic, but change things minimally to get things working before moving onto to larger structural changes.