This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Pau Espin Pedrol gerrit-no-reply at lists.osmocom.orgPau Espin Pedrol has submitted this change and it was merged. Change subject: osmux: Use osmo_gettimeofday for testing puroposes ...................................................................... osmux: Use osmo_gettimeofday for testing puroposes This way we can use fake time and osmux_test take 700ms instead of >2sec to run. Change-Id: Ic39cab74400aca8262a00c0d06884230b1a15ca3 --- M src/osmux.c M tests/osmux/osmux_test.c 2 files changed, 26 insertions(+), 6 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmux.c b/src/osmux.c index 4d12427..d12a39a 100644 --- a/src/osmux.c +++ b/src/osmux.c @@ -777,7 +777,7 @@ #ifdef DEBUG_TIMING struct timeval now, diff; - gettimeofday(&now, NULL); + osmo_gettimeofday(&now, NULL); timersub(&now, &h->start, &diff); timersub(&diff,&h->when, &diff); LOGP(DLMIB, LOGL_DEBUG, "we are lagging %lu.%.6lu in scheduled " @@ -806,7 +806,7 @@ h->timer.data = h; #ifdef DEBUG_TIMING - gettimeofday(&h->start, NULL); + osmo_gettimeofday(&h->start, NULL); h->when.tv_sec = when->tv_sec; h->when.tv_usec = when->tv_usec; #endif diff --git a/tests/osmux/osmux_test.c b/tests/osmux/osmux_test.c index 9941ce3..63f89f1 100644 --- a/tests/osmux/osmux_test.c +++ b/tests/osmux/osmux_test.c @@ -26,6 +26,7 @@ #include <osmocom/core/logging.h> #include <osmocom/core/msgb.h> #include <osmocom/core/linuxlist.h> +#include <osmocom/core/timer.h> #include <osmocom/netif/osmux.h> #include <osmocom/netif/rtp.h> @@ -54,6 +55,8 @@ 0xf2, 0x26, 0x33, 0x65, 0x54, }; +#define PKT_TIME_USEC 20*1000 + static int rtp_pkts; static int mark_pkts; #if OSMUX_TEST_USE_TIMING @@ -67,7 +70,7 @@ #if OSMUX_TEST_USE_TIMING struct timeval now, diff; - gettimeofday(&now, NULL); + osmo_gettimeofday(&now, NULL); timersub(&now, &last, &diff); last = now; @@ -159,10 +162,17 @@ osmux_xfrm_input_deliver(&h_input); } } +#if !OSMUX_TEST_USE_TIMING + osmo_gettimeofday_override_add(0, PKT_TIME_USEC); +#endif } - while (rtp_pkts) + while (rtp_pkts) { +#if !OSMUX_TEST_USE_TIMING + osmo_gettimeofday_override_add(1, 0); +#endif osmo_select_main(0); + } if (mark_pkts) { fprintf(stdout, "RTP M bit (marker) mismatch! %d\n", mark_pkts); @@ -204,7 +214,7 @@ if (i % 4 == 0) { #if OSMUX_TEST_USE_TIMING - gettimeofday(&last, NULL); + osmo_gettimeofday(&last, NULL); #endif /* After four RTP messages, squash them into the OSMUX @@ -217,8 +227,12 @@ * messages that are extracted from OSMUX has been * delivered. */ - for (j = 0; j < k-2; j++) + for (j = 0; j < k-2; j++) { osmo_select_main(0); +#if !OSMUX_TEST_USE_TIMING + osmo_gettimeofday_override_add(0, PKT_TIME_USEC); +#endif + } k = 0; } @@ -239,6 +253,12 @@ exit(EXIT_FAILURE); } +#if !OSMUX_TEST_USE_TIMING + /* This test uses fake time to speedup the run, unless we want to manually + * test time specific stuff */ + osmo_gettimeofday_override = true; +#endif + /* This test doesn't use it, but osmux requires it internally. */ osmo_init_logging(&osmux_test_log_info); log_set_log_level(osmo_stderr_target, LOGL_DEBUG); -- To view, visit https://gerrit.osmocom.org/2418 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ic39cab74400aca8262a00c0d06884230b1a15ca3 Gerrit-PatchSet: 3 Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>