Skip to content

Releases: ThunderKhan/diff2test

diff2test v0.1.1

Choose a tag to compare

@ThunderKhan ThunderKhan released this 29 Aug 08:31

diff2test v0.1.1

A polished release of diff2test, a conservative zero-runtime-dependency C++20 test-impact analysis CLI for CMake/CTest projects.

Highlights

  • Convention-over-configuration CLI:
    diff2test analyze .
  • Changed paths are read from stdin by default.
  • Optional Git composition:
    git diff --name-only HEAD~1 | diff2test analyze .
  • Git is not a runtime dependency; diff2test only consumes newline-delimited changed paths.
  • Conventional metadata defaults under <project-root>/build.
  • --build convenience alias for --build-root.
  • Fully explicit legacy CLI remains supported.
  • Conservative safety behavior is unchanged:
    • 0SUBSET_SELECTED
    • 10FULL_SUITE_SELECTED
    • 11FULL_SUITE_REQUIRED
  • Single-file runtime implementation.
  • Zero third-party runtime dependencies.
  • No runtime subprocess execution.
  • Deterministic output and same-runner reproducible Release builds.
  • Public CI covers the real CMake/CTest fixture, fallback behavior, sanitizers, subprocess audit, and reproducibility.

Supported boundary

The verified MVP targets Linux, C++20, GCC/Clang Make-style dependency files, CMake File API codemodel v2, and CTest json-v1.

Unsupported or incomplete evidence widens conservatively rather than guessing.

Release assets

  • diff2test-linux-x86_64
  • SHA256SUMS.txt

diff2test v0.1.0

Choose a tag to compare

@ThunderKhan ThunderKhan released this 29 Aug 06:08

diff2test v0.1.0

Initial public release of diff2test, a zero-runtime-dependency C++20 CLI for conservative test impact analysis on supported CMake/CTest projects.

Highlights

  • Single-file runtime implementation: diff2test.cpp
  • Zero third-party runtime dependencies
  • Conservative affected-test selection
  • Strict in-process JSON parsing
  • GCC/Clang Make-style .d dependency parsing
  • CMake File API codemodel v2 support
  • CTest json-v1 catalogue support
  • Exact executable-artifact mapping
  • Explainable selection paths
  • Safe fallback on incomplete, stale, ambiguous, or unsupported evidence
  • Deterministic output
  • Public CI integration tests
  • ASan + UBSan verification
  • Same-runner reproducible Release build

Verified scenarios

  • include/alpha.hppAlphaTest
  • shared feature header → AlphaTest + BetaTest
  • missing dependency evidence → full known suite
  • missing CTest catalogue → FULL_SUITE_REQUIRED

Hackathon bonus evidence

  • Single File
  • Reproducible Build
  • STDLIB Log
  • Package Killer comparison

See:

  • README.md
  • STDLIB.md
  • DEPENDENCY-PROOF.md
  • PACKAGE-KILLER.md
  • FINAL-AUDIT.md

Supported release boundary

This release targets the verified Linux MVP using GCC/Clang Make-style dependency files, CMake File API codemodel v2, CTest JSON v1, and direct executable-to-test mapping.

Unsupported or ambiguous evidence widens safely instead of being guessed through.