diff --git a/src/compiler/glsl/tests/cache_test.c b/src/compiler/glsl/tests/cache_test.c index dd11fd5944f..3edd88b06a1 100644 --- a/src/compiler/glsl/tests/cache_test.c +++ b/src/compiler/glsl/tests/cache_test.c @@ -182,6 +182,20 @@ wait_until_file_written(struct disk_cache *cache, const cache_key key) } } +static void * +cache_exists(struct disk_cache *cache) +{ + uint8_t dummy_key[20]; + char *data = "some test data"; + + if (!cache) + return NULL; + + disk_cache_put(cache, dummy_key, data, sizeof(data), NULL); + wait_until_file_written(cache, dummy_key); + return disk_cache_get(cache, dummy_key, NULL); +} + #define CACHE_TEST_TMP "./cache-test-tmp" static void @@ -213,12 +227,13 @@ test_disk_cache_create(void) /* Test with XDG_CACHE_HOME set */ setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1); cache = disk_cache_create("test", "make_check", 0); - expect_null(cache, "disk_cache_create with XDG_CACHE_HOME set with" - "a non-existing parent directory"); + expect_null(cache_exists(cache), "disk_cache_create with XDG_CACHE_HOME set " + "with a non-existing parent directory"); mkdir(CACHE_TEST_TMP, 0755); cache = disk_cache_create("test", "make_check", 0); - expect_non_null(cache, "disk_cache_create with XDG_CACHE_HOME set"); + expect_non_null(cache_exists(cache), "disk_cache_create with XDG_CACHE_HOME " + "set"); check_directories_created(CACHE_TEST_TMP "/xdg-cache-home/" CACHE_DIR_NAME); @@ -231,12 +246,13 @@ test_disk_cache_create(void) setenv("MESA_GLSL_CACHE_DIR", CACHE_TEST_TMP "/mesa-glsl-cache-dir", 1); cache = disk_cache_create("test", "make_check", 0); - expect_null(cache, "disk_cache_create with MESA_GLSL_CACHE_DIR set with" - "a non-existing parent directory"); + expect_null(cache_exists(cache), "disk_cache_create with MESA_GLSL_CACHE_DIR" + " set with a non-existing parent directory"); mkdir(CACHE_TEST_TMP, 0755); cache = disk_cache_create("test", "make_check", 0); - expect_non_null(cache, "disk_cache_create with MESA_GLSL_CACHE_DIR set"); + expect_non_null(cache_exists(cache), "disk_cache_create with " + "MESA_GLSL_CACHE_DIR set"); check_directories_created(CACHE_TEST_TMP "/mesa-glsl-cache-dir/" CACHE_DIR_NAME);