Skip to content

tests: cover run_vulkan.sh release-path fallback behavior#38

Draft
cursor[bot] wants to merge 1 commit intonext-gen-5from
cursor/regression-test-coverage-920b
Draft

tests: cover run_vulkan.sh release-path fallback behavior#38
cursor[bot] wants to merge 1 commit intonext-gen-5from
cursor/regression-test-coverage-920b

Conversation

@cursor
Copy link
Copy Markdown

@cursor cursor bot commented Apr 1, 2026

Summary

Add deterministic regression coverage for scripts/run_vulkan.sh engine path resolution logic introduced in recent merged changes.

Risky behavior now covered

  • Running scripts/run_vulkan.sh from repository scripts/ must execute engine binaries from sibling release/ directory.
  • Running a copied run_vulkan.sh from inside release/ must still resolve and execute local engine binaries.
  • Architecture-specific engine name selection (idtech3 vs idtech3.aarch64) must route correctly and preserve passthrough args.

Test files added/updated

  • Added: tests/scripts/test_run_vulkan_path_resolution.sh
    • Creates isolated temp layouts for both execution contexts.
    • Uses fake engine stubs to assert selected executable path/name and forwarded arguments.
  • Updated: CMakeLists.txt
    • Registers new CTest: test_run_vulkan_path_resolution (labels: unit;scripts;validation).

Why this materially reduces regression risk

Recent production behavior changed in a startup script used to launch the Vulkan client. Incorrect path resolution causes immediate startup failures in real deployments (repo-runner vs copied-script layouts). This test locks both supported layouts and architecture-dependent selection with deterministic assertions, preventing silent breakage in a high-blast-radius launch path.

Validation run

  • tests/scripts/test_run_vulkan_path_resolution.sh scripts/run_vulkan.sh
  • ctest -R test_run_vulkan_path_resolution --output-on-failure (from build-dbg)

Both passed in this environment.

Open in Web View Automation 

Co-authored-by: Tim Fox <timfox@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant