def test_invalid_parse_command_function(): """Test invalid parse command function.""" invalid_data = b"U\xaa\xaaUd\x00\x00\x00\t\x00\x00\x00\x00\x00\x00\x00" with pytest.raises(SPSDKError): parse_command(invalid_data) invalid_data = bytes(CmdSectionHeader.SIZE) with pytest.raises(SPSDKError): parse_command(invalid_data)
def test_invalid_parse_command_function(): """Test invalid parse command function.""" invalid_data = b'U\xaa\xaaUd\x00\x00\x00\t\x00\x00\x00\x00\x00\x00\x00' with pytest.raises(ValueError): parse_command(invalid_data) invalid_data = bytes(CmdSectionHeader.SIZE) with pytest.raises(AssertionError): parse_command(invalid_data)
def test_parse_command_function(): """Test parse command function.""" # CmdErase(address=100, length=0, memory_id=0) data = ( b"U\xaa\xaaUd\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00" b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) parse = parse_command(data) assert isinstance(parse, CmdErase) # CmdLoad(address=100, length=0, memory_id=0) data = ( b"U\xaa\xaaUd\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00" b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) parse = parse_command(data) assert isinstance(parse, CmdLoad) # CmdExecute(address=100) data = b"U\xaa\xaaUd\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00" parse = parse_command(data) assert isinstance(parse, CmdExecute) # CmdCall(address=100) data = b"U\xaa\xaaUd\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00" parse = parse_command(data) assert isinstance(parse, CmdCall) # CmdProgFuses(address=100, data=[0, 1, 2, 3]) data = ( b"U\xaa\xaaUd\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00" b"\x00\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00" b"\x00\x00\x04\x00\x00\x00" ) parse = parse_command(data) assert isinstance(parse, CmdProgFuses) # CmdProgIfr(address=100, data=(b"\x00" * 100)) data = b"U\xaa\xaaUd\x00\x00\x00d\x00\x00\x00\x06\x00\x00\x00" parse = parse_command(data) assert isinstance(parse, CmdProgIfr) # CmdLoadCmac(address=100, length=0, memory_id=0) data = ( b"U\xaa\xaaUd\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00" b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) parse = parse_command(data) assert isinstance(parse, CmdLoadCmac) # CmdCopy(address=100, length=0, destination_address=0, memory_id_from=0, memory_id_to=0) data = ( b"U\xaa\xaaUd\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00" b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) parse = parse_command(data) assert isinstance(parse, CmdCopy) # CmdLoadHashLocking(address=100, length=0, memory_id=0) data = ( b"U\xaa\xaaUd\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x00\x00" b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) parse = parse_command(data) assert isinstance(parse, CmdLoadHashLocking) # CmdLoadKeyBlob(offset=100, key_wrap_id=CmdLoadKeyBlob.NXP_CUST_KEK_EXT_SK, data=10 * b"x") data = ( b"U\xaa\xaaUd\x00\x11\x00\n\x00\x00\x00\n\x00\x00\x00xxxxxxxxxx" b"\x00\x00\x00\x00\x00\x00" ) parse = parse_command(data) assert isinstance(parse, CmdLoadKeyBlob) # CmdConfigureMemory(address=100, memory_id=0) data = b"U\xaa\xaaUd\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00" parse = parse_command(data) assert isinstance(parse, CmdConfigureMemory) # CmdFillMemory(address=100, memory_id=0) data = ( b"U\xaa\xaaUd\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00" b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) parse = parse_command(data) assert isinstance(parse, CmdFillMemory) # CmdFwVersionCheck(value=100, counter_id=CmdFwVersionCheck.SECURE) data = b"U\xaa\xaaUd\x00\x00\x00\x02\x00\x00\x00\r\x00\x00\x00" parse = parse_command(data) assert isinstance(parse, CmdFwVersionCheck)