This is part of an Outreachy project to expand the testing of One Touch Record messages as handled by CEC adapters. Changes since v5: Patch 1/2: cec: expand One Touch Record tests - add comment to explain why initiator sends primary device type in the Record TV Screen test - use array when follower gets remote primary device type - use logical address to find the initiator's type and use primary device type only as an additional check - check digital service broadcast system operands for channel service_id_method as well as digital service id - check channel number format operands Patch 2/2 cec: add One Touch Record Standby tests - replace opcode argument with bool active_source - set active source before sending standby command - make "me" the active source when remote is inactive - rename follower node state to "record_received_standby" - set record_receive_standby in enter_standby and exit_standby Changes since v4: Patch 1/3: cec-follower: use log_addr_type to get local device type - no change Patch 2/3: cec: expand One Touch Record tests - add comment to explain 10s timeout - rephrase comment explaining rec_status_is_a_valid_error_status() - use fail_on_test when checking source in Record TV Screen - add comments to explain origin of digital services/analog channels - reduce Record On tests, there is only one from each broadcast system - add 10s timeout to Record Off - keep newline in struct node in follower - If the follower does not emulate a channel/service return a Record Status error instead of Feature Abort with Invalid Operand - use digital_get_service_idx to check digital service - add helper functions that check only validity of operands - add helper function that checks exact matches for analog channels Patch 3/3 cec: add One Touch Record Standby tests - no change Changes since v3: Patch 1/3: cec-follower: use log_addr_type to get local device type - new patch Patch 2/3: cec: expand One Touch Record tests - this patch combines the previously separate patches for One Touch Record TV Screen and On/Off tests - accurately check if the initiator is a recording device - add digital service and analog service validation - add invalid operand tests - create a new helper function to send invalid record on operands without the 10s reply timeout - always require feature abort in response to an invalid operand Patch 3/3 cec: add One Touch Record Standby tests - no change Changes since v2: Patch 1/3 cec: expand One Touch Record TV Screen test: - replace numbers with corresponding defines Patch 2/3 cec: expand One Touch Record On/Off tests - rename commit to reflect expanded scope of tests - increase msg timeout for reply to 10s - rename helper function and invert return value - use primary device type to identify remote follower - use logical address type to identify remote initiator - limit range of accepted external plug numbers to 6 - disallow external physical address source - keep track of whether the device is recording - add additional invalid tests Patch 3/3 cec: add One Touch Record Standby tests - new patch Changes since v1: Patch 1/2 cec: expand One Touch Record TV Screen test: - add space after 'switch' - add "return" before fail - check analog broadcast type and broadcast system operand - add a comment when follower ignores message Patch 2/2 cec: expand One Touch Record On test - new patch Deborah Brouwer (2): cec: expand One Touch Record tests cec: add One Touch Record Standby tests utils/cec-compliance/cec-compliance.cpp | 1 + utils/cec-compliance/cec-compliance.h | 1 + utils/cec-compliance/cec-test-power.cpp | 62 +++++ utils/cec-compliance/cec-test.cpp | 334 ++++++++++++++++++++++-- utils/cec-follower/cec-follower.cpp | 2 + utils/cec-follower/cec-follower.h | 4 + utils/cec-follower/cec-processing.cpp | 18 +- utils/cec-follower/cec-tuner.cpp | 150 +++++++++-- 8 files changed, 526 insertions(+), 46 deletions(-) -- 2.25.1