Home | History | Annotate | Line # | Download | only in unit
      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