diff --git a/host/tests/classes/hdmiCEC.py b/host/tests/classes/hdmiCEC.py index 9cf3c24..c85a544 100644 --- a/host/tests/classes/hdmiCEC.py +++ b/host/tests/classes/hdmiCEC.py @@ -36,18 +36,20 @@ class hdmiCECClass(): """ - HDMI CEC Class. + HDMI CEC Class. - This module provides common functionalities and extensions for the HDMI CEC Module. + Provides functionalities for initializing, configuring, and controlling + HDMI CEC (Consumer Electronics Control) operations in the test environment. """ - def __init__(self, moduleConfigProfileFile :str, session=None, targetWorkspace="/tmp"): + def __init__(self, moduleConfigProfileFile:str, session=None, targetWorkspace:str="/tmp"): """ - Initializes the HDMI CEC Class instance with configuration settings. + Initialize the HDMI CEC Class with configuration settings. Args: - moduleConfigProfileFile (str): Path to the device profile configuration file. - session: Optional; session object for the user interface. + moduleConfigProfileFile (str): Path to the profile configuration file for the HDMI CEC module. + session: Optional session object for managing interactions with the device. + targetWorkspace (str, optional): Target workspace directory on the device. Defaults to "/tmp". Returns: None @@ -56,19 +58,22 @@ def __init__(self, moduleConfigProfileFile :str, session=None, targetWorkspace=" self.testConfigFile = os.path.join(dir_path, "hdmiCEC_testConfig.yml") self.testSuite = "L3 HDMICEC Sink Functions" - # Load configurations for device profile and menu - self.moduleConfigProfile = ConfigRead( moduleConfigProfileFile , self.moduleName) + # Prepare the profile file on the target workspace + profileOnTarget = os.path.join(targetWorkspace, os.path.basename(moduleConfigProfileFile)) self.testConfig = ConfigRead(self.testConfigFile, self.moduleName) - self.testConfig.test.execute = os.path.join(targetWorkspace, self.testConfig.test.execute) + self.testConfig.test.execute = os.path.join(targetWorkspace, self.testConfig.test.execute) + f" -p {profileOnTarget}" self.utMenu = UTSuiteNavigatorClass(self.testConfig, None, session) self.testSession = session self.utils = utBaseUtils() - self.ports = self.moduleConfigProfile.fields.get("Ports") + # Copy required artifacts to the target workspace for artifact in self.testConfig.test.artifacts: filesPath = os.path.join(dir_path, artifact) self.utils.rsync(self.testSession, filesPath, targetWorkspace) + # Copy the profile configuration to the target workspace + self.utils.scpCopy(self.testSession, moduleConfigProfileFile, targetWorkspace) + # Start the user interface menu self.utMenu.start() @@ -118,11 +123,10 @@ def terminate(self): def addLogicalAddress(self, logicalAddress:str='0'): """ - Adding the logical address of a specific device. - For now Sink to support only the logical address 0. + Add a logical address for the device. Args: - logicalAddress (str): The Logical address of the DUT. This will be fixed to zero for a sink device for now. + logicalAddress (str, optional): Logical address of the device. Defaults to '0'. Value ranges from '0' - 'f' Returns: None @@ -138,10 +142,10 @@ def addLogicalAddress(self, logicalAddress:str='0'): def removeLogicalAddress(self): """ - Remove logical address. + Remove the logical address of the device. Args: - logicalAddress (int): The Logical address of the DUT that should be removed. + None Returns: None @@ -150,13 +154,13 @@ def removeLogicalAddress(self): def getLogicalAddress(self): """ - Retrieves the Logical Address of the DUT. + Get the logical address of the device. Args: None. Returns: - int: Logical address of the device. + str: Logical address of the device. Value ranges from '0' - 'f' """ result = self.utMenu.select( self.testSuite, "Get Logical Address") connectionStatusPattern = r"Result HdmiCecGetLogicalAddress\(IN:handle:\[0x[0-9A-F]+\], OUT:logicalAddress:\[([0-9A-Fa-f]+)\]\)" @@ -166,13 +170,13 @@ def getLogicalAddress(self): def getPhysicalAddress(self): """ - Retrieve the Physical Address of the DUT. + Get the physical address of the device. Args: None. Returns: - int: Physical Address of the DUT. + str: Physical Address of the DUT. """ result = self.utMenu.select( self.testSuite, "Get Phyiscal Address") typeStatusPattern = r"Result HdmiCecGetPhysicalAddress\(IN:handle:[.*\], OUT:physicalAddress:[.*\]) HDMI_CEC_STATUS:[.*\]" @@ -182,10 +186,12 @@ def getPhysicalAddress(self): def cecTransmitCmd(self, destLogicalAddress:str, cecCommand:str, cecData:list=None): """ - Transmit/Broadcast the CEC command and data to the respective destination. + Transmit or broadcast a CEC command to a specified destination. Args: - None. + destLogicalAddress (str): Destination logical address. + cecCommand (str): CEC command in hexadecimal. + cecData (list, optional): List of data bytes to include in the transmission. Returns: None @@ -233,10 +239,8 @@ def readCallbackDetails (self): - "Destination" (str): The destination address in hexadecimal. - "Data" (list): The data associated with the opcode. """ - result = { - "Received": [], - "Response": [] - } + result = {"Received": [], "Response": []} + callbackLogs = self.testSession.read_all() received_pattern = re.compile( @@ -304,6 +308,15 @@ def __del__(self): # Get Physical Address physicalAddress = test.getPhysicalAddress() + # Broadcast 0x85 cec command + test.cecTransmitCmd('f', '0x85') + + # Transmitt 0x04 cec command to '1' + test.cecTransmitCmd('1', '0x85') + + # Read the callback details + result = test.readCallbackDetails() + # Close the device test.terminate() diff --git a/host/tests/classes/hdmiCEC_testConfig.yml b/host/tests/classes/hdmiCEC_testConfig.yml index 00f7ba5..40ac032 100644 --- a/host/tests/classes/hdmiCEC_testConfig.yml +++ b/host/tests/classes/hdmiCEC_testConfig.yml @@ -26,7 +26,7 @@ hdmicec: #List of artifacts folders, test class copies the content of folder to the target device workspace - "../../../bin/" # exectute command, this will appended with the target device workspace path - execute: "run.sh -p sink_hdmiCEC.yml" + execute: "run.sh" type: UT-C # C (UT-C Cunit) / C++ (UT-G (g++ ut-core gtest backend)) suites: 0: diff --git a/host/tests/configs/deviceConfig.yml b/host/tests/configs/deviceConfig.yml index b7dafee..91046a1 100644 --- a/host/tests/configs/deviceConfig.yml +++ b/host/tests/configs/deviceConfig.yml @@ -30,9 +30,7 @@ deviceConfig: target_directory: "/tmp/" # Target Directory on device prompt: "" # Prompt string on console test: - #TODO: Use the single profile file which contains all details (ds, hdmi, etc) - profile: "../../../../profiles/sink/sink_hdmiCEC_test.yaml" - streams_download_url: "" #URL path from which the streams are downloaded to the device + profile: "../../../profiles/sink/sink_hdmiCEC.yml" cpe2: platform: "test" model: "test" diff --git a/host/tests/configs/example_rack_config.yml b/host/tests/configs/example_rack_config.yml index 815a440..910b483 100644 --- a/host/tests/configs/example_rack_config.yml +++ b/host/tests/configs/example_rack_config.yml @@ -37,18 +37,6 @@ globalConfig: # [ includes: ] # [ deviceConfig: "required.yml file" ] deviceConfig: "example_device_config.yml" - capture: - # [capture: optional] - # [ocrEnginePath: "/usr/bin/tesseract"] # "C:\\Program Files\\Tesseract-OCR\\tesseract.exe" (For Windows) - tesseract binary - # [resolution: "1080p"] - Capture resolution - # [input: 0] - which input is connected to the video path - # Note: Video capture will not be installed unless screenRegions: is defined in deviceConfig: - ocrEnginePath: "/usr/bin/tesseract" # "C:\\Program Files\\Tesseract-OCR\\tesseract.exe" (For Windows) - resolution: "1080p" - input: 0 - cec-adaptor: - type: cec-client - adaptor: /dev/ttyACM0 local: log: # log for each slot directory: "./logs" @@ -68,29 +56,36 @@ rackConfig: # [ type: "ssh": port: 22 username: "test" password: "test" ] # [ type: "telnet": port: 23 username: "test" password: "test" ] - dut: - ip: "127.0.0.1" # IP Address of the ADA Hub - description: "local PC" - platform: "PC" + ip: "127.0.0.1" + description: "element" + platform: "element" consoles: - default: type: "ssh" port: 22 - username: "srr07" - ip: "127.0.0.1" #IP address - password: '1234' + username: "root" + ip: "127.0.0.1" + password: ' ' - ssh_player: type: "ssh" port: 22 - username: "srr07" - ip: "127.0.0.1" #IP address - password: '1234' + username: "root" + ip: "127.0.0.1" + password: ' ' - ssh_hal_test: type: "ssh" port: 22 - username: "srr07" - ip: "127.0.0.1" #IP address - password: '1234' + username: "root" + ip: "127.0.0.1" + password: ' ' outbound: download_url: "http://localhost:8000/" # download location for the CPE device httpProxy: # Local Proxy if required workspaceDirectory: './logs/workspace' # Local working directory + hdmiCECController: + type: remote-cec-client + vendor: "Pulse Eight" + adaptor: /dev/ttyACM0 # Adaptor device entry + address: "127.0.0.1" # Needs to be be filled out with IP address + username: "root" # Needs to be filled out with login username + password: ' ' # Needs to be filled out with login password diff --git a/host/tests/hdmiCEC_L3_Tests/hdmiCECHelperClass.py b/host/tests/hdmiCEC_L3_Tests/hdmiCECHelperClass.py index abba8d4..d6d113d 100755 --- a/host/tests/hdmiCEC_L3_Tests/hdmiCECHelperClass.py +++ b/host/tests/hdmiCEC_L3_Tests/hdmiCECHelperClass.py @@ -36,20 +36,28 @@ class hdmiCECHelperClass(utHelperClass): + """ + Helper class for managing HDMI CEC tests. + + This class extends the `utHelperClass` and provides functionality for preparing + and cleaning up HDMI CEC tests. + """ + def __init__(self, testName:str, qcId:str, log:logModule=None ): """ - Initializes the test class with test name, setup configuration, and sessions for the device. + Initializes the test helper class with test name, setup configuration, and session management. Args: - testName (str) : name of the test - qcId (str): QC ID of the test. - log (class, optional): Parent log class. Defaults to None. + testName (str): Name of the test. + qcId (str): Quality Control (QC) ID of the test. + log (logModule, optional): Parent log module instance for logging. Defaults to None. """ self.testName = "" self.testSetupPath = os.path.join(dir_path, "hdmiCEC_L3_testSetup.yml") self.moduleName = "hdmicec" self.rackDevice = "dut" + # Initialize the base helper class super().__init__(testName, qcId, log) # Load test setup configuration @@ -74,82 +82,23 @@ def __init__(self, testName:str, qcId:str, log:logModule=None ): self.cecCommands = hdmicec.fields.get(self.testName) self.hdmiCECController = self.dut.hdmiCECController -# def testDownloadAssets(self): -# """ -# Downloads the test artifacts listed in the test setup configuration. -# -# This function retrieves the necessary files and saves them on the DUT. -# -# Args: -# None -# """ -# -# # List of streams with path -# self.testStreams = [] -# url = [] -# -# streamPaths = self.testSetup.get("assets").get("device").get(self.testName).get("streams") -# -# # Download test streams to device -# if streamPaths and self.streamDownloadURL: -# for streamPath in streamPaths: -# url.append(os.path.join(self.streamDownloadURL, streamPath)) -# self.testStreams.append(os.path.join(self.targetWorkspace, os.path.basename(streamPath))) -# self.downloadToDevice(url, self.targetWorkspace, self.rackDevice) - -# def testCleanAssets(self): -# """ -# Removes the downloaded assets and test streams from the DUT after test execution. -# -# Args: -# None -# """ -# self.deleteFromDevice(self.testStreams) -# - def testRunPrerequisites(self): - """ - Executes prerequisite commands listed in the test setup configuration file on the DUT. - - Args: - None - """ - - # Run commands as part of test prerequisites - test = self.testSetup.get("assets").get("device").get(self.testName) - cmds = test.get("execute") - if cmds is not None: - for cmd in cmds: - self.writeCommands(cmd) - def testPrepareFunction(self): """ - Prepares the environment and assets required for the test. + Cleans up the test environment by deinitializing the HDMI CEC instance. - This function: - - Downloads the required assets. - - Runs the prerequisite commands. - - Creates hdmiCEC + Args: + powerOff (bool, optional): Flag to indicate whether to power off the device. Defaults to True. Returns: bool """ - - # Run Prerequisites listed in the test setup configuration file - #self.testRunPrerequisites() - # Create the hdmiCEC class self.testhdmiCEC = hdmiCECClass(self.moduleConfigProfileFile, self.hal_session, self.targetWorkspace) return True def testEndFunction(self, powerOff=True): - # Clean the assets downloaded to the device - #self.testCleanAssets() # Clean up the hdmiCEC instance del self.testhdmiCEC - - def testExceptionCleanUp (self): - # Clean the assets downloaded to the device - self.testCleanAssets() diff --git a/host/tests/hdmiCEC_L3_Tests/hdmiCECTestCommands.yml b/host/tests/hdmiCEC_L3_Tests/hdmiCECTestCommands.yml index 7b62b96..65c6f2e 100644 --- a/host/tests/hdmiCEC_L3_Tests/hdmiCECTestCommands.yml +++ b/host/tests/hdmiCEC_L3_Tests/hdmiCECTestCommands.yml @@ -1,3 +1,25 @@ +#** ***************************************************************************** +# * +# * If not stated otherwise in this file or this component's LICENSE file the +# * following copyright and licenses apply: +# * +# * Copyright 2024 RDK Management +# * +# * Licensed under the Apache License, Version 2.0 (the "License"); +# * you may not use this file except in compliance with the License. +# * You may obtain a copy of the License at +# * +# * +# http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# * +#* ****************************************************************************** + hdmicec: test01_TransmitCECCommands: - command: "0x82" # Active Soruce diff --git a/host/tests/hdmiCEC_L3_Tests/hdmiCEC_L3_testSetup.yml b/host/tests/hdmiCEC_L3_Tests/hdmiCEC_L3_testSetup.yml index fcddfe7..8da1aa5 100755 --- a/host/tests/hdmiCEC_L3_Tests/hdmiCEC_L3_testSetup.yml +++ b/host/tests/hdmiCEC_L3_Tests/hdmiCEC_L3_testSetup.yml @@ -20,12 +20,10 @@ # * #* ****************************************************************************** - -hdmicec: # Prefix must always exist +hdmicec: description: "hdmiCEC test setup" assets: device: - test01_TransmitSingleStandbyCommandandValidateAck: - test02_BroadcastStandbyCommand: - test03_TransmitOSDCommandandValidateAck: - test04_TransmitLargerOSDCommandRepeatedlyandValidate: + test01_TransmitCECCommands: + test02_ReceiveCECCommands: + diff --git a/host/tests/hdmiCEC_L3_Tests/hdmiCEC_test01_TransmitCECCommands.py b/host/tests/hdmiCEC_L3_Tests/hdmiCEC_test01_TransmitCECCommands.py index 12488c2..8f3919c 100755 --- a/host/tests/hdmiCEC_L3_Tests/hdmiCEC_test01_TransmitCECCommands.py +++ b/host/tests/hdmiCEC_L3_Tests/hdmiCEC_test01_TransmitCECCommands.py @@ -24,28 +24,26 @@ import os import sys +# Append the current and parent directory paths to sys.path for module imports dir_path = os.path.dirname(os.path.realpath(__file__)) sys.path.append(os.path.join(dir_path)) sys.path.append(os.path.join(dir_path, "../")) +# Importing helper classes and modules for HDMI-CEC testing and logging from hdmiCECHelperClass import hdmiCECHelperClass from raft.framework.core.logModule import logModule from raft.framework.plugins.ut_raft.configRead import ConfigRead class hdmiCEC_test01_TransmitCECCommands(hdmiCECHelperClass): """ - Test class to enable, disable, and verify the status of audio ports on a device. - - This class uses the `dsAudioClass` to interact with the device's audio ports, - downloading necessary test assets, playing audio streams, enabling and disabling - audio ports, and performing verification of audio output. + A class for testing HDMI-CEC functionality by transmitting and verifying CEC commands. """ def __init__(self, log:logModule=None): """ - Initializes the test class with test name, setup configuration, and sessions for the device. + Initializes the test class with test-specific configurations. Args: - None + log (logModule): Logging module instance to record test execution. """ # Class variables self.testName = "test01_TransmitCECCommands" @@ -53,18 +51,24 @@ def __init__(self, log:logModule=None): self.tvLogicalAddress = '0' self.broadcastAddress = 'f' + # Initialize the parent class super().__init__(self.testName, self.qcID, log) def testFunction(self): """ - The main test function that Transmits the Stanby Command and checks the ACK and validates it. + Main test function for transmitting HDMI-CEC commands and validating responses. - This function: - - Send a standby command to a device that is connected on the CEC network and get the ack. - - User to confirm whether the targetted device had recieved this command or not. + Steps: + 1. Initialize HDMI-CEC module. + 2. Add a logical address to the test device. + 3. Get the logical address of the device. + 4. List all connected CEC devices. + 5. Iterate through devices and send commands to appropriate logical addresses. + 6. Validate transmission and record results. + 7. Clean up by removing logical addresses and terminating the HDMI-CEC module. Returns: - bool: Final result of the test. + bool: Final result of the test execution. """ # Initialize the hdmiCEC module @@ -76,14 +80,17 @@ def testFunction(self): # Get the logical Address. deviceLogicalAddress = self.testhdmiCEC.getLogicalAddress() + # List all connected CEC devices self.cecDevices = self.hdmiCECController.listDevices() + # Final test result finalResult = True + for device in self.cecDevices: logicalAddress = device["logical address"] - # To bypass sending the message to TV - if logicalAddress == '0' or logicalAddress == 'f': + # Skip sending messages to TV + if logicalAddress == '0' or logicalAddress == 'e': continue for command in self.cecCommands: @@ -92,15 +99,17 @@ def testFunction(self): payload = command.get("payload") type = command.get("type") + # Determine the destination logical address destinationLogicalAddress = logicalAddress if type == "Broadcast": destinationLogicalAddress = self.broadcastAddress - # Transmit Standby command to a specific destination address + # Transmit the CEC command self.testhdmiCEC.cecTransmitCmd(destinationLogicalAddress, cec, payload) self.log.stepStart(f'HdmiCecTx Source: {deviceLogicalAddress} Destination: {destinationLogicalAddress} CEC OPCode: {cec} Payload: {payload}') + # Validate the transmission result = self.hdmiCECController.checkTransmitStatus(deviceLogicalAddress, destinationLogicalAddress, cec, payload) self.log.stepResult(result, f'HdmiCecTx Source: {deviceLogicalAddress} Destination: {destinationLogicalAddress} CEC OPCode: {cec} Payload: {payload}') @@ -110,13 +119,16 @@ def testFunction(self): # Remove the Logical Address self.testhdmiCEC.removeLogicalAddress() - # Terminate dsAudio Module + # Terminate the hdmiCEC Module self.testhdmiCEC.terminate() return finalResult if __name__ == '__main__': + # Configure the summary log file summerLogName = os.path.splitext(os.path.basename(__file__))[0] + "_summery" summeryLog = logModule(summerLogName, level=logModule.INFO) + + # Create an instance of the test class and execute the test test = hdmiCEC_test01_TransmitCECCommands(summeryLog) test.run(False) diff --git a/host/tests/hdmiCEC_L3_Tests/hdmiCEC_test02_ReceiveCECCommands.py b/host/tests/hdmiCEC_L3_Tests/hdmiCEC_test02_ReceiveCECCommands.py index 329e4de..b433ae0 100644 --- a/host/tests/hdmiCEC_L3_Tests/hdmiCEC_test02_ReceiveCECCommands.py +++ b/host/tests/hdmiCEC_L3_Tests/hdmiCEC_test02_ReceiveCECCommands.py @@ -24,6 +24,7 @@ import os import sys +# Append the current and parent directory paths to sys.path for module imports dir_path = os.path.dirname(os.path.realpath(__file__)) sys.path.append(os.path.join(dir_path)) sys.path.append(os.path.join(dir_path, "../")) @@ -34,18 +35,15 @@ class hdmiCEC_test02_ReceiveCECCommands(hdmiCECHelperClass): """ - Test class to enable, disable, and verify the status of audio ports on a device. - - This class uses the `dsAudioClass` to interact with the device's audio ports, - downloading necessary test assets, playing audio streams, enabling and disabling - audio ports, and performing verification of audio output. + A class for testing HDMI-CEC functionality by sending CEC commands + and verifying the received callback data. """ def __init__(self, log:logModule=None): """ - Initializes the test class with test name, setup configuration, and sessions for the device. + Initializes the test class with test-specific configurations. Args: - None + log (logModule): Logging module instance to record test execution. """ # Class variables self.testName = "test02_ReceiveCECCommands" @@ -53,6 +51,7 @@ def __init__(self, log:logModule=None): self.tvLogicalAddress = '0' self.broadcastAddress = 'f' + # Initialize the parent class super().__init__(self.testName, self.qcID, log) def testVerifyReceivedData(self, callbackData:dict, initiatorLogicalAddress:int, destinationLogicalAddress:int, opCode:str, payload:list): @@ -70,10 +69,12 @@ def testVerifyReceivedData(self, callbackData:dict, initiatorLogicalAddress:int, """ result = False for received in callbackData["Received"]: + # Check if initiator, destination, and opcode match the expected values if (received["Initiator"] == initiatorLogicalAddress and received["Destination"] == destinationLogicalAddress and received["Opcode"] == opCode): result = True + # Verify payload if provided if payload: for rec, sent in zip(received["Data"][2:], payload): if rec != sent: @@ -83,14 +84,17 @@ def testVerifyReceivedData(self, callbackData:dict, initiatorLogicalAddress:int, def testFunction(self): """ - The main test function that Transmits the Stanby Command and checks the ACK and validates it. + Main test function to send CEC commands and validate received callback data. - This function: - - Send a standby command to a device that is connected on the CEC network and get the ack. - - User to confirm whether the targetted device had recieved this command or not. + Steps: + 1. Initialize HDMI-CEC module. + 2. Add and retrieve logical address of the device. + 3. Send commands to other devices and validate responses using callback data. + 4. Validate response commands if specified. + 5. Clean up by removing logical addresses and terminating the module. Returns: - bool: Final result of the test. + bool: Final result of the test execution. """ # Initialize the hdmiCEC module @@ -102,15 +106,18 @@ def testFunction(self): # Get the logical Address. deviceLogicalAddress = self.testhdmiCEC.getLogicalAddress() + # Ensure the logical address is retrieved successfully if deviceLogicalAddress is None: self.log.error("Failed to get the device logical address") return False + # Retrieve details of the HDMI-CEC adapter self.cecAdaptor = self.hdmiCECController.adaptorDetails if self.cecAdaptor is None: return False + # Get the logical address of the HDMI-CEC adapter cecAdapterLogicalAddress = self.cecAdaptor["logical address"] finalResult = True @@ -121,6 +128,7 @@ def testFunction(self): response = command.get("response") type = command.get("type") + # Determine the destination logical address destinationLogicalAddress = deviceLogicalAddress if type == "Broadcast": destinationLogicalAddress = self.broadcastAddress @@ -129,14 +137,15 @@ def testFunction(self): self.hdmiCECController.sendMessage(cecAdapterLogicalAddress, destinationLogicalAddress, cecOpcode, payload) + # Read the callback details and verify the received data callbackData = self.testhdmiCEC.readCallbackDetails() - result = self.testVerifyReceivedData(callbackData, cecAdapterLogicalAddress, destinationLogicalAddress, cecOpcode, payload) finalResult &= result self.log.stepResult(result, f'Send Test: {cecAdapterLogicalAddress} Destination: {destinationLogicalAddress} CEC OPCode: {cecOpcode} Payload: {payload}') + # If a response is expected, validate the response if response: destinationLogicalAddress = cecAdapterLogicalAddress if response.get("type") == "Broadcast": @@ -154,13 +163,16 @@ def testFunction(self): # Remove the Logical Address self.testhdmiCEC.removeLogicalAddress() - # Terminate dsAudio Module + # Terminate the hdmiCEC module self.testhdmiCEC.terminate() return finalResult if __name__ == '__main__': + # Configure the summary log file summerLogName = os.path.splitext(os.path.basename(__file__))[0] + "_summery" summeryLog = logModule(summerLogName, level=logModule.INFO) + + # Create an instance of the test class and execute the test test = hdmiCEC_test02_ReceiveCECCommands(summeryLog) test.run(False) diff --git a/profiles/sink/sink_hdmiCEC_test.yml b/profiles/sink/sink_hdmiCEC_test.yml deleted file mode 100644 index da5fb1b..0000000 --- a/profiles/sink/sink_hdmiCEC_test.yml +++ /dev/null @@ -1,34 +0,0 @@ -hdmicec: - config: - number_ports: 3 - test: - tx: - #CEC GET Version command - - command: - getcecVersion: - sinkla:0 - sourcela:1 - command:9F - expectedreply:02 - #CEC Standby command: - standby: - sinkla:0 - sourcela:1 - command:36 - setosd: - sinkla:0 - sourcela:1 - command:64 - data: - [80,48,65,6C,6C,6F,20,57,6F,72,6C,64,31,21], - [81,49,65,6D,6C,6F,20,57,6F,73,6C,64,32,22], - [82,50,65,6E,6C,6F,20,57,6F,74,6C,64,33,23], - [83,51,65,6F,6C,6F,20,57,6F,75,6C,64,34,24], - [84,52,65,6C,6C,6F,20,57,6F,76,6C,64,35,25], - [85,53,65,6C,6C,6F,20,57,6F,77,6C,64,36,26], - [86,54,65,6C,6C,6F,20,57,6F,78,6C,64,37,27], - [87,55,65,6C,6C,6F,20,57,6F,79,6C,64,38,28], - [88,56,65,6C,6C,6F,20,57,6F,7A,6C,64,39,29], - [89,57,65,6C,6C,6F,20,57,6F,7B,6C,64,40,30] - -