From: Simon McVittie Date: Mon, 19 Sep 2011 13:14:49 +0000 (+0100) Subject: Reinstate the recursive marshalling test but skip the later parts by default X-Git-Tag: dbus-1.5.10~63 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=009ab474e21890a7e44e8120a2e47c9cec406331;p=platform%2Fupstream%2Fdbus.git Reinstate the recursive marshalling test but skip the later parts by default Bug: https://bugs.freedesktop.org/show_bug.cgi?id=38285 Reviewed-by: Cosimo Alfarano --- diff --git a/dbus/dbus-marshal-recursive-util.c b/dbus/dbus-marshal-recursive-util.c index 345b891..e68e274 100644 --- a/dbus/dbus-marshal-recursive-util.c +++ b/dbus/dbus-marshal-recursive-util.c @@ -1924,6 +1924,14 @@ make_and_run_test_nodes (void) node_destroy (node); } + if (_dbus_getenv ("DBUS_TEST_SLOW") == NULL || + atoi (_dbus_getenv ("DBUS_TEST_SLOW")) < 1) + { + fprintf (stderr, "skipping remaining marshal-recursive tests, " + "run with DBUS_TEST_SLOW=1 (or more) to enable\n"); + goto out; + } + start_next_test ("Each container of each container of each value %d iterations\n", N_CONTAINERS * N_CONTAINERS * N_VALUES); for (i = 0; i < N_CONTAINERS; i++) @@ -1996,8 +2004,15 @@ make_and_run_test_nodes (void) node_destroy (outer_container); } -#if 0 - /* This one takes a really long time, so comment it out for now */ + /* This one takes a really long time (10 minutes on a Core2), so only enable + * it if you're really sure */ + if (atoi (_dbus_getenv ("DBUS_TEST_SLOW")) < 2) + { + fprintf (stderr, "skipping really slow marshal-recursive test, " + "run with DBUS_TEST_SLOW=2 (or more) to enable\n"); + goto out; + } + start_next_test ("Each value,value,value triplet combination as toplevel, in all orders %d iterations\n", N_VALUES * N_VALUES * N_VALUES); { @@ -2021,8 +2036,8 @@ make_and_run_test_nodes (void) node_destroy (nodes[0]); } } -#endif /* #if 0 expensive test */ +out: fprintf (stderr, "%d total iterations of recursive marshaling tests\n", n_iterations_completed_total); fprintf (stderr, "each iteration ran at initial offsets 0 through %d in both big and little endian\n", diff --git a/dbus/dbus-test.c b/dbus/dbus-test.c index e6687c4..02eaf89 100644 --- a/dbus/dbus-test.c +++ b/dbus/dbus-test.c @@ -128,15 +128,7 @@ dbus_internal_do_not_use_run_tests (const char *test_data_dir, const char *speci run_test ("marshalling", specific_test, _dbus_marshal_test); -#if 0 - printf ("%s: running recursive marshalling tests\n", "dbus-test"); - if (!_dbus_marshal_recursive_test ()) - die ("recursive marshal"); - - check_memleaks (); -#else - printf ("SKIP: recursive marshal tests disabled\n"); -#endif + run_test ("marshal-recursive", specific_test, _dbus_marshal_recursive_test); run_test ("byteswap", specific_test, _dbus_marshal_byteswap_test);