[CI/validation] Run hotplug tests against all four backend implementations (do not merge) #830
No reviewers
Labels
No labels
3rdparty
Android
API
Author does not respond
bsd
bug
build system/CI
ci-virtual-device
CMake
Contributions Welcome
Core
dependencies
device-specific
documentation
don't_merge
duplicate
enhancement
Example
Haiku
hidraw
hotplug
info required
invalid
libusb
macOS
Misc
Not an issue
question
Release
Test
Test GUI
Windows
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-libusb/hidapi!830
Loading…
Reference in a new issue
No description provided.
Delete branch "hotplug-tests-integration"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Integration / CI-validation branch — not a merge unit. This aggregates the four backend
hotplug implementations (#822 linux, #823 windows, #824 mac, #825 libusb) and the test
suite (#826) on top of
connection-callback, so the hotplug tests run against the realasynchronous implementations together. Those five PRs are the actual merge units into
connection-callback; this branch exists only to exercise the tests end-to-end (the tests on#826alone sit onconnection-callback, whose backends are still the old synchronous ones).What runs, and where
Ordinary per-push CI (no label) — runs against the real async backends:
HotplugAPI_{hidraw,libusb,winapi,darwin}— the device-less contract suite (argumentvalidation, handle semantics,
hid_exitteardown races, thread churn), exercising eachreal backend's event machinery on every platform.
Hotplug_hidraw— the full behavioral suite (T6–T15) driven by realuhidplug/unplugon Linux. This is the one platform with working device-backed hotplug testing.
Label-gated extended CI (
ci-virtual-device):win-vhid-test— installs the vhidmini2 driver and runs the_winapivirtual-device tests(
DeviceIO_winapi+HotplugAPI_winapirun for real;Hotplug_winapiself-skips — see below).libusb-vhid-test— runs the suite inside araw_gadget+dummy_hcdVM(
DeviceIO_libusb+HotplugAPI_libusbrun for real;Hotplug_libusbself-skips).Local-only: the macOS device-backed provider needs the
com.apple.developer.hid.virtual.deviceentitlement, soHotplug_darwinself-skips on hosted CI.Known coverage gap
Real device-backed hotplug plug/unplug currently works only via
uhid(Linux). TheHotplug_winapiandHotplug_libusbproviders' plug/unplug halves are stubs (they returnTEST_VDEV_UNAVAILABLE, so those tests self-skip). Wiring them up is the deferred tier-3/tier-4provider work:
raw_gadgetre-bind for libusb, andCM_Disable_DevNode/CM_Enable_DevNodeon the root devnode for the Windows driver. Until then, the label validates the virtual-device
harness + the device-less hotplug contract in those environments, not device-backed hotplug events.
Assisted-by: claude-code:claude-opus-4-8
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.