summaryrefslogtreecommitdiffstats
path: root/src/target/trx_toolkit/data_msg.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/trx_toolkit/data_msg.py')
-rw-r--r--src/target/trx_toolkit/data_msg.py212
1 files changed, 0 insertions, 212 deletions
diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py
index c96dddb6..8710702b 100644
--- a/src/target/trx_toolkit/data_msg.py
+++ b/src/target/trx_toolkit/data_msg.py
@@ -856,215 +856,3 @@ class DATAMSG_TRX2L1(DATAMSG):
msg.burst = self.sbit2ubit(self.burst)
return msg
-
-# Regression test
-if __name__ == '__main__':
- import logging as log
-
- # Configure logging
- log.basicConfig(level = log.DEBUG,
- format = "[%(levelname)s] %(filename)s:%(lineno)d %(message)s")
-
- log.info("Generating the reference messages")
-
- # Create messages of both types
- msg_l12trx_ref = DATAMSG_L12TRX()
- msg_trx2l1_ref = DATAMSG_TRX2L1()
-
- # Validate header randomization
- for i in range(0, 100):
- msg_l12trx_ref.rand_hdr()
- msg_trx2l1_ref.rand_hdr()
-
- msg_l12trx_ref.rand_burst()
- msg_trx2l1_ref.rand_burst()
-
- msg_l12trx_ref.validate()
- msg_trx2l1_ref.validate()
-
- log.info("Validate header randomization: OK")
-
- # Test error handling for common fields
- msg = DATAMSG()
-
- # Make sure that message validation throws a ValueError
- def validate_throw(msg):
- try:
- msg.validate()
- return False
- except ValueError:
- return True
-
- # Unknown version
- msg.rand_hdr()
- msg.ver = 100
- assert(validate_throw(msg))
-
- # Uninitialized field
- msg.rand_hdr()
- msg.fn = None
- assert(validate_throw(msg))
-
- # Out-of-range value
- msg.rand_hdr()
- msg.tn = 10
- assert(validate_throw(msg))
-
- log.info("Check incorrect message validation: OK")
-
- log.info("Encoding the reference messages")
-
- # Encode DATA messages
- l12trx_raw = msg_l12trx_ref.gen_msg()
- trx2l1_raw = msg_trx2l1_ref.gen_msg()
-
- # Encode a TRX2L1 message in legacy mode
- trx2l1_raw_legacy = msg_trx2l1_ref.gen_msg(legacy = True)
-
- log.info("Parsing generated messages back")
-
- # Parse generated DATA messages
- msg_l12trx_dec = DATAMSG_L12TRX()
- msg_trx2l1_dec = DATAMSG_TRX2L1()
- msg_l12trx_dec.parse_msg(l12trx_raw)
- msg_trx2l1_dec.parse_msg(trx2l1_raw)
-
- # Parse generated TRX2L1 message in legacy mode
- msg_trx2l1_legacy_dec = DATAMSG_TRX2L1()
- msg_trx2l1_legacy_dec.parse_msg(trx2l1_raw_legacy)
-
- log.info("Comparing decoded messages with the reference")
-
- # Compare bursts
- assert(msg_l12trx_dec.burst == msg_l12trx_ref.burst)
- assert(msg_trx2l1_dec.burst == msg_trx2l1_ref.burst)
- assert(msg_trx2l1_legacy_dec.burst == msg_trx2l1_ref.burst)
-
- log.info("Compare bursts: OK")
-
- # Compare both parsed messages with the reference data
- assert(msg_l12trx_dec.fn == msg_l12trx_ref.fn)
- assert(msg_trx2l1_dec.fn == msg_trx2l1_ref.fn)
- assert(msg_l12trx_dec.tn == msg_l12trx_ref.tn)
- assert(msg_trx2l1_dec.tn == msg_trx2l1_ref.tn)
-
- log.info("Compare FN / TN: OK")
-
- # Compare message specific parts
- assert(msg_trx2l1_dec.rssi == msg_trx2l1_ref.rssi)
- assert(msg_l12trx_dec.pwr == msg_l12trx_ref.pwr)
- assert(msg_trx2l1_dec.toa256 == msg_trx2l1_ref.toa256)
-
- log.info("Compare message specific data: OK")
-
- # Bit conversation test
- usbits_ref = list(range(0, 256))
- sbits_ref = list(range(-127, 128))
-
- # Test both usbit2sbit() and sbit2usbit()
- sbits = DATAMSG.usbit2sbit(usbits_ref)
- usbits = DATAMSG.sbit2usbit(sbits)
- assert(usbits[:255] == usbits_ref[:255])
- assert(usbits[255] == 254)
-
- log.info("Check both usbit2sbit() and sbit2usbit(): OK")
-
- # Test both sbit2ubit() and ubit2sbit()
- ubits = DATAMSG.sbit2ubit(sbits_ref)
- assert(ubits == ([1] * 127 + [0] * 128))
-
- sbits = DATAMSG.ubit2sbit(ubits)
- assert(sbits == ([-127] * 127 + [127] * 128))
-
- log.info("Check both sbit2ubit() and ubit2sbit(): OK")
-
- # Test message transformation
- msg_l12trx_dec = msg_trx2l1_ref.gen_l12trx()
- msg_trx2l1_dec = msg_l12trx_ref.gen_trx2l1()
-
- assert(msg_l12trx_dec.fn == msg_trx2l1_ref.fn)
- assert(msg_l12trx_dec.tn == msg_trx2l1_ref.tn)
-
- assert(msg_trx2l1_dec.fn == msg_l12trx_ref.fn)
- assert(msg_trx2l1_dec.tn == msg_l12trx_ref.tn)
-
- assert(msg_l12trx_dec.burst == DATAMSG.sbit2ubit(msg_trx2l1_ref.burst))
- assert(msg_trx2l1_dec.burst == DATAMSG.ubit2sbit(msg_l12trx_ref.burst))
-
- log.info("Check L12TRX <-> TRX2L1 type transformations: OK")
-
- # Test header version coding
- for ver in DATAMSG.known_versions:
- # Create messages of both types
- msg_l12trx = DATAMSG_L12TRX(ver = ver)
- msg_trx2l1 = DATAMSG_TRX2L1(ver = ver)
-
- # Randomize message specific headers
- msg_l12trx.rand_hdr()
- msg_trx2l1.rand_hdr()
-
- # Randomize bursts
- msg_l12trx.rand_burst()
- msg_trx2l1.rand_burst()
-
- # Encode DATA messages
- msg_l12trx_enc = msg_l12trx.gen_msg()
- msg_trx2l1_enc = msg_trx2l1.gen_msg()
-
- # Parse generated DATA messages
- msg_l12trx_dec = DATAMSG_L12TRX()
- msg_trx2l1_dec = DATAMSG_TRX2L1()
- msg_l12trx_dec.parse_msg(msg_l12trx_enc)
- msg_trx2l1_dec.parse_msg(msg_trx2l1_enc)
-
- # Match the header version
- assert(msg_l12trx_dec.ver == ver)
- assert(msg_trx2l1_dec.ver == ver)
-
- # Match common TDMA fields
- assert(msg_l12trx_dec.tn == msg_l12trx.tn)
- assert(msg_trx2l1_dec.fn == msg_trx2l1.fn)
-
- # Match version specific fields
- if msg_trx2l1.ver >= 0x01:
- assert(msg_trx2l1_dec.nope_ind == msg_trx2l1.nope_ind)
- assert(msg_trx2l1_dec.mod_type == msg_trx2l1.mod_type)
- assert(msg_trx2l1_dec.tsc_set == msg_trx2l1.tsc_set)
- assert(msg_trx2l1_dec.tsc == msg_trx2l1.tsc)
- assert(msg_trx2l1_dec.ci == msg_trx2l1.ci)
-
- log.info("Check header version %u coding: OK" % ver)
-
- # Compare bursts
- assert(msg_l12trx_dec.burst == msg_l12trx.burst)
- assert(msg_trx2l1_dec.burst == msg_trx2l1.burst)
-
- msg_trx2l1_gen = msg_l12trx.gen_trx2l1()
- msg_l12trx_gen = msg_trx2l1.gen_l12trx()
-
- assert(msg_trx2l1_gen is not None)
- assert(msg_l12trx_gen is not None)
-
- # Match the header version
- assert(msg_trx2l1_gen.ver == ver)
- assert(msg_l12trx_gen.ver == ver)
-
- # Match common TDMA fields
- assert(msg_trx2l1_gen.tn == msg_l12trx.tn)
- assert(msg_l12trx_gen.fn == msg_trx2l1.fn)
-
- log.info("Verify version %u direct transformation: OK" % ver)
-
- # Verify NOPE indication coding
- if msg_trx2l1.ver >= 0x01:
- msg_trx2l1 = DATAMSG_TRX2L1(ver = ver)
- msg_trx2l1.nope_ind = True
- msg_trx2l1.rand_hdr()
-
- msg_trx2l1_dec = DATAMSG_TRX2L1()
- msg_trx2l1_dec.parse_msg(msg_trx2l1.gen_msg())
-
- assert(msg_trx2l1.nope_ind == msg_trx2l1_dec.nope_ind)
- assert(msg_trx2l1.burst == msg_trx2l1_dec.burst)
-
- log.info("Verify version %u NOPE indication coding: OK" % ver)