Unreliable rend_cache_purge test
The test_rend_cache_purge
function contains an assertion which verifies that the internal strmap does not change after a purge (src/test/test_rendcache.c:1044
on 0a701e53).
However, the rend_cache_purge
function frees the internal strmap and allocates a new one. This turns the assertion in a check whether memory allocation returns the same address as was just freed. The C11 standard mentions that a previous call to free
is synchronized with a call to malloc
[0].
I found the issue during a Valgrind run which probably changed the behavior of free
and malloc
to track them and caused the assertion to fail.
I am suggesting to remove the assertion because it verifies behavior that does not affect normal operation and (in my case) interferes with testing.