Skip to content

Code Coverage Report

Overall Coverage: 23.4% (4,771 of 20,422 lines)
Last Updated: 2025-09-18 17:05:21

Summary

Coverage Trend: ➡️ Stable
Quality Gate: ❌ Below 60% threshold
Missing Lines: 15,651

Module Breakdown

Module Coverage Lines Covered Total Lines Missing Status
hazelbean/globals.py 100.0% 466 466 0 ✅ Excellent
hazelbean/init.py 66.7% 18 27 9 ⚠️ Fair
hazelbean/cog.py 66.5% 218 328 110 ⚠️ Fair
hazelbean/init.py 63.6% 138 217 79 ⚠️ Fair
hazelbean/integration_testing_utils.py 62.8% 115 183 68 ⚠️ Fair
hazelbean/pog.py 62.0% 199 321 122 ⚠️ Fair
hazelbean/json_helper.py 58.3% 28 48 20 ❌ Poor Line Coverage
hazelbean/config.py 56.1% 128 228 100 ❌ Poor Line Coverage
hazelbean/project_flow.py 53.6% 384 717 333 ❌ Poor Line Coverage
hazelbean/geoprocessing_extension.py 52.8% 330 625 295 ❌ Poor Line Coverage
hazelbean/arrayframe_functions.py 50.0% 59 118 59 ❌ Poor Line Coverage
hazelbean/arrayframe.py 43.7% 121 277 156 ❌ Poor Line Coverage
hazelbean/cat_ears.py 40.9% 38 93 55 ❌ Poor Line Coverage
hazelbean/core.py 35.1% 79 225 146 ❌ Poor Line Coverage
hazelbean/pyramids.py 35.0% 552 1579 1027 ❌ Poor Line Coverage
hazelbean/utils.py 26.9% 279 1037 758 ❌ Poor Line Coverage
hazelbean/spatial_utils.py 23.8% 744 3125 2381 ❌ Poor Line Coverage
hazelbean/spatial_projection.py 22.8% 98 430 332 ❌ Poor Line Coverage
hazelbean/cloud_utils.py 19.6% 38 194 156 ❌ Poor Line Coverage
hazelbean/os_utils.py 18.3% 267 1462 1195 ❌ Poor Line Coverage
hazelbean/vector.py 15.7% 8 51 43 ❌ Poor Line Coverage
hazelbean/stats.py 13.5% 138 1021 883 ❌ Poor Line Coverage
hazelbean/visualization.py 12.1% 106 874 768 ❌ Poor Line Coverage
hazelbean/raster_vector_interface.py 11.0% 56 511 455 ❌ Poor Line Coverage
hazelbean/file_io.py 9.0% 65 726 661 ❌ Poor Line Coverage
hazelbean/geoprocessing.py 7.7% 72 937 865 ❌ Poor Line Coverage
hazelbean/netcdf.py 4.7% 27 569 542 ❌ Poor Line Coverage
hazelbean/parallel.py 0.0% 0 475 475 ❌ Poor Line Coverage
hazelbean/slow_config.py 0.0% 0 6 6 ❌ Poor Line Coverage
hazelbean/inputs.py 0.0% 0 886 886 ❌ Poor Line Coverage
hazelbean/launcher.py 0.0% 0 59 59 ❌ Poor Line Coverage
hazelbean/data_structures.py 0.0% 0 338 338 ❌ Poor Line Coverage
hazelbean/validation.py 0.0% 0 54 54 ❌ Poor Line Coverage
hazelbean/usage_logger.py 0.0% 0 36 36 ❌ Poor Line Coverage
hazelbean/utils.py 0.0% 0 160 160 ❌ Poor Line Coverage
hazelbean/usage.py 0.0% 0 115 115 ❌ Poor Line Coverage
hazelbean/watershed_processing.py 0.0% 0 119 119 ❌ Poor Line Coverage
hazelbean/arrayframe_numpy_functions.py 0.0% 0 63 63 ❌ Poor Line Coverage
hazelbean/execution.py 0.0% 0 31 31 ❌ Poor Line Coverage
hazelbean/model.py 0.0% 0 986 986 ❌ Poor Line Coverage
hazelbean/cli.py 0.0% 0 157 157 ❌ Poor Line Coverage
hazelbean/conventions.py 0.0% 0 125 125 ❌ Poor Line Coverage
hazelbean/auto_ui.py 0.0% 0 67 67 ❌ Poor Line Coverage
hazelbean/auto_ui_tg.py 0.0% 0 90 90 ❌ Poor Line Coverage
hazelbean/init.py 0.0% 0 0 0 ❌ Poor Line Coverage
hazelbean/datastack.py 0.0% 0 259 259 ❌ Poor Line Coverage
hazelbean/compile_cython_functions.py 0.0% 0 7 7 ❌ Poor Line Coverage

