X-Git-Url: https://robinkrens.nl/gitweb/?a=blobdiff_plain;f=tests%2Ftest_parse.py;h=b18673d876c744bd89dd0508f018204b212837cb;hb=HEAD;hp=d83e629f89efa4992b46c7d19a234920fcb09a79;hpb=5a926ba21f47182057a38e3a62d44cec22e9d373;p=renesas-ra-flasher diff --git a/tests/test_parse.py b/tests/test_parse.py index d83e629..b18673d 100644 --- a/tests/test_parse.py +++ b/tests/test_parse.py @@ -1,4 +1,4 @@ -from flasher.flasher import calc_sum +from raflash.RAPacker import calc_sum, unpack_pkt, pack_pkt import pytest def test_calc_sum(): @@ -6,3 +6,21 @@ def test_calc_sum(): assert calc_sum(0x34, ['0x00']) == (0, 0x2, 0xCA) assert calc_sum(0x00, ['0x00']) == (0, 0x02, 0xFE) +def test_unpack(): + assert unpack_pkt(b'\x81\x00\x02\x00\x00\xFE\x03') == ['0x00'] + assert unpack_pkt(b'\x81\x00\x02\x12\x00\xEC\x03') == ['0x00'] + assert unpack_pkt(b'\x81\x00\x02\x13\x00\xEB\x03') == ['0x00'] + +def test_read_unpack(): + assert unpack_pkt(b'\x81\x00\x04\x15\xAA\xBB\xCC\xB6\x03') == ['0xAA', '0xBB', '0xCC'] + +def test_pack_unpack(): + assert unpack_pkt(pack_pkt(0x13, ['0x00','0x01','0x02'], ack=True)) == ['0x00', '0x01', '0x02'] + assert unpack_pkt(pack_pkt(0x34, ['0x00'], ack=True)) == ['0x00'] + assert unpack_pkt(pack_pkt(0x00, ['0x00'], ack=True)) == ['0x00'] + assert unpack_pkt(pack_pkt(0x12, ['0x00'], ack=True)) == ['0x00'] + +def test_err_unpack(): + with pytest.raises(ValueError, match=r".*0xC3.*") as excinfo: + unpack_pkt(b'\x81\x00\x02\x93\xC3\x38\x03') + assert str(excinfo.value) == 'MCU encountered error 0xC3'