Перейти к содержимому

WBML-0004 — Event Bus Runtime Suite

✅ Verified WBML-0004 68 PASS / 0 FAIL / 0 SKIP

Совпадает ли реальное поведение Event Bus API 1.14.0 с более старым creator-source и где runtime уже ушёл вперёд?

WorldBox 0.51.2 build 719
Git build-719@5dec
NeoModLoader 1.2.0.1
PoliticalWorldAPI 1.14.0
WBML 0.0.4-fix2

Runtime вернул 23 event ID.

Проверено:

defensive copy event list
custom/unknown subscription accepted + cleanup
null handler rejected
duplicate exact subscription rejected/ignored
exact + wildcard delivery
party.renamed identity fields
rename mapping через OldValue/NewValue
изоляция payload между подписчиками
unsubscribe semantics
subscriptions → 0

Unknown-event result отличается от старого source 1.9 и поэтому документируется с версией runtime.

Один callback намеренно бросил exception, но здоровый callback всё равно выполнился. Diagnostics увеличил CallbackErrors.

Также прошли self-unsubscribe during dispatch и UnsubscribeAll.

Запрошена recursive chain 64, runtime остановился на:

recursive=16
tail=16

Затем:

100/100 writes accepted
100 callbacks
33 ms observed

33 ms — наблюдение, не performance guarantee.

Первый вариант ошибочно требовал source-предположения: unknown-event rejection и OldName/NewName.

fix1 уже нашёл правильный payload mapping, но recursive/stress handlers сами фильтровали только NewName, поэтому получили ноль. Этот результат признан harness bug.

fix2 использовал runtime-aware mapping и полностью прошёл.

PASS=68 FAIL=0 SKIP=0
A=PASS B=PASS C=PASS
SUITE RESULT: PASS

Имя партии восстановлено, subscriptions очищены.

Это не полная проверка payload всех 23 событий.

Санитизированный runtime excerpt