Skip to content

fix(fps): HOS_FPS_LOG read by the switches' rule, so test_env_on passes on main again - #2575

Merged
NotRexed merged 1 commit into
NotRexed:mainfrom
mooki000:fix/fps-log-env-on
Nov 12, 2026
Merged

NotRexed merged 1 commit into
NotRexed:mainfrom
mooki000:fix/fps-log-env-on

Conversation

@mooki000

Copy link
Copy Markdown
Contributor

What

host/oot_high_fps.c reads its log switch with env_on("HOS_FPS_LOG") instead of getenv("HOS_FPS_LOG") != NULL. One line, one include, and the comment that describes the switch.

Why

How it was tested

  • tests/test_env_on.py on main 9df055f2: fails, naming host/oot_high_fps.c:16. With this change: passes.
  • tests/run_all.py --strict with test_env_on, test_menu_env_on and test_high_fps_fixes: 3 passed (Arch Linux).
  • host/oot_high_fps.c compiles with gcc and clang (-fsyntax-only -Wall -Wextra, with the generated headers of a local build).
  • Not run: the game with the switch set. The change is the read of one environment variable through the function the other host files use.

Not in this change

The same run has two more failures on Windows that this does not touch: tests/test_psychov35.py (part 1/2) and tests/test_pcache_header_read.py (part 2/2).

No issue was opened for this: it is one line and the failing test is the report.

Assisted-by: Claude Fable 5.2

…es on main again

host/oot_high_fps.c read its log switch as getenv("HOS_FPS_LOG") != NULL
(NotRexed#2470, kept by NotRexed#2552), the set-means-on form NotRexed#2042 retired:
HOS_FPS_LOG=0 turned the log on. tests/test_env_on.py finds such reads, so
it fails on main since NotRexed#2470: in run 43120809833 (eed4d91) in the Python
source checks' ubuntu-24.04 part 2/2 and windows-2022 part 1/2.

The switch is read with env_on now, as host/nn_vi.c reads the same name:
unset, empty, 0, false, off and no are off.

Assisted-by: Claude Fable 5.2
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
DevL0rd added a commit to DevL0rd/Hookshot that referenced this pull request Nov 12, 2026
@NotRexed
NotRexed merged commit 7dfb853 into NotRexed:main Nov 12, 2026
11 of 13 checks passed
NotRexed pushed a commit that referenced this pull request Nov 12, 2026
…2613)

`tests/test_vram_budget_row.py` fails on Windows with the llvm-mingw
setup that CONTRIBUTING.md describes, because there `g++` is clang:

```
FAIL: the fixture does not build:
fixture.cpp:96:15: error: unused variable 'kVramMinimumOnly' [-Werror,-Wunused-const-variable]
```

**What changed:** the fixture takes the menu's budget tables, and
`kVramMinimumOnly` comes with them. The row's step that reads that
constant (`vk_menu.cpp:1906`) does not. The fixture now marks it used
with `(void)kVramMinimumOnly;`. GCC, which CI uses, does not warn, so CI
was green while a local Windows run was red.

**Tested:** Windows 11, llvm-mingw 20261104 ucrt-x86_64 (clang 23.1.5):
- `python -I -B tests/test_vram_budget_row.py --cxx g++` failed before
the change and passes after it.
- Full `tests/run_all.py`: 438 passed, 3 failed before the change. The
other two failures are not this one:
  - `test_env_on`: `HOS_FPS_LOG`, already fixed in #2575;
  - `nx2/test_nup_paths`: symlinks need Developer Mode on Windows.

**Not tested:** GCC/Linux. The change only adds a reference to a
constant, so it does not change what the test checks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.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.

2 participants