From be5f03347578920d7b810e3de499d030377a12c4 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Wed, 26 Dec 2018 01:11:57 +0100 Subject: [PATCH] msc_vlr_tests: GSUP: don't care about extra IEs To not break the msc_vlr tests by new GSUP IEs added to some of the GSUP messages, make msc_vlr_tests only match the start of the GSUP message and not care about extra IEs. The extra IEs are anyway seen in the expected logs. The reason to drop the msgb_eq_data_print() is because it is useless for mismatching lengths. It will always print only the length mismatch, instead we need to be able to compare with what was expected. Change-Id: I38d51eeafab04ece83e4bb87bfaa967506f97b11 --- tests/msc_vlr/msc_vlr_tests.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c index 4ccaee9b1..3d69ae865 100644 --- a/tests/msc_vlr/msc_vlr_tests.c +++ b/tests/msc_vlr/msc_vlr_tests.c @@ -746,8 +746,16 @@ int __wrap_osmo_gsup_client_send(struct osmo_gsup_client *gsupc, struct msgb *ms if (len < 1) abort(); - if (!msgb_eq_data_print(msg, buf, len)) + /* Compare only the length expected. Extra data is fine, to not care about new GSUP IEs invented later. */ + if (msg->len < len) { + fprintf(stderr, "ERROR: GSUP message too short, expected '%s'\n", gsup_tx_expected); abort(); + } + + if (memcmp(msg->data, buf, len)) { + fprintf(stderr, "ERROR: GSUP message mismatch, expected it to start with '%s'\n", gsup_tx_expected); + abort(); + } talloc_free(msg); gsup_tx_confirmed = true;