pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/29504 )
Change subject: tests/osmux_test2: Document unit tests ......................................................................
tests/osmux_test2: Document unit tests
Change-Id: I56f27af52b6a8d798879c70d68a9a3b9e512867d --- M tests/osmux/osmux_test2.c 1 file changed, 16 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/04/29504/1
diff --git a/tests/osmux/osmux_test2.c b/tests/osmux/osmux_test2.c index 7a66920..421dac4 100644 --- a/tests/osmux/osmux_test2.c +++ b/tests/osmux/osmux_test2.c @@ -155,6 +155,7 @@ OSMO_ASSERT(_rc == _osmuxh->ctr+1); \ }
+/* Test some regular scenario where frames arrive at exactly the time they should. */ static void test_output_consecutive(void) { struct osmux_out_handle *h_output; @@ -222,6 +223,12 @@ talloc_free(h_output); }
+/* Test that receiving new osmux frame triggers flushing of RTP pakcets + * generated from previous one, to avoid steady growing delay in scheduling due to + * jitter of osmux packets received. Specifically test case where the 2 Osmux + * packets arrive with a small delay of system time in between them, aka the 1st + * Osmux frame has had some of its AMR payloads already forwarded as RTP to the + * upper layers. */ static void test_output_interleaved(void) { struct osmux_out_handle *h_output; @@ -264,6 +271,11 @@ talloc_free(h_output); }
+/* Test that receiving new osmux frame triggers flushing of RTP pakcets + * generated from previous one, to avoid steady growing delay in scheduling due to + * jitter of osmux packets received. Specifically test case where the 2 Osmux + * packets arrive (almost) exactly at the same time, so no internal acton is + * triggered between receival of those. */ static void test_output_2together(void) { struct osmux_out_handle *h_output; @@ -302,7 +314,8 @@ talloc_free(h_output); }
-/* FIXME: this test shows generated rtp stream doesn't have osmux lost frames into account! */ +/* Generated rtp stream gets first RTP pkt marked with M bit after osmux frame + * lost is detected (hence a gap in sequence) */ static void test_output_frame_lost(void) { struct osmux_out_handle *h_output; @@ -340,6 +353,8 @@ talloc_free(h_output); }
+/* Test all packets are transmitted immediately when osmux_xfrm_output_flush() + * is flushed. */ static void test_output_flush(void) { struct osmux_out_handle *h_output;