OS-utils screen capture results

Generated 2026-09-29T05:59:29+00:00.

Steppytest codeEmulator output (stderr)Screen
PASS
1. qdsample screen
def test_qdsample_screen(record_os_util_step):
    """qdsample: QuickDraw geometry demo (rects/roundrects/arcs/lines) drawn
    once via bridge_call'd assembly primitives, then written to a single
    PNG."""
    out = RESULTS_DIR / "01_qdsample.png"
    result = _run_and_capture(QDSAMPLE, out)

    passed = result.returncode == 0 and out.exists() and out.stat().st_size > 0
    record_os_util_step("1. qdsample screen", result.stdout, out, passed, True)
    assert result.returncode == 0, f"qdsample exited {result.returncode}; output:\n{result.stdout}"
    assert out.exists() and out.stat().st_size > 0

last 40 of 63 lines after the common preamble (63 total)

[2026-09-29 05:59:29.425] [warning] trap5: unhandled D7=1310738
[2026-09-29 05:59:29.425] [warning] trap5: unhandled D7=1310740
[2026-09-29 05:59:29.425] [warning] trap5: unhandled D7=8781842
[2026-09-29 05:59:29.425] [warning] trap5: unhandled D7=8781844
[2026-09-29 05:59:29.425] [warning] trap5: unhandled D7=16252946
[2026-09-29 05:59:29.425] [warning] trap5: unhandled D7=16252948
[2026-09-29 05:59:29.426] [warning] trap5: unhandled D7=23789586
[2026-09-29 05:59:29.426] [warning] trap5: unhandled D7=23789588
[2026-09-29 05:59:29.426] [warning] trap5: unhandled D7=23789586
[2026-09-29 05:59:29.426] [warning] trap5: unhandled D7=23789588
[2026-09-29 05:59:29.426] [info] -- stage: Lines --
[2026-09-29 05:59:29.427] [warning] trap5: unhandled D7=4259858
[2026-09-29 05:59:29.428] [warning] trap5: unhandled D7=4915218
[2026-09-29 05:59:29.429] [warning] trap5: unhandled D7=5636114
[2026-09-29 05:59:29.430] [info] -- stage: Rectangles --
[2026-09-29 05:59:29.435] [info] -- stage: RoundRects --
[2026-09-29 05:59:29.438] [info]   -- [RR:FRAMEROUNDRECT#1] 66 bytes changed, rows[150,179] cols[3,11] x[24,95] values: 0x01x4 0x02x14 0x03x4 0x04x2 0x07x2 0x18x4 0x20x2 0x40x14 0x80x4 0xc0x4 0xe0x2 0xffx10 
[2026-09-29 05:59:29.441] [info]   -- [RR:ERASEROUNDRECT] 18 bytes changed, rows[165,179] cols[6,11] x[48,95] values: 0x00x17 0xfex1 
[2026-09-29 05:59:29.444] [info]   -- [RR:FRAMEROUNDRECT#2] 104 bytes changed, rows[165,194] cols[6,14] x[48,119] values: 0x01x19 0x03x4 0x07x2 0x0fx2 0x1ex4 0x70x2 0x78x2 0x7fx2 0x80x6 0xc0x18 0xe0x20 0xf0x2 0xfcx2 0xffx19 
[2026-09-29 05:59:29.447] [info]   -- [RR:PAINTROUNDRECT] 224 bytes changed, rows[180,209] cols[10,17] x[80,143] values: 0x01x2 0x07x2 0x0fx2 0x3fx6 0x7fx2 0xc0x6 0xe0x2 0xf0x16 0xf8x2 0xfex2 0xffx182 
[2026-09-29 05:59:29.449] [info]   -- [RR:FILLROUNDRECT(gray)] 69 bytes changed, rows[195,209] cols[13,17] x[104,143] values: 0x00x55 0x80x8 0xc0x1 0xe0x3 0xf8x1 0xfcx1 
[2026-09-29 05:59:29.453] [info]   -- [RR:FRAMEROUNDRECT#3] 68 bytes changed, rows[195,224] cols[13,20] x[104,167] values: 0x03x3 0x04x1 0x08x14 0x10x3 0x18x3 0x1cx2 0x1fx1 0x20x3 0x40x7 0x60x3 0x80x2 0xc0x7 0xe0x6 0xf0x1 0xf8x1 0xfcx1 0xffx10 
[2026-09-29 05:59:29.455] [info]   -- [RR:FILLROUNDRECT(myPattern)] 164 bytes changed, rows[210,239] cols[16,23] x[128,191] values: 0x00x6 0x02x26 0x04x29 0x08x27 0x20x23 0x40x26 0x80x26 0xc0x1 
[2026-09-29 05:59:29.459] [info]   -- [RR:FRAMEROUNDRECT#4] 69 bytes changed, rows[210,239] cols[16,23] x[128,191] values: 0x01x3 0x02x2 0x04x5 0x08x2 0x09x1 0x0ax1 0x0cx5 0x0ex1 0x0fx2 0x10x3 0x20x6 0x22x2 0x24x3 0x28x3 0x2cx1 0x30x3 0x40x2 0x44x2 0x50x1 0x70x1 0x74x1 0x80x3 0x84x2 0x88x1 0x8ex1 0xb0x1 0xe0x1 0xf0x2 0xffx8 
[2026-09-29 05:59:29.459] [info] -- stage: Arcs --
[2026-09-29 05:59:29.459] [warning] trap5: unhandled D7=65554
[2026-09-29 05:59:29.467] [info]   -- [ARC:FILLARC(dkGray)] 0 bytes changed, rows[1000,-1] cols[1000,-1] x[8000,-1] values: 
[2026-09-29 05:59:29.467] [warning] trap5: unhandled D7=65554
[2026-09-29 05:59:29.476] [info]   -- [ARC:FILLARC(myPattern)] 316 bytes changed, rows[162,237] cols[65,72] x[520,583] values: 0x02x52 0x04x53 0x08x54 0x20x52 0x40x52 0x80x53 
[2026-09-29 05:59:29.476] [warning] trap5: unhandled D7=65554
[2026-09-29 05:59:29.481] [info]   -- [ARC:FILLARC(gray)] 0 bytes changed, rows[1000,-1] cols[1000,-1] x[8000,-1] values: 
[2026-09-29 05:59:29.481] [warning] trap5: unhandled D7=65554
[2026-09-29 05:59:29.493] [info]   -- [ARC:FRAMEARC] 135 bytes changed, rows[153,242] cols[65,79] x[520,639] values: 0x01x8 0x02x2 0x03x14 0x04x4 0x06x5 0x07x4 0x08x2 0x0ax2 0x0cx5 0x10x4 0x14x1 0x18x4 0x1cx3 0x20x5 0x22x1 0x24x1 0x28x1 0x30x3 0x32x1 0x3cx2 0x3fx2 0x40x6 0x42x2 0x44x2 0x48x2 0x60x4 0x70x2 0x78x2 0x7fx2 0x80x14 0x82x1 0x84x1 0x88x1 0xa0x4 0xc0x12 0xf8x2 0xfcx2 0xffx2 
[2026-09-29 05:59:29.493] [warning] trap5: unhandled D7=65554
[2026-09-29 05:59:29.502] [info]   -- [ARC:PAINTARC] 364 bytes changed, rows[166,229] cols[75,84] x[600,679] values: 0x01x8 0x03x8 0x07x8 0x0fx8 0x1fx8 0x3fx8 0x7fx8 0x80x10 0xc0x12 0xe0x12 0xf0x6 0xf8x4 0xfcx6 0xfex6 0xffx252 
[2026-09-29 05:59:29.502] [info]   screen non-zero bytes after DrawStuff: 4095
[2026-09-29 05:59:29.505] [info]   wrote screen capture to /home/runner/work/lisa-source-project/lisa-source-project/tests/system/results/os_utils_screens/01_qdsample.png (ok)
[2026-09-29 05:59:29.505] [info] program_shim: user program returned
program_shim: screen dumped to qdsample-1790661569.png (720x364)
[2026-09-29 05:59:29.508] [info] QDSample finished
1. qdsample screen
PASS
2. mouseinput screen
def test_mouseinput_screen(record_os_util_step):
    """mouseinput: built-in 5-point mouse-stimulus demo (corners + center)
    drawing a checkerboard grid plus a filled oval per point, then written
    to a single PNG. No stimulus file given -- uses the built-in sequence,
    which self-terminates."""
    out = RESULTS_DIR / "02_mouseinput.png"
    result = _run_and_capture(MOUSEINPUT, out)

    passed = result.returncode == 0 and out.exists() and out.stat().st_size > 0
    record_os_util_step("2. mouseinput screen", result.stdout, out, passed, True)
    assert result.returncode == 0, f"mouseinput exited {result.returncode}; output:\n{result.stdout}"
    assert out.exists() and out.stat().st_size > 0

last 40 of 129 lines after the common preamble (129 total)

[2026-09-29 05:59:29.537] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.537] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.537] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.537] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.538] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.538] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.538] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.538] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.539] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.539] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.539] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.540] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.540] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.540] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.540] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.541] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.541] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.541] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.541] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.542] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.542] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.542] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.542] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.543] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.543] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.543] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.543] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.544] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.544] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.544] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.545] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.545] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.545] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.545] [warning] trap5: unhandled D7=23855122
[2026-09-29 05:59:29.546] [warning] trap5: unhandled D7=23855124
[2026-09-29 05:59:29.616] [info] mouseinput: stimulus done after 25 circles
[2026-09-29 05:59:29.620] [info]   wrote screen capture to /home/runner/work/lisa-source-project/lisa-source-project/tests/system/results/os_utils_screens/02_mouseinput.png (ok)
[2026-09-29 05:59:29.620] [info] program_shim: user program returned
program_shim: screen dumped to mouseinput-1790661569.png (720x364)
[2026-09-29 05:59:29.623] [info] MouseInput demo finished
2. mouseinput screen
PASS
3. qp_qdsample screen
def test_qp_qdsample_screen(record_os_util_step):
    """qp_qdsample: the QuickPort variant of the QDSample demo (its own
    self-contained QuickDraw init, since it has no QuickPort runtime),
    drawing rects/roundrects/ovals/arcs, then written to a single PNG."""
    out = RESULTS_DIR / "03_qp_qdsample.png"
    result = _run_and_capture(QP_QDSAMPLE, out)

    passed = result.returncode == 0 and out.exists() and out.stat().st_size > 0
    record_os_util_step("3. qp_qdsample screen", result.stdout, out, passed, True)
    assert result.returncode == 0, f"qp_qdsample exited {result.returncode}; output:\n{result.stdout}"
    assert out.exists() and out.stat().st_size > 0

