glsl/tests: changes to test_disk_cache_create test
authorTapani Pälli <tapani.palli@intel.com>
Thu, 1 Feb 2018 07:08:52 +0000 (09:08 +0200)
committerTapani Pälli <tapani.palli@intel.com>
Wed, 7 Feb 2018 12:45:34 +0000 (14:45 +0200)
Next patch will allow disk_cache instance to be created without
path set for it, modify some test cases that assume disk_cache
creation to fail with invalid path. Creation should succeed but
simple put/get test fail.

v2: leave tests as is but check that both cache struct exists
    and try simple put/get that should fail with invalid path set
    (Emil)

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> (v1)
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
src/compiler/glsl/tests/cache_test.c

index dd11fd5944fa427d54a29e90f79770d9993a2760..3edd88b06a158d8c4b4624d7006577c7aae6f9bf 100644 (file)
@@ -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);