test(setup): test_setup_runtime cuts builder_ready() alone, not up to manifest_url() #118

Open
d4nkn3ss wants to merge 1 commit from d4nkn3ss/Longshot:fix/test-setup-runtime-cut into main
Contributor

Why

tests/test_setup_runtime.py fails on main on Windows, the only platform it runs on, so the check that a self-contained Builder has all its startup files has been off since #13.

What changed

  • tests: tests/test_setup_runtime.py cuts builder_ready() out of builder/setup/setup.c up to its own closing brace, instead of up to manifest_url(). #13 added #define LAUNCHER_RELEASES L"https://git.magicbean.dev/MagicBeanDev/LongshotLauncher/releases" between the two functions, so the test took that URL for one of the Builder's required files, and creating a file of that name failed (OSError: [Errno 22] Invalid argument).

Flags and settings

None

Measurements

main: 94bbc205 (2026-11-12)
this PR: fix/test-setup-runtime-cut @ 0b2d598d
Hardware: Windows 11, Python 3.12 from python.org, llvm-mingw clang 23 (--cxx clang++)
Scene: n/a (game-free)
Method: python -I -B tests/run_all.py setup_runtime once on each side, same checkout
How to reproduce: on Windows with clang++ on PATH, python -I -B tests/run_all.py setup_runtime

