Commit Graph

9 Commits

Author SHA1 Message Date
bryanthaboi 95cd881a7a finishing updates 2026-10-20 16:43:53 -04:00
Claude a96a169242 Keep a bad log format from crashing the game
A mod calling mod.log:info with nil where the format expects a number
(e.g. %d) raised from string.format inside Logger.emit and took the whole
game down. Logger now falls back to tostring'd arguments and appends the
format error to the line, so the mistake stays visible without a crash.
2026-10-11 19:31:32 +00:00
bryanthaboi d920f7acdb clean up 2026-09-22 17:05:12 -04:00
Shane McGovern 3cf9e23178 test: fold the harness and parity-seam fixes into one gate-hardening commit
Ships the CI fix together with the test-harness work that supports it, so
every tier stays honest on every machine.

scripts/test.sh
- T6 records missing-artifact failures as skips when no imported game3 data
  exists at all (empty CI identity, no data/generated): the data-driven
  top-level suites assert instead of self-skipping on a fresh runner.  The
  skipped suite names are printed with that reason; with data present the
  same failure gates exactly as before.
- The T3 content verdict now weighs the exit code and the FAIL-line allowlist
  together.  The exit code used to be discarded, so a mid-run crash
  (unresolvable require under POKEPORT_DATA_DIR) printed green checks, zero
  FAIL lines, and passed.  A non-zero exit with no FAIL line is reported as a
  crash with the error line captured - a crash is not a pass.

Test-suite fixes, each run green (several twice)
- tests/run_tests.lua: restore per-suite leaked state and add the Data seam,
  so one suite's loaded data cannot leak into the next.
- tests/mod_runtime_tests.lua: save and restore the environment around each
  case.
- tests/parity_ss_anne_rooms.lua: _loadModule raw-order fix (30/30).
- tests/parity_ss_anne_departure.lua: the Data seams plus the playMap stub.
- playMap stubs for parity_rival_walkoff, parity_tower_rival,
  parity_silph_rival_bug2241 and parity_ss_anne_guard.
- Class-B seams in mod_registry_tests, mod_catalog_tests, mod_ui_tests,
  parity_ball_shake_anim, parity_wavy_screen, parity_hidden_coins_bcd_bug1810,
  parity_mart_stock and parity_rocket3_sight_bug1814.

Together these close the 57 failing checks that were on the content tier
(allowlist stays at 0), so a content run on a machine with imports ends
ALL TESTS PASSED.
2026-09-22 19:17:22 +01:00
1jamie b796c30278 fix(save-editor): mobile safe areas, move search picker, and release window titles
Inset save-editor chrome and pickers into SafeArea so Save stays tappable on punch-hole phones (#917), replace move cycling with a ranked search modal that reflows on phones/RGxxx, and omit the engine version from window titles on stamped release builds.
2026-08-25 12:43:05 -05:00
johnjohto ff90062741 Make the T3 content tier run on Windows (#269)
* Make ROM-free test tiers actually run on Windows

Suite discovery, the extension-point catalog scan, mod test-dir pickup,
and the meta-coverage corpus all shelled out to ls/find/test -d, which do
not exist in cmd.exe. Every listing came back empty on Windows, so tiers
ran 0 suites and still reported ALL TESTS PASSED.

Add portable probes to tests/fs_io.lua (same Unix commands on
Linux/macOS; dir /b and a shell-free rename-self existence check on
Windows) and rewire the four call sites to them. 15/15 engine suites and
2/2 modkit suites now genuinely run and pass on Windows.

Fixes #266

* Make the T3 content tier run on Windows

The content tier had the same Unix-shell assumptions as the tier
discovery fixed in #267, one level down:

- run_tests.lua redirected to /dev/null when chaining tier runners
- mod_runtime_tests.lua called ffi setenv/unsetenv, which msvcrt lacks
  (_putenv with an empty value unsets)
- modkit_tests.lua captured exit codes with POSIX '; echo 0' (cmd
  needs /v:on and !errorlevel!), called python3 (python on Windows),
  and used mkdir -p / rm -rf; cmd mkdir makes parents on its own and
  read -p as a directory name
- the save-editor suites globbed save backups with ls
- tools/save-editor/Catalog.lua scraped mod flags with ls; this one
  affects the real editor on Windows, not just tests

With a ROM imported, run_tests.lua goes from 12 failures to the 3 that
track the missing audio.lua generation (#268), which fails on any OS
and needs a maintainer decision.

---------

Co-authored-by: johnjohto <johnjohto@users.noreply.github.com>
2026-07-27 10:04:35 -04:00
bryanthaboi 3069b2e2a9 The new experience (#201)
* new launcher and save converts and pipeline

* fixing bugs
2026-07-25 12:36:53 -04:00
bryanthaboi 47923d95b3 big ass modding update 2026-07-19 16:18:18 -04:00
bryanthaboi a5d2e77e7d initial commit 2026-07-17 20:30:02 -04:00