# System map — gotestyourself/gotestsum

> Canonical page: https://codevetter.com/unpack/gotestsum/system-map

# System map — gotestyourself/gotestsum

Scanned commit 3cf14356a16c7931cfeacd7dfee585527618df3d (2026-04-14). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The executable is a thin router over the main test-running command and two analysis tools. Test execution crosses a subprocess boundary, while parsing and reporting operate on an in-memory Execution model. Integration centers on terminal output, report files, executable hooks, and filesystem notifications. Build and release definitions describe a portable CLI binary rather than a hosted service.
- main calls route(os.Args), preserves errors implementing ExitCode(), and exits with status 3 for other command errors. — [main.go#L13-L38](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/main.go#L13-L38) [cmd/main.go#L481-L501](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/cmd/main.go#L481-L501)
- toolRun dispatches slowest and ci-matrix explicitly; help and ? are handled by both the root router and tool router. — [main.go#L28-L38](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/main.go#L28-L38) [main.go#L53-L77](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/main.go#L53-L77)
- cmd.Run owns flag parsing, logging setup, build-version reporting, watch dispatch, and ordinary execution. — [cmd/main.go#L24-L50](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/cmd/main.go#L24-L50)
- The module declares Go 1.24.0 and dependencies for flags, colors, filesystem notifications, shell-like argument splitting, concurrent scanning, and Go package loading. — [go.mod#L1-L16](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/go.mod#L1-L16)
- testjson exposes ScanTestOutput, ScanConfig, and EventHandler; Execution owns package maps and a separately locked error list. — [testjson/doc.go#L2-L20](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/testjson/doc.go#L2-L20) [testjson/execution.go#L373-L383](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/testjson/execution.go#L373-L383) [testjson/execution.go#L729-L765](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/testjson/execution.go#L729-L765)
- cmd's event handler bridges parsed events to terminal formatters and JSON files; final JUnit generation is delegated to internal/junitxml. — [cmd/handler.go#L16-L56](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/cmd/handler.go#L16-L56) [cmd/handler.go#L136-L157](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/cmd/handler.go#L136-L157)
- ./do provides binary, binary-static, lint, and golden-update tasks; GitHub Actions builds the executable and uses it to run the repository with race detection. — [do#L6-L22](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/do#L6-L22) [.github/workflows/ci.yaml#L23-L28](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/.github/workflows/ci.yaml#L23-L28)
- GoReleaser builds CGO-disabled binaries for five operating systems and multiple architectures, embeds cmd.version, and defines checksums; CircleCI publishes on matching version tags. — [.project/goreleaser.yml#L9-L24](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/.project/goreleaser.yml#L9-L24) [.project/goreleaser.yml#L49-L50](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/.project/goreleaser.yml#L49-L50) [.circleci/config.yml#L16-L21](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/.circleci/config.yml#L16-L21) [.circleci/config.yml#L62-L75](https://github.com/gotestyourself/gotestsum/blob/3cf14356a16c7931cfeacd7dfee585527618df3d/.circleci/config.yml#L62-L75)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