main @ 94bbc205 this PR @ 0b2d598d
tests/test_setup_runtime.py FAIL: OSError: [Errno 22] Invalid argument: '...\Builder space é\https:\git.magicbean.dev\...\releases' pass
required names the test reads 13 (the 12 files and the launcher's URL) 12 (the files only)

Testing

Tested: the command above on Windows 11 on both sides; the cut now ends at builder_ready()'s return 1; }. tests/test_setup_runtime_paths.py passes on both.

Full suite: python -I -B tests/run_all.py on this branch @ 0b2d598d, Windows 11: 494 passed, 2 failed, 35 skipped. The failures: tests/test_check_third_party.py (fixed by #80) and tests/test_release.py (fixed by #119), both failing on main the same way.

Not tested: Linux: the test skips itself there (RUN_ALL_SKIP), as before.

Needs other testers: None

Screenshots

Nothing on screen

Risk and rollback

Test-only; reverting the commit is enough.

Issues

None

Checklist

For everyone

  • One topic.
  • The title is a Conventional Commit (type(scope): description).
  • Rebased on current main.
  • python -I -B tests/run_all.py run and passing (any failure that also fails on main is named above).
  • Tested in the game, or what wasn't is named under Testing. (Test-only change: nothing in the game.)
  • Testing filled in: what was tested, what wasn't, and what needs other testers (with test requests).
  • Measured: main and this PR at named commits, on the same PC, scene and settings, at least 2 interleaved runs each, the median reported. (A test result: the same on every run.)
  • No game files, dumps, build output or generated files.
  • third_party/ untouched (a new folder with a PROVENANCE.md instead).
  • The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.

If applicable

  • AI assistance recorded with Assisted-by: / Co-Authored-By: trailers.
  • A check under tests/ that reads changed source updated in this PR, not weakened.

🤖 Generated with Claude Code

## Why `tests/test_setup_runtime.py` fails on `main` on Windows, the only platform it runs on, so the check that a self-contained Builder has all its startup files has been off since #13. ## What changed - tests: `tests/test_setup_runtime.py` cuts `builder_ready()` out of `builder/setup/setup.c` up to its own closing brace, instead of up to `manifest_url()`. #13 added `#define LAUNCHER_RELEASES L"https://git.magicbean.dev/MagicBeanDev/LongshotLauncher/releases"` between the two functions, so the test took that URL for one of the Builder's required files, and creating a file of that name failed (`OSError: [Errno 22] Invalid argument`). ## Flags and settings None ## Measurements main: 94bbc205 (2026-11-12) this PR: fix/test-setup-runtime-cut @ 0b2d598d Hardware: Windows 11, Python 3.12 from python.org, llvm-mingw clang 23 (`--cxx clang++`) Scene: n/a (game-free) Method: `python -I -B tests/run_all.py setup_runtime` once on each side, same checkout How to reproduce: on Windows with clang++ on PATH, `python -I -B tests/run_all.py setup_runtime` | | main @ 94bbc205 | this PR @ 0b2d598d | |---|---|---| | `tests/test_setup_runtime.py` | FAIL: `OSError: [Errno 22] Invalid argument: '...\Builder space é\https:\git.magicbean.dev\...\releases'` | pass | | required names the test reads | 13 (the 12 files and the launcher's URL) | 12 (the files only) | ## Testing **Tested:** the command above on Windows 11 on both sides; the cut now ends at `builder_ready()`'s `return 1; }`. `tests/test_setup_runtime_paths.py` passes on both. **Full suite:** `python -I -B tests/run_all.py` on this branch @ 0b2d598d, Windows 11: 494 passed, 2 failed, 35 skipped. The failures: `tests/test_check_third_party.py` (fixed by #80) and `tests/test_release.py` (fixed by #119), both failing on `main` the same way. **Not tested:** Linux: the test skips itself there (`RUN_ALL_SKIP`), as before. **Needs other testers:** None ## Screenshots Nothing on screen ## Risk and rollback Test-only; reverting the commit is enough. ## Issues None ## Checklist ### For everyone - [x] One topic. - [x] The title is a Conventional Commit (`type(scope): description`). - [x] Rebased on current `main`. - [x] `python -I -B tests/run_all.py` run and passing (any failure that also fails on `main` is named above). - [x] Tested in the game, or what wasn't is named under Testing. (Test-only change: nothing in the game.) - [x] Testing filled in: what was tested, what wasn't, and what needs other testers (with test requests). - [x] Measured: main and this PR at named commits, on the same PC, scene and settings, at least 2 interleaved runs each, the median reported. (A test result: the same on every run.) - [x] No game files, dumps, build output or generated files. - [x] `third_party/` untouched (a new folder with a `PROVENANCE.md` instead). - [x] The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled. ### If applicable - [x] AI assistance recorded with `Assisted-by:` / `Co-Authored-By:` trailers. - [x] A check under `tests/` that reads changed source updated in this PR, not weakened. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
test(setup): test_setup_runtime cuts builder_ready() alone, not up to manifest_url()
Some checks are pending
CI / Conventional Commit title (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Blocked by required conditions
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Blocked by required conditions
CI / Workflow lint (actionlint) (pull_request) Blocked by required conditions
Third-party parts / As their notes say (pull_request) Blocked by required conditions
Third-party parts / The same as upstream (pull_request) Blocked by required conditions
PR description / Description follows the template (pull_request_target) Successful in 9s
0b2d598d77
#13 put `#define LAUNCHER_RELEASES L"https://..."` between the two functions, so the cut took the launcher's URL as
one of the Builder's required files; Windows refuses that name, and the check failed on main (it runs on Windows
only). The cut now ends at builder_ready()'s own closing brace.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Author
Contributor

Full game-free suite run on this branch (Windows 11); the results and the failures that also fail on main are now under Testing. Marking ready.

Full game-free suite run on this branch (Windows 11); the results and the failures that also fail on main are now under Testing. Marking ready.
d4nkn3ss changed title from WIP: test(setup): test_setup_runtime cuts builder_ready() alone, not up to manifest_url() to test(setup): test_setup_runtime cuts builder_ready() alone, not up to manifest_url() 2026-11-13 06:18:35 +00:00
Author
Contributor

Superseded by main: 839e85ff (removing the Python builder) changed the same line to cut builder_ready() up to #define LAUNCHER_DOWNLOAD, and tests/test_setup_runtime.py now passes on Windows on main @ 9a186f71 (python -I -B tests/run_all.py setup_runtime: 2 passed). This PR's cut (to the function's own closing brace) would only guard against a future string between the two; not worth a review on its own, so it can be closed.

Superseded by main: 839e85ff (removing the Python builder) changed the same line to cut `builder_ready()` up to `#define LAUNCHER_DOWNLOAD`, and `tests/test_setup_runtime.py` now passes on Windows on main @ 9a186f71 (`python -I -B tests/run_all.py setup_runtime`: 2 passed). This PR's cut (to the function's own closing brace) would only guard against a future string between the two; not worth a review on its own, so it can be closed.
Some checks are pending
CI / Conventional Commit title (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Blocked by required conditions
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Blocked by required conditions
CI / Workflow lint (actionlint) (pull_request) Blocked by required conditions
Third-party parts / As their notes say (pull_request) Blocked by required conditions
Third-party parts / The same as upstream (pull_request) Blocked by required conditions
PR description / Description follows the template (pull_request_target) Successful in 9s
This pull request has changes conflicting with the target branch.
  • tests/test_setup_runtime.py
Some workflows are waiting to be reviewed.
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u 'fix/test-setup-runtime-cut:d4nkn3ss-fix/test-setup-runtime-cut'
git switch 'd4nkn3ss-fix/test-setup-runtime-cut'
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot!118
No description provided.