diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2022-01-12 02:57:58 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2022-06-16 13:04:33 +0200 |
commit | f842c8c8d0d809b298668c9f547e6df837532fce (patch) | |
tree | 6c3995481acf761db5785eb40eca18a2ce3927c8 /tests/testsuite.at | |
parent | 2100097ef1be98a338b583f15bb5f529690829ff (diff) |
libosmo-gtlv: add auto dec/enc to/from structs
Add osmo_gtlv_coding: describe the value part of a TLV (decode and
encode), describe a struct with its members, and get/put readily decoded
structs from/to a raw PDU, directly.
With osmo_gtlv_coding defined for a protocol's tags, we only deal with
encoded PDUs or fully decoded C structs, no TLV related
re-implementations clutter up the message handling code.
A usage example is given in gtlv_dec_enc_test. The first real use will be
the PFCP protocol in osmo-upf.git.
With osmo_gtlv_coding, there still is a lot of monkey work involved in
describing the decoded structs. A subsequent patch adds a generator for
osmo_gtlv_coding and message structs from tag value lists.
Related: SYS#5599
Change-Id: I65de793105882a452124ee58adb0e58469e6e796
Diffstat (limited to 'tests/testsuite.at')
-rw-r--r-- | tests/testsuite.at | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/testsuite.at b/tests/testsuite.at index 711f981..788f0f7 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -6,3 +6,9 @@ AT_KEYWORDS([gtlv]) cat $abs_srcdir/libosmo-gtlv/gtlv_test.ok > expout AT_CHECK([$abs_top_builddir/tests/libosmo-gtlv/gtlv_test], [], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([gtlv_dec_enc]) +AT_KEYWORDS([gtlv_dec_enc]) +cat $abs_srcdir/libosmo-gtlv/gtlv_dec_enc_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/libosmo-gtlv/gtlv_dec_enc_test], [], [expout], [ignore]) +AT_CLEANUP |