last 40 of 43 lines after the common preamble (43 total)

[2026-09-29 05:59:29.630] [info] boot_shim: RAM layout computed
[2026-09-29 05:59:29.630] [info]   b_sys_global=0x00001200  l_sys_global=0x0000a600
[2026-09-29 05:59:29.630] [info]   b_superstack=0x000f7600  l_superstack=0x00000618
[2026-09-29 05:59:29.630] [info]   b_opsyslocal=0x0000b800  l_opsyslocal=0x00002800
[2026-09-29 05:59:29.630] [info]   b_opustack=0x0000e000    l_opustack=0x00008800
[2026-09-29 05:59:29.630] [info]   b_screen=0x000f8000      b_scrdata=0x000f7e00
[2026-09-29 05:59:29.630] [info]   himem=0x000f7600         lomem=0x00016800
[2026-09-29 05:59:29.630] [info]   smt_base=0x00a84200      b_sysjt=0x000049d8
[2026-09-29 05:59:29.632] [warning] boot_shim: DO_AN_MM not found in dispatch map, TRAP #6 vector not set
[2026-09-29 05:59:29.632] [info] boot_shim: setup complete
[2026-09-29 05:59:29.632] [info] program_shim: guest allocator at 0x00016800, limit 0x000f7600
[2026-09-29 05:59:29.633] [info] program_shim: 476 dispatch entries registered
[2026-09-29 05:59:29.633] [info] program_shim: TRAP #5 interceptor installed
[2026-09-29 05:59:29.636] [info] program_shim: calling user program
[2026-09-29 05:59:29.636] [info]   heap at guest 0x0006aa00, port at guest 0x0006f824
[2026-09-29 05:59:29.640] [info]   -> drawing
[2026-09-29 05:59:29.707] [warning] trap5: unhandled D7=1179666
[2026-09-29 05:59:29.707] [warning] trap5: unhandled D7=1179668
[2026-09-29 05:59:29.707] [warning] trap5: unhandled D7=1310738
[2026-09-29 05:59:29.707] [warning] trap5: unhandled D7=1310740
[2026-09-29 05:59:29.707] [warning] trap5: unhandled D7=8781842
[2026-09-29 05:59:29.707] [warning] trap5: unhandled D7=8781844
[2026-09-29 05:59:29.708] [warning] trap5: unhandled D7=16252946
[2026-09-29 05:59:29.708] [warning] trap5: unhandled D7=16252948
[2026-09-29 05:59:29.708] [warning] trap5: unhandled D7=23789586
[2026-09-29 05:59:29.708] [warning] trap5: unhandled D7=23789588
[2026-09-29 05:59:29.708] [warning] trap5: unhandled D7=23789586
[2026-09-29 05:59:29.709] [warning] trap5: unhandled D7=23789588
[2026-09-29 05:59:29.709] [warning] trap5: unhandled D7=4259858
[2026-09-29 05:59:29.710] [warning] trap5: unhandled D7=4915218
[2026-09-29 05:59:29.711] [warning] trap5: unhandled D7=5636114
[2026-09-29 05:59:29.751] [warning] trap5: unhandled D7=65554
[2026-09-29 05:59:29.759] [warning] trap5: unhandled D7=65554
[2026-09-29 05:59:29.768] [warning] trap5: unhandled D7=65554
[2026-09-29 05:59:29.773] [warning] trap5: unhandled D7=65554
[2026-09-29 05:59:29.785] [info]   screen non-zero bytes after drawing: 3652
[2026-09-29 05:59:29.788] [info]   wrote screen capture to /home/runner/work/lisa-source-project/lisa-source-project/tests/system/results/os_utils_screens/03_qp_qdsample.png (ok)
[2026-09-29 05:59:29.788] [info] program_shim: user program returned
program_shim: screen dumped to qp_qdsample-1790661569.png (720x364)
[2026-09-29 05:59:29.791] [info] QuickPort QDSample finished
3. qp_qdsample screen