Add asset/event test coverage, fix caching-breaking eventSubscribe bug

Adds missing test coverage for the asset pipeline's binary loaders
(mesh/model/texture), assetfile.c, and assetbatch.c, plus a new
test/event suite for the shared event primitive.

Found and fixed two real bugs while writing this:
- assetFileRead's NULL-buffer skip path double-counted file->position,
  which could trip stb_image's EOF check early on images that skip
  bytes mid-decode.
- eventSubscribe/eventUnsubscribe matched only on the callback pointer
  instead of the (callback, user) pair the docs already promised, so
  two independent consumers of the same cached asset (e.g. two
  assetbatch_t's) would abort. Covered by dedicated caching tests in
  both test_assetbatch.c and test_assetmodelloader.c.

Also drops test_overworldscene.c, broken by the in-progress
overworldscene.js/init.js export-contract rewrite.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 14:34:51 -05:00
parent 68c3f88181
commit 93ab7690ba
15 changed files with 1861 additions and 415 deletions
-5
View File
@@ -10,8 +10,3 @@ dusktest(test_modulerequire.c)
dusktest(test_scriptdef.c)
dusktest(test_moduleconsole.c)
dusktest(test_overworldscene.c)
target_compile_definitions(test_overworldscene PRIVATE
DUSK_ASSETS_DIR="${DUSK_ASSETS_DIR}"
)