Skip to content

Testing and Validation

Hugo edited this page Feb 26, 2026 · 1 revision

Testing and Validation

This page summarizes the test layers available in the repository.

1) Platform compile scripts

These scripts compile and run multi-file C++ flows with and without instrumentation.

bash test/scripts/macos_compile.sh
bash test/scripts/linux_compile.sh

What they validate:

  • plain and instrumented builds,
  • source and object-link flows,
  • -x c++ and -x=c++ handling,
  • -o and -o=<name> handling.

2) Python smoke/integration scripts

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install git+https://github.com/CoreTrace/coretrace-testkit.git
python test/examples/test_smoke.py
python test/examples/test_help_smoke.py
python test/examples/test_extern_project.py

Coverage includes:

  • basic CLI behavior,
  • in-memory and instrumented examples,
  • extern-project integration through FetchContent.

3) Docker Linux validation

docker build -f test/docker/Dockerfile .

The Docker build:

  • installs LLVM/Clang toolchain,
  • builds the project,
  • runs Linux compile script,
  • runs Python smoke scripts.

4) Formatting and commit checks

./scripts/format-check.sh
python3 scripts/ci/commit_checker.py

These mirror CI quality gates.

5) CI reference

  • .github/workflows/build.yml
  • .github/workflows/clang-format.yml
  • .github/workflows/commit-check.yml

Use these workflows as the source of truth for required checks before merge.

Clone this wiki locally