LAMA to Dask: towards a full test suite pass
The next step to close #182 is to get all remaining (metadata-focused) tests to pass after ('alpha' like) completion of the migration from LAMA to Dask of the Data modules and hence object (see #295). This PR enumerates all tests and their status so we can manage aspects in the codebase that need to be tweaked in light of the Data object migration, where one issue is likely to affect multiple tests so it is helpful to see what is hitting what and so on.
Test suite pass/fail listing
| Test module name | Passes fully? (Bool as emoji) | Relevant PR tag(s) if relevant) | Failing test methods, if any | Erroring test methods, if any | Notes |
|---|---|---|---|---|---|
setup_create_field |
✔️ | #570 | . | . | . |
test_AuxiliaryCoordinate |
✔️ | . | . | . | . |
test_CellMeasure |
✔️ | . | . | . | . |
test_CellMethod |
✔️ | . | . | . | . |
test_Constructs |
✔️ | . | . | . | . |
test_CoordinateReference |
✔️ | . | . | . | . |
test_Count |
✔️ | . | . | . | . |
test_Data |
✔️ | #548, #553 | . | . | One skip. |
test_Data_utils |
✔️ | . | . | . | . |
test_Datetime |
✔️ | . | . | . | . |
test_DimensionCoordinate |
✔️ | #543, #553 | . | . | . |
test_Domain |
✔️ | . | . | . | . |
test_DomainAncillary |
✔️ | . | . | . | . |
test_DomainAxis |
✔️ | . | . | . | . |
test_Field |
✔️ | #506, #531, #532, #557 | . | . | . |
test_FieldAncillary |
✔️ | . | . | . | . |
test_FieldList |
✔️ | #504 | . | . | . |
test_Index |
✔️ | . | . | . | . |
test_List |
✔️ | . | . | . | . |
test_Maths |
✔️ | . | . | . | . |
test_Query |
✔️ | . | . | . | . |
test_RegridOperator |
✔️ | #438 | . | . | . |
test_TimeDuration |
✔️ | . | . | . | . |
test_aggregate |
✔️ | #572 | . | . | . |
test_cfa |
✔️ | #515 | . | . | . |
test_collapse |
✔️ | #532 | . | . | . |
test_decorators |
✔️ | #503. | . | . | . |
test_docstring |
✔️ : | #550, #551, #552 | . | . | . |
test_dsg |
✔️ | . | . | . | . |
test_external |
✔️ | . | . | . | . |
test_formula_terms |
✔️ | . | . | . | . |
test_functions |
✔️ | #554 | . | . | . |
test_gathering |
✔️ | . | . | . | . |
test_general |
✔️ | #489 | . | . | . |
test_geometry |
✔️ | #498, #504 | . | . | . |
test_groups |
✔️ | #517 | . | . | . |
test_pp |
✔️ | . | . | . | . |
test_read_write |
✔️ | #506, #522, NCAS-CMS/cfdm#234, #510 | . | . | . |
test_regrid |
✔️ | #438 | . | . | . |
test_style |
✔️ | #503. | . | . | . |
test_subsampling |
✔️ | #502, NCAS-CMS/cfdm#235 | . | . | . |
Notes: code to regenerate table structure
from os import listdir from tabulate import tabulate TEST_DIR_PATH = "." # set this to the location of 'cf/test' relative to $PWD # List out all of the Python files under the 'cf/test' directory all_test_files = [ f[:-3] for f in listdir(TEST_DIR_PATH) if f.startswith("test_") and f.endswith(".py") ] all_test_files.sort() # alphabetise rows listing in table ### print(all_test_files) # Processing complete_convert_to_emoji = { f: ":heavy_multiplication_x:" for f in all_test_files } blank_methods_list = [ [f"`{m}`", v, ".", ".", ".", "."] for m, v in complete_convert_to_emoji.items() ] print(tabulate( blank_methods_list, tablefmt="github", headers=[ "Test module name", "Passes fully? (Bool as emoji)", "Relevant PR tag(s) if relevant)", "Failing test methods, if any", "Erroring test methods, if any", "Notes" ] )) # Copy and paste output of above call into comment. # THEN update the columns to reflect status of test modules based on running them.