Returns false (with partial state cleaned up) if setup failed. */
| 238 | |
| 239 | /* Returns false (with partial state cleaned up) if setup failed. */ |
| 240 | static bool prune_fixture_setup(prune_fixture_t *f, const char *grace_s) { |
| 241 | snprintf(f->rootdir, sizeof(f->rootdir), "/tmp/cbm_watcher_stale_root_XXXXXX"); |
| 242 | if (!cbm_mkdtemp(f->rootdir)) { |
| 243 | return false; |
| 244 | } |
| 245 | snprintf(f->cachedir, sizeof(f->cachedir), "/tmp/cbm_watcher_stale_cache_XXXXXX"); |
| 246 | if (!cbm_mkdtemp(f->cachedir)) { |
| 247 | th_rmtree(f->rootdir); |
| 248 | return false; |
| 249 | } |
| 250 | |
| 251 | f->had_cache_dir = cbm_safe_getenv("CBM_CACHE_DIR", f->saved_cache_dir, |
| 252 | sizeof(f->saved_cache_dir), NULL) != NULL; |
| 253 | f->had_grace = cbm_safe_getenv("CBM_WATCHER_PRUNE_GRACE_S", f->saved_grace, |
| 254 | sizeof(f->saved_grace), NULL) != NULL; |
| 255 | cbm_setenv("CBM_CACHE_DIR", f->cachedir, 1); |
| 256 | cbm_setenv("CBM_WATCHER_PRUNE_GRACE_S", grace_s, 1); |
| 257 | |
| 258 | snprintf(f->db_path, sizeof(f->db_path), "%s/stale-project.db", f->cachedir); |
| 259 | snprintf(f->wal_path, sizeof(f->wal_path), "%s/stale-project.db-wal", f->cachedir); |
| 260 | snprintf(f->shm_path, sizeof(f->shm_path), "%s/stale-project.db-shm", f->cachedir); |
| 261 | th_write_file(f->db_path, "db\n"); |
| 262 | th_write_file(f->wal_path, "wal\n"); |
| 263 | th_write_file(f->shm_path, "shm\n"); |
| 264 | return true; |
| 265 | } |
| 266 | |
| 267 | static void prune_fixture_teardown(prune_fixture_t *f) { |
| 268 | if (f->had_cache_dir) { |
no test coverage detected