Coverage Analysis

Note: Poor line coverage does not mean that the tests do not test example usage of the component, just that they do not execute every single line from that file. Many hazelbean modules contain extensive functionality where the tests focus on demonstrating proper usage patterns rather than exhaustive line-by-line execution.

High Coverage Modules (≥90%)

  • hazelbean/globals.py: 100.0% (466/466 lines)

Fair Coverage Modules (60-89%)

  • hazelbean/init.py: 66.7% (9 lines missing coverage)
  • hazelbean/cog.py: 66.5% (110 lines missing coverage)
  • hazelbean/init.py: 63.6% (79 lines missing coverage)
  • hazelbean/integration_testing_utils.py: 62.8% (68 lines missing coverage)
  • hazelbean/pog.py: 62.0% (122 lines missing coverage)

With Low Coverage (<60%)

  • hazelbean/json_helper.py: 58.3% (20 lines missing coverage)
  • hazelbean/config.py: 56.1% (100 lines missing coverage)
  • hazelbean/project_flow.py: 53.6% (333 lines missing coverage)
  • hazelbean/geoprocessing_extension.py: 52.8% (295 lines missing coverage)
  • hazelbean/arrayframe_functions.py: 50.0% (59 lines missing coverage)
  • hazelbean/arrayframe.py: 43.7% (156 lines missing coverage)
  • hazelbean/cat_ears.py: 40.9% (55 lines missing coverage)
  • hazelbean/core.py: 35.1% (146 lines missing coverage)
  • hazelbean/pyramids.py: 35.0% (1027 lines missing coverage)
  • hazelbean/utils.py: 26.9% (758 lines missing coverage)
  • hazelbean/spatial_utils.py: 23.8% (2381 lines missing coverage)
  • hazelbean/spatial_projection.py: 22.8% (332 lines missing coverage)
  • hazelbean/cloud_utils.py: 19.6% (156 lines missing coverage)
  • hazelbean/os_utils.py: 18.3% (1195 lines missing coverage)
  • hazelbean/vector.py: 15.7% (43 lines missing coverage)
  • hazelbean/stats.py: 13.5% (883 lines missing coverage)
  • hazelbean/visualization.py: 12.1% (768 lines missing coverage)
  • hazelbean/raster_vector_interface.py: 11.0% (455 lines missing coverage)
  • hazelbean/file_io.py: 9.0% (661 lines missing coverage)
  • hazelbean/geoprocessing.py: 7.7% (865 lines missing coverage)
  • hazelbean/netcdf.py: 4.7% (542 lines missing coverage)
  • hazelbean/parallel.py: 0.0% (475 lines missing coverage)
  • hazelbean/slow_config.py: 0.0% (6 lines missing coverage)
  • hazelbean/inputs.py: 0.0% (886 lines missing coverage)
  • hazelbean/launcher.py: 0.0% (59 lines missing coverage)
  • hazelbean/data_structures.py: 0.0% (338 lines missing coverage)
  • hazelbean/validation.py: 0.0% (54 lines missing coverage)
  • hazelbean/usage_logger.py: 0.0% (36 lines missing coverage)
  • hazelbean/utils.py: 0.0% (160 lines missing coverage)
  • hazelbean/usage.py: 0.0% (115 lines missing coverage)
  • hazelbean/watershed_processing.py: 0.0% (119 lines missing coverage)
  • hazelbean/arrayframe_numpy_functions.py: 0.0% (63 lines missing coverage)
  • hazelbean/execution.py: 0.0% (31 lines missing coverage)
  • hazelbean/model.py: 0.0% (986 lines missing coverage)
  • hazelbean/cli.py: 0.0% (157 lines missing coverage)
  • hazelbean/conventions.py: 0.0% (125 lines missing coverage)
  • hazelbean/auto_ui.py: 0.0% (67 lines missing coverage)
  • hazelbean/auto_ui_tg.py: 0.0% (90 lines missing coverage)
  • hazelbean/init.py: 0.0% (0 lines missing coverage)
  • hazelbean/datastack.py: 0.0% (259 lines missing coverage)
  • hazelbean/compile_cython_functions.py: 0.0% (7 lines missing coverage)

This report is automatically generated from coverage.py data. To update, run ./tools/generate_reports.sh