Skip to main content

Build & Verification Tools

build.ps1​

The build automation wrapper for WMMR:

.\tools\build.ps1 # Full Debug build
.\tools\build.ps1 -Config Release # Release build
.\tools\build.ps1 -Target MovieMakerCore # Single target
.\tools\build.ps1 -Clean # Clean build
.\tools\build.ps1 -Analyze # Build + analyze binaries

Parameters:

ParameterValuesDefault
-ConfigDebug, ReleaseDebug
-Targetany CMake targetall
-Cleanswitch — remove the build tree firstoff
-Analyzeswitch — run binary analysis after buildoff

It wraps the same cmake -S . -B build -G "Visual Studio 17 2022" -A Win32 + cmake --build sequence documented in Building.

test_all.py​

The runtime test harness — tests MovieMaker.exe behavior by launching it and observing the process:

python tools\test_all.py # Run the full harness
python tools\test_all.py --timeout 30 # Custom timeout

Every invocation runs the full suite via harness.run_all() — file existence, DLL presence, a clean launch, a launch with arguments, stability, single-instance behavior, window creation, and memory usage. (--launch is accepted on the command line but does not select a subset; the harness always runs everything.)

What it checks:

  • process launches and stays alive (configurable timeout)
  • window creation (the "Windows Live Movie Maker" window)
  • process stability (no crash during observation window)

todo_audit.py​

The TODO audit scanner — reads every line of every tracked, authored source file and reports TODO(reconstruction): annotations. It only reports matching lines; it does not verify, classify, or check the completeness of the annotations (that review is manual):

python tools\todo_audit.py --check
  • Scans .bat .c .cc .cmake .cpp .cs .cxx .def .h .hpp .ps1 .py .rc + all CMakeLists.txt.
  • Excludes vendored src/WTL/ and submodules (not authored here).
  • Output is location-based, so it stays accurate as code moves.

Full policy on TODO Audit.