ek9_run_quality_checks

Compiles, runs the tests and answers status (ok | compile-failed | no-tests-found | tests-failed | coverage-low) with tests:{passed, failed}, coverage (overall, methods, lines, branches, byModule), complexity.hotspots[], readability, injections, uncoveredMethods[] and the advisory lockPayloads - every quality metric in one call, extracted in-process.

Category: Execution · Compare: SonarQube dashboard / cargo-tarpaulin / istanbul coverage

When to use it

'Is the project's quality posture OK?' is one call: {} compiles, runs the tests and reports coverage, complexity hotspots, readability, DI and uncovered methods together.

When not to use it

Details

status is one of: ok (tests pass + coverage meets threshold) / tests-failed / coverage-low (tests pass but coverage below threshold) / compile-failed / no-tests-found - the same words ek9_run_tests uses. lockPayloads reports MutexKey bodies whose protected payload may leave the lock — each naming the enclosing method, the MutexLock it runs under and the via chain to the callee that keeps the reference — beside a census {bodies, contained, mayEscape, unknown} of EVERY body; it carries gates:false and is NOT part of status — advisory until it proves reliable enough to stop a publish (ek9_query_mutex_payload is the same sweep, workspace-scoped). All metrics are extracted in-process from CoverageRuntime after execution (no disk reads/writes for metrics); complexityThreshold (default 10) gates the cyclomatic hotspots list, uncoveredMethods is capped at 50 entries sorted by file then start line, and the entry-point file auto-detects when omitted. RELEASE chain: ek9_increment_version -> ek9_run_tests -> ek9_run_quality_checks -> ek9_package.

Arguments

ArgumentTypeRequiredWhat it is
complexityThresholdintegerMethods with cyclomatic complexity >= this appear in complexity.hotspots.
filestringThe entry-point .ek9 source file (absolute, or relative to projectDir). Omit to auto-detect the shallowest non-dev .ek9 file.
projectDirstringProject root holding the .ek9 sources - absolute, or relative to the workspace root. Omit to use the workspace root itself (the first root ek9_compile was given).

See also