Skip to content
Snippets Groups Projects
Commit 88faebb9 authored by Stephen Liu's avatar Stephen Liu
Browse files

Parametrise tests and add better logging to provide more interpretable tests

parent 97342744
No related branches found
No related tags found
No related merge requests found
Pipeline #10117 passed
......@@ -35,6 +35,8 @@ class NekDataset:
if not os.path.exists(bc_file):
raise FileNotFoundError(f"Boundary condition file does not exist: {bc_file}")
def __str__(self):
return f"NekDataset for {self.session}"
###############################################################################
# Variables for export
###############################################################################
......
......@@ -23,29 +23,27 @@ def metadata() -> InvenioMetadata:
# Tests using the new testutils feature
###############################################################################
@pytest.mark.integration
def test_nektar_datasets(metadata):
datasets: list[NekDataset] = DATASETS
for dataset in datasets:
session: str = dataset.session
geometry: str = dataset.geometry
output: str = dataset.output
checkpoints: list[str] = dataset.checkpoints
boundary_conditions: list[str] = dataset.boundary_conditions
filters: list[str] = dataset.filters
print(dataset.session)
#use same metadata instance, as not testing metadata
geometry_manager = GeometryManager(geometry,metadata=metadata)
session_manager = SessionManager(session,boundary_conditions,metadata=metadata)
output_manager = OutputManager(output,checkpoints,filters,metadata=metadata)
@pytest.mark.parametrize("dataset",DATASETS,ids=str)
def test_nektar_datasets(dataset: NekDataset,metadata:InvenioMetadata):
session: str = dataset.session
geometry: str = dataset.geometry
output: str = dataset.output
checkpoints: list[str] = dataset.checkpoints
boundary_conditions: list[str] = dataset.boundary_conditions
filters: list[str] = dataset.filters
#use same metadata instance, as not testing metadata
geometry_manager = GeometryManager(geometry,metadata=metadata)
session_manager = SessionManager(session,boundary_conditions,metadata=metadata)
output_manager = OutputManager(output,checkpoints,filters,metadata=metadata)
nek_manager = NekManager(geometry_manager,session_manager,output_manager)
nek_manager = NekManager(geometry_manager,session_manager,output_manager)
try:
nek_manager.validate()
except Exception as e:
#custom assert to make it clearer which dataset failed
pytest.fail(f"While testing the dataset: {dataset}, an error occured: {e}")
try:
nek_manager.validate()
except Exception as e:
#custom assert to make it clearer which dataset failed
pytest.fail(f"While testing the dataset: {dataset}, an error occured: {e}")
###############################################################################
@pytest.mark.integration
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment