summaryrefslogtreecommitdiff
path: root/deps/jemalloc/test/src/test.c
diff options
context:
space:
mode:
Diffstat (limited to 'deps/jemalloc/test/src/test.c')
-rw-r--r--deps/jemalloc/test/src/test.c56
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)
{