Skip to main content

Module go_project

Module go_project 

Source
Expand description

Go project discovery: what Supercov measures, and what it deliberately does not.

Go settles two questions other languages leave ambiguous. A test file is exactly one ending in _test.go — the toolchain enforces it, so there is no heuristic to get wrong. And vendor/ and testdata/ have meanings fixed by the toolchain: vendored code is someone else’s, and the compiler ignores testdata entirely, so measuring either would put obligations on code this project’s tests were never meant to exercise.

Structs§

GoFiles
PreparedGoProject

Functions§

discover_go_files
go_integrity_inputs
Integrity inputs: sources and tests are hashed separately, dependency and configuration files identify the environment, and the test command identifies execution.
is_test_file
A Go test file is exactly one whose name ends _test.go. The toolchain enforces this, so unlike every other language there is no guessing here.
module_path
The module path declared in go.mod, which package identities are relative to.
prepare_go_project
test_packages
Package directories that hold at least one test file, which is the unit go test actually runs.
workspace_modules
The module directories a go.work declares, relative to the workspace root and /-separated.