[PATCH 1/2] tests: timer: use stderr for non-repeatable output

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/OpenBSC@lists.osmocom.org/.

Pablo Neira Ayuso pablo at gnumonks.org
Sun Nov 13 16:22:33 UTC 2011


This makes happy gnu-autotest for the timer test.

We may still may fail if we run the test on a very heavy loaded
system, but given the amount of timers that we using for the
automatic test (only 32), this seems very unlikely to me.
---
 tests/timer/timer_test.c  |   17 +++++++++--------
 tests/timer/timer_test.ok |   21 ++-------------------
 2 files changed, 11 insertions(+), 27 deletions(-)

diff --git a/tests/timer/timer_test.c b/tests/timer/timer_test.c
index a01a9e5..72c07a9 100644
--- a/tests/timer/timer_test.c
+++ b/tests/timer/timer_test.c
@@ -73,8 +73,8 @@ static void main_timer_fired(void *data)
 	int i;
 
 	if (*step == timer_nsteps) {
-		printf("Main timer has finished, please, wait a bit for the "
-		       "final report.\n");
+		fprintf(stderr, "Main timer has finished, please, "
+				"wait a bit for the final report.\n");
 		return;
 	}
 	/* add 2^step pair of timers per step. */
@@ -96,7 +96,7 @@ static void main_timer_fired(void *data)
 		osmo_timer_schedule(&v->timer, seconds, 0);
 		llist_add(&v->head, &timer_test_list);
 	}
-	printf("added %d timers in step %u (expired=%u)\n",
+	fprintf(stderr, "added %d timers in step %u (expired=%u)\n",
 		add_in_this_step, *step, expired_timers);
 	total_timers += add_in_this_step;
 	osmo_timer_schedule(&main_timer, TIME_BETWEEN_STEPS, 0);
@@ -112,7 +112,8 @@ static void secondary_timer_fired(void *data)
 
 	timersub(&current, &v->stop, &res);
 	if (timercmp(&res, &precision, >)) {
-		printf("ERROR: timer %p has expired too late!\n", v->timer);
+		fprintf(stderr, "ERROR: timer %p has expired too late!\n",
+			v->timer);
 		too_late++;
 	}
 
@@ -120,7 +121,7 @@ static void secondary_timer_fired(void *data)
 	talloc_free(data);
 	expired_timers++;
 	if (expired_timers == total_timers) {
-		printf("test over: added=%u expired=%u too_late=%u \n",
+		fprintf(stdout, "test over: added=%u expired=%u too_late=%u \n",
 			total_timers, expired_timers, too_late);
 		exit(EXIT_SUCCESS);
 	}
@@ -155,8 +156,8 @@ int main(int argc, char *argv[])
 		}
 	}
 
-	printf("Running timer test for %u steps, accepting imprecision "
-	       "of %u.%.6u seconds\n",
+	fprintf(stdout, "Running timer test for %u steps, accepting "
+		"imprecision of %u.%.6u seconds\n",
 		timer_nsteps, TIMER_PRES_SECS, TIMER_PRES_USECS);
 
 	osmo_timer_schedule(&main_timer, 1, 0);
@@ -166,6 +167,6 @@ int main(int argc, char *argv[])
 		osmo_select_main(0);
 	}
 #else
-	printf("Select not supported on this platform!\n");
+	fprintf(stdout, "Select not supported on this platform!\n");
 #endif
 }
diff --git a/tests/timer/timer_test.ok b/tests/timer/timer_test.ok
index b1792f1..b4e0e11 100644
--- a/tests/timer/timer_test.ok
+++ b/tests/timer/timer_test.ok
@@ -1,19 +1,2 @@
-Running timer test for 16 steps, accepting imprecision of 0.010000 seconds
-added 1 timers in step 0 (expired=0)
-added 2 timers in step 1 (expired=0)
-added 4 timers in step 2 (expired=0)
-added 8 timers in step 3 (expired=0)
-added 16 timers in step 4 (expired=1)
-added 32 timers in step 5 (expired=4)
-added 64 timers in step 6 (expired=33)
-added 128 timers in step 7 (expired=87)
-added 256 timers in step 8 (expired=183)
-added 512 timers in step 9 (expired=466)
-added 1024 timers in step 10 (expired=970)
-added 2048 timers in step 11 (expired=1968)
-added 4096 timers in step 12 (expired=3994)
-added 8192 timers in step 13 (expired=8035)
-added 16384 timers in step 14 (expired=16324)
-added 32768 timers in step 15 (expired=32641)
-Main timer has finished, please, wait a bit for the final report.
-test over: added=65535 expired=65535 too_late=0 
+Running timer test for 5 steps, accepting imprecision of 0.010000 seconds
+test over: added=31 expired=31 too_late=0 
-- 
1.7.2.5


--fdj2RfSjLxBAspz7
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="0002-tests-timer-set-maximum-wait-time-to-obtain-test-res.patch"



More information about the OpenBSC mailing list