Skip to content

Point the efficiency tests at the engine's actual name - #804

Open
ZacharyZcR wants to merge 1 commit into
JustVugg:devfrom
ZacharyZcR:fix/stale-engine-names
Open

Point the efficiency tests at the engine's actual name#804
ZacharyZcR wants to merge 1 commit into
JustVugg:devfrom
ZacharyZcR:fix/stale-engine-names

Conversation

@ZacharyZcR

Copy link
Copy Markdown
Contributor

Draft.

The efficiency tests have never run

tests/test_inefficiency.py looks for c/glm.exe. The engine was renamed glm β†’ colibri, and .exe only exists on Windows β€” so that path resolves on no platform at all:

$ python3 -m unittest discover -s tests -p 'test_inefficiency.py' -v
... skipped 'glm.exe not built (run: make glm.exe)'      Γ— 8

_engine_present() has been returning False everywhere, so all 8 tests skip instead of running. A green make test-python reports on none of them.

What they assert is not incidental β€” it is the property this project exists for:

  • the tiny-model throughput floor (TINY_TOK_S_FLOOR)
  • the disk-wait share ceiling (a fully-resident model must not be I/O bound)
  • every PROFILE phase present and non-negative
  • CPU-vs-CUDA teacher-forcing agreement

tools/efficiency.py had the same default (../glm.exe), so anything else driving it landed on the same missing file.

After

Both resolve colibri / colibri.exe, preferring whichever exists. With the engine built, the skip reason becomes the honest one:

... skipped 'glm_tiny fixture absent (gitignored; ... run tools/make_glm_oracle.py)'

That is a real prerequisite β€” the fixture is generated and needs torch β€” rather than a name nobody updated. The tests are still skipped in CI by design (check.yml is "no model downloads", #140), but they now run for anyone who has the fixture, which was the intent.

CONTRIBUTING had the same stale binary

engine always passes the token-exact oracle: SNAP=./glm_tiny TF=1 ./glm 64 16 16

Two dead ends in one line for a new contributor: ./glm does not exist (the make glm alias survives, the binary is colibri), and glm_tiny is gitignored with no hint about where it comes from. Fixed, and it now says the fixture is generated by tools/make_glm_oracle.py.

docs/windows.md:124 had already been updated to ./colibri.exe β€” this one was simply missed.

Scope

Names only. No test logic, no thresholds, no engine code. The tests were written to run and could not; this lets them.

tests/test_inefficiency.py looked for `c/glm.exe`. The engine was renamed
glm -> colibri, and .exe only exists on Windows, so that path resolves on no
platform at all: _engine_present() has been returning False everywhere and
all 8 tests in the file have been skipping instead of running.

    $ python3 -m unittest discover -s tests -p 'test_inefficiency.py' -v
    ... skipped 'glm.exe not built (run: make glm.exe)'      x8

They are the throughput floor, the disk-wait share ceiling, the PROFILE
phase assertions and the CPU-vs-CUDA teacher-forcing agreement -- the
regression tests for the engine being fast, which is the property this
project exists for. A green `make test-python` has been reporting on none
of it.

tools/efficiency.py had the same default (`../glm.exe`), so anything else
driving it landed on the same missing file.

Both now resolve colibri/colibri.exe, preferring whichever exists. With the
engine built, the skip reason becomes the honest one:

    ... skipped 'glm_tiny fixture absent (... run tools/make_glm_oracle.py)'

which is a real prerequisite -- the fixture is gitignored and needs torch to
generate -- rather than a name nobody updated.

CONTRIBUTING's oracle command had the same stale binary and never said where
glm_tiny comes from, so a new contributor following it hits two dead ends in
one line.
@ZacharyZcR
ZacharyZcR marked this pull request as ready for review August 3, 2026 21:11
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