Conversation
A Bluetooth-direct mouse that sleeps loses its HID node and comes back under a new one. Two replay tests drive the real inventory watcher through that cycle: the mouse is published again when it reappears while device I/O is open, and a mouse that reappears while device I/O is paused is published once I/O resumes, not before. The second test fails when the pause is never lifted, which is the empty `openlogi list` reported in AprilNEA#1610. The direct probe exchanges move into a shared helper so both tests and the existing replay test build the same cassette. Refs AprilNEA#1610
|
The paused test only checked that no snapshot was published. An enumeration pass could still have opened and probed the woken node before its snapshot was discarded, which is the HID activity the gate exists to prevent. Assert the node's open count is still zero before the gate resumes.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Regression coverage for the reconnect path behind #1610: a Bluetooth-direct mouse that sleeps and comes back under a new OS node is published again, including when it comes back while device I/O is paused. Nothing in the inventory needed fixing; reading the reporter's logs, the stuck state matches the pause that never resumed (#1281), fixed by #1323 in 0.8.11, and I have asked them to retest there. These tests pin the path so a regression in either half shows up in CI.
Changes
openlogi-agent-core: two replay tests driving the real inventory watcher against the replay backend.a_bluetooth_mouse_that_wakes_as_a_new_node_is_published_againremoves the node and adds a new one with I/O open.a_mouse_that_wakes_while_device_io_is_paused_is_published_on_resumedoes the same with I/O paused and asserts nothing is published until resume, then that the mouse is. The direct probe exchanges are factored into a helper shared with the existing replay test.Both tests bite: with I/O never resumed the second one times out on an empty inventory (the reported symptom), and with I/O never paused its "not published while paused" assertion fails.
Testing
The two new tests passed 25 repeat runs. Not runtime-tested on hardware; test-only change.
Refs #1610