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
This commit is contained in:
Neels Hofmeyr 2018-12-26 01:11:57 +01:00 committed by Harald Welte
parent 38816dab97
commit be5f033475
1 changed files with 9 additions and 1 deletions

View File

@ -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;