Skip to content

test(vm-lane): V-PICKER and V-INTROSPECT gates on marlin-vm (Refs #404, #410, #411, #432) - #910

Draft
hanthor wants to merge 3 commits into
mainfrom
test/vm-picker-introspect
Draft

hanthor wants to merge 3 commits into
mainfrom
test/vm-picker-introspect

Conversation

@hanthor

@hanthor hanthor commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Stacked on #908 (Background portal Introspect); #909 (X11 input focus) is merged. The display bus socket lives in a short mkdtemp (the runner scratch path overflowed sun_path on the first run).

What

  • scripts/tuna-vm-lane --app-integration: one extra boot of the marlin-vm disk with a second, initially disconnected virtio-gpu head. QEMU's D-Bus display on a private bus (Console.SetUIInfo) plugs, resizes/rotates and unplugs it — real guest DRM hotplug.
  • scripts/lib/vm_app_integration.py records:
    • V-PICKER — Nautilus portal file chooser from real Wayland and X11 GTK callers, Open/Save × cancel/accept: dialog parented and centred on the caller, exposed parent clicks blocked, keyboard and focus return after close, unrelated app untouched.
    • V-INTROSPECT-SCREEN — org.gnome.Shell.Introspect ScreenSize and change signals across hotplug, rotation and unplug.
    • V-INTROSPECT-SANDBOX — a sandboxed Flatpak app's identity, and Background portal GetAppState through xdg-desktop-portal-gnome.
  • CI: marlin-vm distribution leg runs the boot (adds qemu-system-modules-opengl, dbus-daemon, libglib2.0-bin); parity-ledger consumes marlin-vm/app-integration/assertions.txt.
  • Ledger: P-SY-02 cites V-INTROSPECT-SCREEN, P-SY-06 cites V-PICKER, P-ST-09 cites V-INTROSPECT-SANDBOX. docs/testing.md documents the three assertions.

@hanthor
hanthor force-pushed the test/vm-picker-introspect branch from 787ce8d to 9148d54 Compare October 31, 2026 06:04
…pect

# Conflicts:
#	.github/workflows/ci.yml
#	docs/parity-ledger.md
#	packaging/marlin/vm-lane/Containerfile
#	packaging/marlin/vm-lane/tuna-vm-lifecycle
#	scripts/tuna-vm-lane
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant