lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/40590?usp=email )
Change subject: tests: add a simple gtpie_getie() test ......................................................................
tests: add a simple gtpie_getie() test
Change-Id: I5cd45d752592c7133d4452f4e4986783fb17e256 --- M tests/gtp/gtpie_test.c M tests/gtp/gtpie_test.ok 2 files changed, 44 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/90/40590/1
diff --git a/tests/gtp/gtpie_test.c b/tests/gtp/gtpie_test.c index 46c0a98..fe82655 100644 --- a/tests/gtp/gtpie_test.c +++ b/tests/gtp/gtpie_test.c @@ -108,6 +108,46 @@ OSMO_ASSERT(osmo_load32be(&buf[5]) == 0x04050607); }
+static void test_gtpie_getie() +{ + union gtpie_member *ie[GTPIE_SIZE] = {}; + union gtpie_member ie_elem[3] = {}; + + printf("Testing gtpie_getie()\n"); + + /* Empty ie should always return -1 */ + OSMO_ASSERT(gtpie_getie(ie, 0, 0) == -1); + OSMO_ASSERT(gtpie_getie(ie, 0, 1) == -1); + + OSMO_ASSERT(gtpie_getie(ie, GTPIE_ENODEB_ID, 0) == -1); + OSMO_ASSERT(gtpie_getie(ie, GTPIE_ENODEB_ID, 1) == -1); + + ie_elem[0].tv1.t = GTPIE_CAUSE; + ie_elem[0].tv1.v = GTPIE_CAUSE; + ie[0] = &ie_elem[0]; + + OSMO_ASSERT(gtpie_getie(ie, GTPIE_CAUSE, 0) == 0); + OSMO_ASSERT(gtpie_getie(ie, GTPIE_CAUSE, 1) == -1); + + + ie_elem[1].tv1.t = GTPIE_CAUSE; + ie_elem[1].tv1.v = GTPIE_CAUSE; + ie[2] = &ie_elem[0]; + + OSMO_ASSERT(gtpie_getie(ie, GTPIE_CAUSE, 0) == 0); + OSMO_ASSERT(gtpie_getie(ie, GTPIE_CAUSE, 1) == 2); + + + ie_elem[2].tv1.t = GTPIE_CAUSE; + ie_elem[2].tv1.v = GTPIE_CAUSE; + ie[GTPIE_SIZE - 1] = &ie_elem[0]; + + OSMO_ASSERT(gtpie_getie(ie, GTPIE_CAUSE, 0) == 0); + OSMO_ASSERT(gtpie_getie(ie, GTPIE_CAUSE, 1) == 2); + OSMO_ASSERT(gtpie_getie(ie, GTPIE_CAUSE, 2) == GTPIE_SIZE - 1); +} + + int main(int argc, char **argv) { void *tall_ctx = talloc_named_const(NULL, 1, "Root context"); @@ -125,9 +165,11 @@ test_gtpie_tv4(); test_gtpie_tv8();
+ test_gtpie_getie(); + /* TODO: gtpie_decaps() */ /* TODO: gtpie_encaps() */ /* TODO: gtpie_encaps2() */ - /* TODO: gtpie_getie(), gtpie_exist(), gtpie_get*() */ + /* TODO: gtpie_exist(), gtpie_get*() */ return 0; } diff --git a/tests/gtp/gtpie_test.ok b/tests/gtp/gtpie_test.ok index 465df72..3eea44c 100644 --- a/tests/gtp/gtpie_test.ok +++ b/tests/gtp/gtpie_test.ok @@ -4,3 +4,4 @@ Testing gtpie_tv2() Testing gtpie_tv4() Testing gtpie_tv8() +Testing gtpie_getie()