Skip to content

Fix launcher execution properties and prepare 0.7.1 - #72

Merged
helly25 merged 3 commits into
mainfrom
fix/launcher-exec-properties-071
Oct 31, 2026
Merged

helly25 merged 3 commits into
mainfrom
fix/launcher-exec-properties-071

Conversation

@helly25

@helly25 helly25 commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Keep test execution properties on the actual test instead of passing them to generated launcher binaries. This fixes Bazel analysis failures for consumers using properties such as test.no-sandbox.

Prepare bashtest 0.7.1 for release, including the framework improvements already accumulated on main.

AG;DR

  • Add exec_properties to the existing list of test attributes excluded from generated POSIX and Windows launcher binaries. The outer bashtest_tools_test retains the original property dictionary unchanged.
  • Add a regression fixture with a neutral test.bashtest-regression property: verify the declared outer test retains its exact properties and both launcher declarations omit them, then actually execute the Bash test. Existing CI runs the suite on Linux, macOS and managed Windows across Bazel 7.7.2, 8.8.2 and the pinned version, including manifest-only consumers.
  • Keep the execution-property regression declaration in its own fixture file: the existing tools fixture is deliberately copied into independent consumer workspaces and must retain its existing dependency-free contract.
  • Document the execution-property contract in the macro API and README and add its 0.7.1 changelog entry. Run release preparation to update the README dependency example to 0.7.1; MODULE.bazel and the first changelog heading already identify 0.7.1. Preserve all previously accumulated 0.7.1 changes.
  • Reproduced the original failure locally before applying the fix: Bazel rejected the generated launcher because its exec_properties referenced the nonexistent test execution group.
  • Validation: bazel test //... passed (19 tests passed, Windows-only runtime test skipped on macOS); pre-commit run --all-files passed. After making the regression property portable and isolating its declaration fixture, the focused test, complete external consumer script, and complete tools consumer script passed locally; changed-file hooks passed. The complete current-head CI run 41211998568 passed: all nine Linux/macOS/Windows cells across Bazel 7.7.2, 8.8.2 and pinned, plus pre-commit, release-site verification and the final gate.
  • The initial regression used the exact test.no-sandbox consumer property and passed root-workspace default and manifest modes, but exposed a separate native Bazel failure in external manifest-only unsandboxed execution: test-setup.sh could not locate its test binary. That failure reproduced locally before entering the bashtest launcher. The committed regression uses a neutral test-execution-group property to verify this fix across all supported platforms/modes without expanding its scope into Bazel test-launcher behavior.
  • This upstream fix/release is independent of XFF's dependency aggregation PR #1032. It does not change the immutable bashtest 0.7.0 release.

@helly25
helly25 requested a review from Fab-Cat as a code owner October 31, 2026 14:44
@helly25
helly25 merged commit 8d33643 into main Oct 31, 2026
12 checks passed
@helly25
helly25 deleted the fix/launcher-exec-properties-071 branch October 31, 2026 15:16
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