This is part of an Outreachy project to expand the testing of Deck Control messages as handled by CEC adapters. Changes since v5: cec-compliance: - check for Feature Abort before getting deck status. cec-follower: - send updates to the logical address of the device that requested ongoing status updates which may be different from the device that requests deck status on a one-time basis. Changes since v4: cec-compliance: - Change deck_status to a reference and initialize to 0. - Revise test results after receiving Feature Abort with Incorrect Mode. - Simplify for loop for Skip Forward and Reverse. - Remove Play as a possible response to Eject. - Rename "match" and its argument, add fail on abort. - Rearrange play tests to see clearly all three options (MIN/MED/MAX). cec-follower: - Set deck_skip_start to 0 if a new command or standby occurs in the interval between Skip Forward/Reverse and Play. - Move skip timer to the end of while loop in testProcessing. - Add helper function update_deck_state. Changes since v3: cec-compliance: - Stop using REQ_On for monitoring deck status changes; instead add a helper function to get and return deck status. - Allow Stop or Eject to return Feature Abort, Incorrect Mode. - Replace passive util_receive with an active deck query to see if the deck status changes to Play after Skip Forward/Reverse. - Add helper function to match play mode and expected deck status. - Remove the Deck Status test. cec-follower: - Track the elasped time since Skip Forward/Reverse and Play after 2s. - Remove tray open/close toggle from Eject Changes since v2: cec-compliance: - If a deck returns Feature Abort, Incorrect Mode, just provide info unless the deck actually has media, then issue a warning. - If a deck reports Skip Forward/Reverse status, wait until the status changes again before resuming testing to avoid prematurely failing the test. - Rearrange/change the tests to trigger deck status changes. cec-follower: - Only report actual status changes, not just every Deck Control message that is processed. - Send Skip Forward/Reverse and then sleep 2 seconds before sending Play. - Remove the toggle between Play Forward/Play Still. Changes since v1: - Remove unnecessary functions and node states. - Assume that media is present and use the "No Media" deck state solely to indicate whether the tray is open. - Change and add invalid operands so operands just outside of the valid range are tested. - Remove restriction to playback/record device. Deborah Brouwer (3): cec: add tests for Deck Control message cec: add tests for Deck Play message cec-compliance: remove Deck Status test utils/cec-compliance/cec-compliance.h | 5 + utils/cec-compliance/cec-test.cpp | 213 ++++++++++++++++++++++---- utils/cec-follower/cec-follower.cpp | 2 + utils/cec-follower/cec-follower.h | 2 + utils/cec-follower/cec-processing.cpp | 138 ++++++++++++++++- 5 files changed, 325 insertions(+), 35 deletions(-) -- 2.25.1