summaryrefslogtreecommitdiffstats
path: root/tests/testsuite.at
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-02-11 20:32:25 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2019-04-08 13:47:17 +0000
commit0e8df1c7e48bcae2285c7c138bd50f932049bd24 (patch)
treeebc61be55958db4925f412bfb55906cf100d94eb /tests/testsuite.at
parent0c7826e9bd8026b239d320dba49416fd603f17fd (diff)
add osmo_use_count API
Provide a common implementation of use counting that supports naming each user as well as counting more than just one use per user, depending on the rules the caller implies. In osmo-msc, we were originally using a simple int counter to see whether a connection is still in use or should be discarded. For clarity, we later added names to each user in the form of a bitmask of flags, to figure out exactly which users are still active: for logging and to debug double get / double put bugs. This however is still not adequate, since there may be more than one CM Service Request pending. Also, it is a specialized implementation that is not re-usable. With this generalized implementation, we can: - fix the problem of inadequate counting of multiple concurrent CM Service Requests (more than one use count per user category), - directly use arbitrary names for uses like __func__ or "foo" (no need to define enums and value_string[]s), - re-use the same code for e.g. vlr_subscr and get fairly detailed VLR susbscriber usage logging for free. Change-Id: Ife31e6798b4e728a23913179e346552a7dd338c0
Diffstat (limited to 'tests/testsuite.at')
-rw-r--r--tests/testsuite.at7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/testsuite.at b/tests/testsuite.at
index db2003f4..5a6e8020 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -337,3 +337,10 @@ AT_KEYWORDS([sockaddr_str])
cat $abs_srcdir/sockaddr_str/sockaddr_str_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/sockaddr_str/sockaddr_str_test], [0], [expout], [ignore])
AT_CLEANUP
+
+AT_SETUP([use_count])
+AT_KEYWORDS([use_count])
+cat $abs_srcdir/use_count/use_count_test.ok > expout
+cat $abs_srcdir/use_count/use_count_test.err > experr
+AT_CHECK([$abs_top_builddir/tests/use_count/use_count_test], [0], [expout], [experr])
+AT_CLEANUP