Test inventory
What lsdtt3 is tested with, by evidence (how a test knows its answer) and level (unit or system). The categories are defined in lsdtt3_architecture.md and testing_and_benchmarking.md. A test with several evidence labels is counted under each, so rows sum to more than the number of tests. . means none.
CTest counts are for the configuration LSDTT_ENABLE_PYTHON_TESTS=ON, LSDTT_ENABLE_PYTHON_GEO_TESTS=ON, LSDTT_ENABLE_NETWORK_TESTS=ON, LSDTT_ENABLE_BENCHMARKS=OFF, LSDTT_ENABLE_PERF_TESTS=OFF; the benchmark and performance tiers are not included. Python counts are test functions and methods (a parametrised function counts once).
Regenerate with python3 tools/generate_test_inventory.py --build-dir build --update after adding or relabelling tests; the CTest test unit_test_inventory_is_current fails while this file is stale.
Totals
| Suite | Tests | exact_solution |
property |
metamorphic |
differential |
characterisation |
smoke |
negative |
performance |
conformance |
unit |
system |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CTest | 882 | 208 | 138 | 131 | 19 | 176 | 386 | 245 | . | 43 | 217 | 665 |
| pytest | 240 | 78 | 59 | 47 | . | 10 | 27 | 62 | . | 61 | 237 | 3 |
CTest by domain
A test in several domains (for example lithology, which cuts across compartments) is counted in each.
| Domain | Tests | exact | prop | meta | diff | char | smoke | neg | perf | conf |
|---|---|---|---|---|---|---|---|---|---|---|
basin_stats |
4 | . | . | 1 | . | 1 | 4 | . | . | . |
basin_surface_metrics |
5 | 1 | . | 1 | . | 2 | 4 | . | . | . |
cellular |
7 | 2 | 4 | 4 | . | . | 2 | . | . | . |
channel |
2 | 2 | 1 | . | . | . | . | . | . | . |
chi |
19 | 10 | 1 | 7 | 1 | 2 | 4 | . | . | . |
compatibility |
1 | . | . | . | . | 1 | 1 | . | . | . |
conventions |
9 | 2 | . | . | . | . | . | 1 | . | 9 |
core |
36 | 14 | 2 | 3 | . | 4 | 1 | 8 | . | 16 |
cosmo |
56 | 7 | 11 | 9 | 1 | 18 | 20 | 9 | . | 3 |
cosmo_realworld |
8 | . | . | . | . | 8 | . | . | . | . |
cross_sections |
2 | . | . | . | . | . | 2 | . | . | . |
depression_hierarchy |
2 | 1 | 1 | . | 1 | . | . | . | . | . |
distributed_hydrology |
32 | 9 | 12 | 2 | 3 | 4 | 10 | 18 | . | . |
divide_diagnostics |
1 | . | 1 | 1 | 1 | . | . | 1 | . | . |
divide_migration |
13 | 7 | . | 2 | . | 3 | 8 | 4 | . | . |
docs |
3 | . | . | . | . | . | . | . | . | 3 |
erodibility_calibration |
30 | 8 | 1 | 4 | 1 | 1 | 12 | 10 | . | . |
fetch |
80 | 11 | 4 | 6 | 1 | 5 | 17 | 47 | . | 8 |
flow |
47 | 6 | 7 | 7 | 3 | 25 | 28 | 13 | . | . |
fluvial_surfaces |
94 | 20 | 19 | 18 | 1 | 28 | 53 | 18 | . | 2 |
gdal |
7 | . | 3 | . | . | 2 | . | 1 | . | 1 |
giuh |
1 | . | 1 | 1 | . | . | . | . | . | . |
hillslope |
26 | 11 | 17 | 10 | 2 | 1 | 7 | 4 | . | . |
hilltop_flow_routing |
14 | 1 | 3 | 2 | . | 4 | 8 | 4 | . | . |
hydraulic |
4 | . | 1 | 1 | . | . | 1 | 2 | . | . |
image_ops |
2 | 1 | 2 | 1 | 2 | 1 | . | . | . | . |
internal_drainage |
14 | 4 | 1 | 2 | . | 2 | 9 | 4 | . | . |
jenks |
1 | 1 | 1 | . | . | . | . | 1 | . | . |
landscape_equilibration |
13 | . | 2 | . | . | . | 9 | 3 | . | . |
landslide |
22 | 6 | 7 | 2 | . | 5 | 9 | 4 | . | . |
lem |
115 | 25 | 6 | 11 | . | 4 | 47 | 37 | . | 3 |
linear_stats |
2 | . | . | 1 | . | 1 | 2 | . | . | . |
lithology |
63 | 17 | 1 | 9 | . | 3 | 22 | 24 | . | . |
marsh |
1 | . | . | . | . | . | 1 | . | . | . |
mask |
1 | 1 | . | . | . | . | . | 1 | . | . |
mountain_front |
1 | 1 | . | . | . | . | . | 1 | . | . |
network |
288 | 74 | 45 | 48 | 8 | 68 | 144 | 79 | . | 3 |
outlet_matching |
1 | . | . | . | . | . | 1 | . | . | . |
packaging |
3 | . | . | . | . | . | 1 | . | . | 2 |
paired_flowpaths |
4 | 1 | . | . | . | 3 | 3 | . | . | . |
parameters |
15 | 1 | . | . | . | . | . | . | . | 14 |
point_input |
3 | 2 | . | 2 | . | 1 | . | 2 | . | . |
quartz |
1 | 1 | . | . | . | . | . | . | . | . |
raster |
59 | 20 | 12 | 8 | 2 | 12 | 24 | 16 | . | 1 |
raster_algebra |
1 | 1 | . | . | . | . | . | . | . | . |
ridgeline |
5 | 1 | . | . | . | 4 | 5 | . | . | . |
slope_area |
1 | . | . | . | . | . | 1 | . | . | . |
snapping |
3 | 2 | 1 | 1 | . | . | 2 | 1 | . | . |
statistics |
2 | . | . | . | . | 2 | . | . | . | . |
step_change |
5 | 2 | 3 | 2 | . | . | 1 | . | . | . |
stream_burning |
14 | 3 | 5 | 4 | . | 4 | 8 | 2 | . | . |
streamlines |
1 | 1 | . | . | . | . | . | . | . | . |
surface_metrics |
49 | 13 | 7 | 12 | . | 16 | 33 | 5 | . | 4 |
synthetic_networks |
31 | 2 | 4 | 3 | 1 | 6 | 17 | 9 | . | 4 |
water |
1 | 1 | . | . | . | . | . | . | . | . |
Domains with no exact-solution, property, metamorphic or differential test
These are checked only by smoke, negative, characterisation or conformance tests: they show that the code runs, refuses bad input or has not changed, but not that its answers are right.
compatibility(1 test)cosmo_realworld(8 tests)cross_sections(2 tests)docs(3 tests)marsh(1 test)outlet_matching(1 test)packaging(3 tests)slope_area(1 test)statistics(2 tests)
Command-line programs
CTest tests whose command runs the program, directly or through the harness. Unit tests of the routines a CLI calls are not counted here; see the domain table.
| CLI | Tests | exact | prop | meta | diff | char | smoke | neg | perf | conf |
|---|---|---|---|---|---|---|---|---|---|---|
lsdtt-advection-diffusion |
8 | . | . | 2 | . | 2 | 4 | 4 | . | . |
lsdtt-bankfull-width |
6 | . | 1 | 1 | . | 4 | 6 | . | . | . |
lsdtt-basin-extraction |
9 | . | . | 1 | . | 3 | 8 | 1 | . | . |
lsdtt-basin-stats |
5 | . | . | 1 | . | 2 | 3 | 2 | . | . |
lsdtt-basin-surface-metrics |
7 | . | . | 1 | . | 3 | 6 | 1 | . | . |
lsdtt-channel-extraction |
14 | 4 | . | 1 | . | 2 | 10 | 3 | . | 1 |
lsdtt-channel-network-analysis |
21 | 3 | . | 1 | . | 3 | 9 | 12 | . | . |
lsdtt-chi-analysis |
33 | 1 | . | 2 | . | 8 | 17 | 16 | . | . |
lsdtt-cosmo-column-tool |
4 | 1 | 1 | 1 | . | 2 | 1 | . | . | . |
lsdtt-cosmo-landslides |
16 | . | 1 | 2 | . | 6 | 9 | 4 | . | . |
lsdtt-cosmo-prediction |
16 | 1 | 5 | 4 | . | 2 | 7 | 2 | . | 1 |
lsdtt-cosmo-tool |
19 | 1 | 1 | 2 | . | 10 | 4 | 4 | . | . |
lsdtt-cross-sections |
3 | . | . | 1 | . | 3 | 3 | . | . | . |
lsdtt-distributed-hydrology |
28 | 4 | 8 | 2 | . | 5 | 12 | 16 | . | . |
lsdtt-divide-migration |
12 | 6 | . | 2 | . | 3 | 8 | 4 | . | . |
lsdtt-drainage-analysis |
18 | 3 | 3 | 3 | . | 7 | 16 | 1 | . | 1 |
lsdtt-feature-finder |
13 | 3 | 4 | 3 | . | 5 | 10 | 1 | . | 1 |
lsdtt-fetch-erosion-rates |
12 | 2 | 1 | 1 | . | . | 7 | 5 | . | . |
lsdtt-fetch-lithology |
6 | . | . | 1 | . | 1 | 3 | 3 | . | . |
lsdtt-fetch-raster |
57 | . | 1 | . | . | 9 | 5 | 36 | . | 8 |
lsdtt-fetch-river-lines |
3 | 1 | . | 1 | . | 1 | 1 | 1 | . | . |
lsdtt-flat-surface-finder |
12 | . | 1 | 3 | . | 4 | 9 | 2 | . | . |
lsdtt-fluvial-surfaces |
53 | 4 | 9 | 10 | . | 20 | 35 | 12 | . | . |
lsdtt-graphflood |
3 | . | . | . | . | . | 1 | 2 | . | . |
lsdtt-hillslope-channel-coupling |
11 | . | 2 | 2 | . | 4 | 7 | 4 | . | . |
lsdtt-internal-drainage |
11 | 2 | . | 1 | . | 2 | 8 | 3 | . | . |
lsdtt-lem |
78 | 2 | 4 | 1 | . | 2 | 46 | 29 | . | 3 |
lsdtt-linear-stats |
1 | . | . | 1 | . | 1 | 1 | . | . | . |
lsdtt-lithology-erodibility |
14 | 1 | . | . | . | . | 7 | 7 | . | . |
lsdtt-marsh-topography |
1 | . | . | 1 | . | 1 | 1 | . | . | . |
lsdtt-mountain-front |
5 | . | . | 3 | . | 4 | 4 | . | . | 1 |
lsdtt-outlet-matching |
6 | . | 1 | 1 | . | 3 | 3 | 3 | . | . |
lsdtt-raster-calculator |
4 | . | . | 1 | . | 2 | 3 | 1 | . | . |
lsdtt-raster-preprocessing |
39 | 12 | 3 | 2 | . | 7 | 25 | 13 | . | 1 |
lsdtt-ridgeline-analysis |
8 | 1 | . | . | . | 7 | 8 | . | . | . |
lsdtt-sediment-routing |
1 | . | . | . | . | 1 | 1 | . | . | . |
lsdtt-slope-area |
9 | . | . | 2 | . | 4 | 4 | 5 | . | . |
lsdtt-spectral-analysis |
7 | . | . | 1 | . | 2 | 5 | . | . | 2 |
lsdtt-stream-burning |
12 | . | 4 | 3 | . | 5 | 9 | 2 | . | . |
lsdtt-surface-metrics |
11 | 3 | . | 1 | . | . | 7 | 2 | . | 2 |
lsdtt-swath-profile |
1 | 1 | . | 1 | . | . | 1 | . | . | . |
lsdtt-synthetic-networks |
22 | 2 | 3 | 1 | . | 4 | 12 | 9 | . | 1 |
lsdtt-synthetic-surfaces |
13 | 1 | . | 1 | . | 2 | 9 | . | . | 4 |
lsdtt-valley-centreline |
11 | 1 | 1 | 1 | . | 3 | 8 | 1 | . | 1 |
lsdtt-water-centreline |
1 | . | . | 1 | . | 1 | 1 | . | . | . |
lsdtt-water-line-repair |
6 | 5 | . | 1 | . | . | 5 | 1 | . | . |
CLIs with no system test
None.
CLIs whose system tests are only smoke, negative, characterisation or conformance
lsdtt-graphfloodlsdtt-sediment-routing
Python binding tests by file
| File | Tests | exact | prop | meta | diff | char | smoke | neg | perf | conf | unit | system |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
test_analysis_closure.py |
4 | 2 | 1 | . | . | 1 | 1 | . | . | . | 4 | . |
test_api_examples.py |
1 | . | . | . | . | . | . | . | . | 1 | 1 | . |
test_api_naming.py |
1 | . | . | . | . | . | . | . | . | 1 | 1 | . |
test_api_reference_contract.py |
1 | . | . | . | . | . | . | . | . | 1 | 1 | . |
test_binding_source_contract.py |
2 | . | . | . | . | . | . | . | . | 2 | 2 | . |
test_burn_to_corridor.py |
5 | . | 1 | 2 | . | 1 | . | 1 | . | . | 5 | . |
test_channel_point_attributes.py |
4 | 2 | . | 1 | . | . | . | 1 | . | 1 | 4 | . |
test_cli_packaging.py |
6 | 3 | . | . | . | . | . | 1 | . | 2 | 6 | . |
test_contributing_threshold_migrations.py |
2 | . | . | 2 | . | . | . | 2 | . | 2 | 2 | . |
test_cosmo_basin.py |
2 | . | 2 | . | . | . | . | . | . | . | 2 | . |
test_cosmo_column.py |
2 | . | 1 | 1 | . | . | . | . | . | . | 2 | . |
test_cosmo_raster.py |
2 | . | 1 | . | . | . | 1 | . | . | . | 2 | . |
test_crs_semantic_matching.py |
3 | . | 1 | . | . | . | 1 | 1 | . | . | 3 | . |
test_feature_finder.py |
3 | . | . | . | . | . | 3 | 1 | . | . | 3 | . |
test_flat_surfaces.py |
3 | 2 | . | . | . | . | 1 | . | . | . | 3 | . |
test_flow_info.py |
7 | 4 | 2 | . | . | . | 6 | . | . | . | 7 | . |
test_fluvial_surfaces.py |
18 | 10 | 5 | 1 | . | . | 3 | 8 | . | 1 | 18 | . |
test_geospatial_runtime.py |
3 | 1 | . | . | . | . | 1 | 1 | . | . | 3 | . |
test_hillslope_transport.py |
4 | . | 2 | . | . | . | 1 | 1 | . | . | 4 | . |
test_hydraulic.py |
12 | 5 | 6 | 3 | . | 1 | . | 3 | . | 1 | 12 | . |
test_internal_drainage.py |
5 | 3 | 2 | 1 | . | . | 1 | 1 | . | 1 | 5 | . |
test_keyword_compatibility.py |
3 | 2 | . | . | . | . | . | 2 | . | 2 | 3 | . |
test_landscape_model.py |
11 | 3 | 3 | 3 | . | 1 | . | 2 | . | . | 11 | . |
test_landslides.py |
3 | 1 | 2 | 1 | . | . | . | 1 | . | 1 | 3 | . |
test_llm_helper.py |
9 | . | . | . | . | . | . | 1 | . | 9 | 9 | . |
test_point_snapping.py |
19 | 8 | 6 | 8 | . | . | . | 8 | . | 3 | 19 | . |
test_public_api_manifest.py |
6 | . | . | . | . | . | . | . | . | 6 | 6 | . |
test_public_docstrings.py |
13 | . | . | 1 | . | . | . | . | . | 13 | 13 | . |
test_public_keyword_migrations.py |
6 | 1 | . | 3 | . | . | 1 | 5 | . | 4 | 6 | . |
test_raster.py |
14 | 11 | 8 | 4 | . | . | 1 | 2 | . | . | 14 | . |
test_raster_conditioning.py |
10 | 6 | 4 | 1 | . | . | . | 3 | . | . | 10 | . |
test_raster_fetch.py |
8 | 2 | . | . | . | . | . | 6 | . | . | 8 | . |
test_remaining_unit_keyword_migrations.py |
3 | . | . | 3 | . | . | . | 2 | . | 3 | 3 | . |
test_rotation_frames.py |
18 | 4 | 3 | 7 | . | 4 | . | 4 | . | 2 | 15 | 3 |
test_sediment_routing.py |
3 | . | 1 | 1 | . | . | . | 2 | . | 1 | 3 | . |
test_spectral.py |
3 | . | 3 | . | . | . | 1 | . | . | . | 3 | . |
test_surface_keyword_migrations.py |
5 | . | . | 3 | . | . | . | 2 | . | 4 | 5 | . |
test_swath.py |
3 | 2 | . | . | . | . | . | 1 | . | . | 3 | . |
test_synthetic_workflows.py |
3 | . | 2 | 1 | . | . | . | . | . | . | 3 | . |
test_terrain_features.py |
2 | 1 | 1 | . | . | . | 2 | . | . | . | 2 | . |
test_tidal_workflows.py |
2 | 1 | 1 | . | . | . | . | . | . | . | 2 | . |
test_valley_cross_sections.py |
1 | . | . | . | . | . | 1 | . | . | . | 1 | . |
test_valley_mask_migration.py |
2 | 2 | . | . | . | 2 | . | . | . | . | 2 | . |
test_vector_hydrology.py |
3 | 2 | 1 | . | . | . | 2 | . | . | . | 3 | . |
Abbreviations: exact = exact_solution, prop = property, meta = metamorphic, diff = differential, char = characterisation, smoke = smoke, neg = negative, perf = performance, conf = conformance.