aboutsummaryrefslogtreecommitdiffstats
path: root/tests/gb/gprs_ns_test.c
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2014-10-07 14:03:44 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-03-27 22:28:28 +0100
commitbe9a26caa66232c6794cbf8c71d16f88382c7945 (patch)
treee521f2896b81bed1a0197cb241fbe06453860390 /tests/gb/gprs_ns_test.c
parent0eb6a8c02eaa4a2ce6a6402be8a4e339f7541f31 (diff)
gprs-ns/test: Add expire_nsvc_timer
This function forces the expiration of the timer within struct gprs_nsvc. It is meant to be used for controlled (and faster) timer expiration in unit tests. The timer_mode of the expired timer is returned (or -1 if the timer wasn't active). Sponsored-by: On-Waves ehf
Diffstat (limited to 'tests/gb/gprs_ns_test.c')
-rw-r--r--tests/gb/gprs_ns_test.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/gb/gprs_ns_test.c b/tests/gb/gprs_ns_test.c
index 0b3a76c4..d56bf9ae 100644
--- a/tests/gb/gprs_ns_test.c
+++ b/tests/gb/gprs_ns_test.c
@@ -451,6 +451,21 @@ static void gprs_dump_nsi(struct gprs_ns_inst *nsi)
printf("\n");
}
+static int expire_nsvc_timer(struct gprs_nsvc *nsvc)
+{
+ int rc;
+
+ if (!osmo_timer_pending(&nsvc->timer))
+ return -1;
+
+ rc = nsvc->timer_mode;
+ osmo_timer_del(&nsvc->timer);
+
+ nsvc->timer.cb(nsvc->timer.data);
+
+ return rc;
+}
+
static void test_nsvc()
{
struct gprs_ns_inst *nsi = gprs_ns_instantiate(gprs_ns_callback, NULL);