diff options
Diffstat (limited to 'deps/jemalloc/test/src/test.c')
-rw-r--r-- | deps/jemalloc/test/src/test.c | 56 |
1 files changed, 15 insertions, 41 deletions
diff --git a/deps/jemalloc/test/src/test.c b/deps/jemalloc/test/src/test.c index d70cc7501..8173614cf 100644 --- a/deps/jemalloc/test/src/test.c +++ b/deps/jemalloc/test/src/test.c @@ -60,30 +60,32 @@ p_test_fini(void) malloc_printf("%s: %s\n", test_name, test_status_string(test_status)); } -static test_status_t -p_test_impl(bool do_malloc_init, test_t *t, va_list ap) +test_status_t +p_test(test_t *t, ...) { test_status_t ret; + va_list ap; - if (do_malloc_init) { - /* - * Make sure initialization occurs prior to running tests. - * Tests are special because they may use internal facilities - * prior to triggering initialization as a side effect of - * calling into the public API. - */ - if (nallocx(1, 0) == 0) { - malloc_printf("Initialization error"); - return (test_status_fail); - } + /* + * Make sure initialization occurs prior to running tests. Tests are + * special because they may use internal facilities prior to triggering + * initialization as a side effect of calling into the public API. This + * is a final safety that works even if jemalloc_constructor() doesn't + * run, as for MSVC builds. + */ + if (nallocx(1, 0) == 0) { + malloc_printf("Initialization error"); + return (test_status_fail); } ret = test_status_pass; + va_start(ap, t); for (; t != NULL; t = va_arg(ap, test_t *)) { t(); if (test_status > ret) ret = test_status; } + va_end(ap); malloc_printf("--- %s: %u/%u, %s: %u/%u, %s: %u/%u ---\n", test_status_string(test_status_pass), @@ -96,34 +98,6 @@ p_test_impl(bool do_malloc_init, test_t *t, va_list ap) return (ret); } -test_status_t -p_test(test_t *t, ...) -{ - test_status_t ret; - va_list ap; - - ret = test_status_pass; - va_start(ap, t); - ret = p_test_impl(true, t, ap); - va_end(ap); - - return (ret); -} - -test_status_t -p_test_no_malloc_init(test_t *t, ...) -{ - test_status_t ret; - va_list ap; - - ret = test_status_pass; - va_start(ap, t); - ret = p_test_impl(false, t, ap); - va_end(ap); - - return (ret); -} - void p_test_fail(const char *prefix, const char *message) { |