Skip to content

LAMA to Dask: towards a full test suite pass #428

@sadielbartholomew

Description

@sadielbartholomew

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.

Metadata

Metadata

Labels

daskRelating to the use of Dask

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions