| REQUIRES: curl |
| UNSUPPORTED: system-windows |
| |
| RUN: rm -rf %t/* |
| RUN: mkdir -p %t/buildid/012345678901234{5,6} |
| RUN: echo 'f' > %t/buildid/0123456789012345/debuginfo |
| RUN: cp %t/buildid/012345678901234{5,6}/debuginfo |
| RUN: mkdir %t/cache |
| RUN: env DEBUGINFOD_CACHE_PATH=%t/cache DEBUGINFOD_URLS=file://%t \ |
| RUN: llvm-debuginfod-find --debuginfo 0123456789012345 > /dev/null |
| RUN: ls %t/cache | FileCheck --check-prefix=FIRST --match-full-lines --implicit-check-not {{.}} %s |
| |
| # Set policy to discard all but one file. |
| RUN: env DEBUGINFOD_CACHE_POLICY=prune_interval=0s:cache_size_files=1 \ |
| RUN: DEBUGINFOD_CACHE_PATH=%t/cache DEBUGINFOD_URLS=file://%t \ |
| RUN: llvm-debuginfod-find --debuginfo 0123456789012346 > /dev/null |
| RUN: ls %t/cache | FileCheck --check-prefix=SECOND --match-full-lines --implicit-check-not {{.}} %s |
| |
| # Add the first file back to the cache. |
| RUN: env DEBUGINFOD_CACHE_PATH=%t/cache DEBUGINFOD_URLS=file://%t \ |
| RUN: llvm-debuginfod-find --debuginfo 0123456789012345 > /dev/null |
| RUN: ls %t/cache | FileCheck --check-prefix=BOTH --match-full-lines --implicit-check-not {{.}} %s |
| |
| # An invalid cache policy has no effect. |
| RUN: env DEBUGINFOD_CACHE_POLICY=invalid:prune_interval=0s:cache_size_files=1 \ |
| RUN: DEBUGINFOD_CACHE_PATH=%t/cache DEBUGINFOD_URLS=file://%t \ |
| RUN: llvm-debuginfod-find --debuginfo 0123456789012346 > /dev/null |
| RUN: ls %t/cache | FileCheck --check-prefix=BOTH --match-full-lines --implicit-check-not {{.}} %s |
| |
| FIRST: llvmcache-6663022027345102449 |
| FIRST: llvmcache.timestamp |
| |
| SECOND: llvmcache-6762748755046480574 |
| SECOND: llvmcache.timestamp |
| |
| BOTH: llvmcache-6663022027345102449 |
| BOTH: llvmcache-6762748755046480574 |
| BOTH: llvmcache.timestamp |