pcbjam/tests/apps/standalone
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Gergő Törcsvári 7dbc9fb36e
design-b D1b/c: context harness + the bounded-and-measured memory gate
Doc 20 §6 D1, second slice: the dedicated test app D1 calls for, plus
the doc 20 §7 risk-1 gate.

tests/apps/standalone/sched-context/ drives the primitives with no wx
linked (a failure can only be the contexts layer) and assertions ON —
unlike the races harness, an emscripten "cannot start an async
operation" state here IS the bug, not a tolerated state. Nine
scenarios, each pinning one invariant; the load-bearing ones:
- parked_does_not_block: a parked context does not stop others running.
  This is doc 19's freeze made unrepresentable — there a parked activity
  held a global interlock and the UI died; here "parked" simply means
  "not runnable", and three workers run past it before it resumes.
- one_transition_in_flight: a context calling drain() gets a no-op, with
  a second ready context queued so a buggy nested drain would actually
  run something and be caught.
- async_wake: a real macrotask hop (setTimeout → mark_ready → drain),
  the shape every production bridge has.
- deep_park_sizing: parks 64 live frames deep to measure what a park
  actually costs.

The memory gate asserts the ceiling (peak live contexts, peak bytes),
that nothing leaked (live=0, bytes=0, created==finished), that nothing
was left mid-transition, and that refusals occurred (zero would mean the
illegal-operation scenarios stopped provoking).

Measured here: ~34 B/frame, 2200 B for a 64-frame park, 1 MB peak for 4
concurrent contexts. Recorded with the caveat that the harness's frames
carry three locals each, so this is a FLOOR — real bridges save far more
per frame (libcontext runs 512 K after a 64 K buffer silently
overflowed). The apparatus and its units are validated; the sizing
DECISION needs deep-park numbers from real bridges at D3/D4.

playwright.config: asyncify-firefox now matches every spec in ./asyncify
instead of only asyncify-races* — a new harness there is covered by
construction rather than by remembering to widen the pattern.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TEHGiiXMShNXbBr7gSJ7iz
2026-08-10 10:14:16 +02:00
..
async-preload feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on) 2026-06-30 09:40:26 +02:00
asyncify-races design-b D-1a: retire the legacy-shim ablation builds + redundancy pins 2026-08-10 10:14:14 +02:00
aui Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
auinotebook Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
bitmapbuttons Clean up test infrastructure and fix test assertions 2026-01-01 20:18:19 +01:00
bitmask Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
calendar Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
clipboard Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
collapse-relayout test: 💍 regression test for the notebook layer-list collapse 2026-07-06 09:17:10 +02:00
collapsible Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
contextmenu feat(wasm-dom): tests for context menus + scrollbars; fix clean wx build 2026-06-13 23:15:49 +02:00
coroutine wip: nested-asyncify fix, wxAuiToolBar registration, tests, research docs 2026-04-21 13:58:16 +02:00
coroutine-nested wip: nested-asyncify fix, wxAuiToolBar registration, tests, research docs 2026-04-21 13:58:16 +02:00
coroutine-pthread diagnostics: configurable --diag logging flags + asyncify setupUIConditions fix 2026-05-27 16:14:03 +02:00
dataview Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
dataviewvirtual Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
dialog feat: 🎸 wxWidgets dialog/frame header/drag/resize 2026-06-30 15:46:52 +02:00
dnd Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
earlysize Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
filedialog Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
fontenum Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
grid Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
gridedit Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
gridrenderers Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
htmlwin Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
infobar Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
layout Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
listctrl Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
logerror Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
maximize Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
menu Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
notebook test: 💍 add tab switch fix test 2026-06-16 11:22:18 +02:00
ownerdrawn Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
pickers Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
popup fix: 🐛 wxWdigets popup position 2026-06-23 14:32:38 +02:00
print Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
printpreview Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
propgrid Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
pthread-ondemand feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on) 2026-06-30 09:40:26 +02:00
radiogroups fix(wasm): radio groups no longer merge into one 2026-06-29 12:54:35 +02:00
raytrace-modal feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on) 2026-06-30 09:40:26 +02:00
raytrace-threads test: 💍 deadlock test + readme update 2026-06-19 09:22:58 +02:00
regions Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
retinascale wasm: validate kicad hi-dpi scaling 2026-03-22 12:48:05 +01:00
sched-context design-b D1b/c: context harness + the bounded-and-measured memory gate 2026-08-10 10:14:16 +02:00
scrollbar feat(wasm-dom): tests for context menus + scrollbars; fix clean wx build 2026-06-13 23:15:49 +02:00
secondary-frame-chrome feat: 🎸 wxWidgets dialog/frame header/drag/resize 2026-06-30 15:46:52 +02:00
secondary-glcanvas test: 💍 wxWidgets secondary canvas 2026-06-19 09:22:58 +02:00
selectheight test: 💍 select height wxWidget 2026-06-15 18:41:18 +02:00
specialized Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
stattext-ellipsize fix: 🐛 wxWidgets text ellipsis 2026-06-17 14:26:03 +02:00
stc Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
textctrl-reentry test(wasm-dom): repros + fixes for the text-ctrl reentry and tooltip UAF bugs 2026-06-13 17:39:34 +02:00
textdecor Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
threadpool Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
threadpool-real feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on) 2026-06-30 09:40:26 +02:00
timer Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
toolbar Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
tooltip-lifetime test(wasm-dom): repros + fixes for the text-ctrl reentry and tooltip UAF bugs 2026-06-13 17:39:34 +02:00
tooltip-toolbar fix: 🐛 tooltip + test cases 2026-06-19 14:32:09 +02:00
tree Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
uipolish test: uipolish regression app + spec for the wasm-ui-polish fixes 2026-07-28 18:00:35 +02:00
validators Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
warp-pointer fix: 🐛 press m & move w/ arrows 2026-06-16 15:46:43 +02:00
wasmedge Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
wizard Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00
wxstring-mt fix(wx): thread-safe wxString for the AsyncLoad fan-out — CvPcb-open trap solved 2026-07-20 11:56:20 +02:00
xml Reorganize project structure for clarity 2025-12-27 14:06:23 +01:00