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.