1 1.1 christos #include "test/jemalloc_test.h" 2 1.1 christos 3 1.1 christos const char *malloc_conf = "dirty_decay_ms:1234,confirm_conf:true"; 4 1.1 christos 5 1.1 christos TEST_BEGIN(test_confirm_conf_two_pass) { 6 1.1 christos #ifdef _WIN32 7 1.1 christos test_skip("not supported on win32"); 8 1.1 christos #endif 9 1.1 christos 10 1.1 christos bool confirm_conf; 11 1.1 christos size_t sz = sizeof(confirm_conf); 12 1.1 christos 13 1.1 christos int err = mallctl("opt.confirm_conf", &confirm_conf, &sz, NULL, 0); 14 1.1 christos assert_d_eq(err, 0, "Unexpected mallctl failure"); 15 1.1 christos expect_true(confirm_conf, 16 1.1 christos "confirm_conf should be true (processed in pass 1)"); 17 1.1 christos } 18 1.1 christos TEST_END 19 1.1 christos 20 1.1 christos TEST_BEGIN(test_conf_option_applied_in_second_pass) { 21 1.1 christos #ifdef _WIN32 22 1.1 christos test_skip("not supported on win32"); 23 1.1 christos #endif 24 1.1 christos 25 1.1 christos ssize_t dirty_decay_ms; 26 1.1 christos size_t sz = sizeof(dirty_decay_ms); 27 1.1 christos 28 1.1 christos int err = mallctl("opt.dirty_decay_ms", &dirty_decay_ms, &sz, NULL, 0); 29 1.1 christos assert_d_eq(err, 0, "Unexpected mallctl failure"); 30 1.1 christos expect_zd_eq(dirty_decay_ms, 1234, 31 1.1 christos "dirty_decay_ms should be 1234 (processed in pass 2)"); 32 1.1 christos } 33 1.1 christos TEST_END 34 1.1 christos 35 1.1 christos int 36 1.1 christos main(void) { 37 1.1 christos return test(test_confirm_conf_two_pass, 38 1.1 christos test_conf_option_applied_in_second_pass); 39 1.1 christos } 40