Snaipe on bleeding
log: Fix crash in `cr_log_info(… (compare)
Snaipe on bleeding
xml: Fix escape of special char… (compare)
Snaipe on bleeding
autotools: use PKG_CHECK_MODULE… autotools: use substitued PKG_C… autotools: use TEST_LOG_DRIVER and 3 more (compare)
mmk_expect
static void *realloc_mock(void *ptr, size_t size) {
mmk_mock_start;
mmk_expect(ptr == NULL && size == 42);
mmk_return(NULL);
mmk_expect(ptr == (void*) -1);
mmk_return(NULL);
for (size_t i = 0; i < 10; ++i) {
mmk_expect(size == i);
mmk_return(NULL);
}
mmk_mock_end;
}
return foo
for a return void function and complain
patch
==743== 568 bytes in 1 blocks are still reachable in loss record 2 of 2
==743== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==743== by 0x50C2D41: fdopen@@GLIBC_2.2.5 (iofdopen.c:138)
==743== by 0x4E42713: pipe_in (pipe.c:46)
==743== by 0x4E43B00: cr_get_redirected_stderr (redirect.c:62)
==743== by 0x401FDA: another_suite_test_stdout_impl (test_all.c:44)
==743== by 0x4E425C5: criterion_internal_test_main (test.c:56)
==743== by 0x4016EA: another_suite_test_stdout_jmp (test_all.c:37)
==743== by 0x4E3F6F8: run_test_child (runner.c:180)
==743== by 0x4E41808: run_worker (worker.c:84)
==743== by 0x4E4193C: spawn_test_worker (worker.c:111)
==743== by 0x4E40FCE: run_test (runner_coroutine.c:66)
==743== by 0x4E41506: run_next_test (runner_coroutine.c:162)
==743==
{
<insert_a_suppression_name_here>
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:fdopen@@GLIBC_2.2.5
fun:pipe_in
fun:cr_get_redirected_stderr
fun:another_suite_test_stdout_impl
fun:criterion_internal_test_main
fun:another_suite_test_stdout_jmp
fun:run_test_child
fun:run_worker
fun:spawn_test_worker
fun:run_test
fun:run_next_test
}
static void redirect_all_std(void) {
cr_redirect_stdout();
cr_redirect_stderr();
}
Test(another_suite, test_stdout, .init = redirect_all_std) {
fprintf(stdout, "foo");
fflush(stdout);
cr_assert_stdout_eq_str("foo");
fprintf(stderr, "bar");
fflush(stderr);
cr_assert_stderr_eq_str("bar");
}
mmk_when
there's
mmk_when (malloc, m,
.with_size = mmk_eq(size_t, sizeof (ref)),
.then_return = buf);
of course, but
mmk_when (m, malloc(sizeof (ref)), .then_return = buf);
seems really attractive
mmk_when (m, foo(1, mmk_lt(0), mmk_arg_that(is_valid)), .then_return = 42);
mmk_verify
lets you check the number of times a function has been called based on predicates