diff options
Diffstat (limited to 'llvm/unittests/CAS/OnDiskCommonUtils.h')
| -rw-r--r-- | llvm/unittests/CAS/OnDiskCommonUtils.h | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/unittests/CAS/OnDiskCommonUtils.h b/llvm/unittests/CAS/OnDiskCommonUtils.h index 89f93e0..48a1830 100644 --- a/llvm/unittests/CAS/OnDiskCommonUtils.h +++ b/llvm/unittests/CAS/OnDiskCommonUtils.h @@ -12,6 +12,8 @@  #include "llvm/CAS/BuiltinObjectHasher.h"  #include "llvm/CAS/OnDiskGraphDB.h" +#include "llvm/CAS/OnDiskKeyValueDB.h" +#include "llvm/CAS/UnifiedOnDiskCache.h"  #include "llvm/Support/BLAKE3.h"  #include "llvm/Testing/Support/Error.h" @@ -58,6 +60,25 @@ inline Expected<ObjectID> store(OnDiskGraphDB &DB, StringRef Data,    return ID;  } +inline Expected<ObjectID> cachePut(OnDiskKeyValueDB &DB, ArrayRef<uint8_t> Key, +                                   ObjectID ID) { +  auto Value = UnifiedOnDiskCache::getValueFromObjectID(ID); +  auto Result = DB.put(Key, Value); +  if (!Result) +    return Result.takeError(); +  return UnifiedOnDiskCache::getObjectIDFromValue(*Result); +} + +inline Expected<std::optional<ObjectID>> cacheGet(OnDiskKeyValueDB &DB, +                                                  ArrayRef<uint8_t> Key) { +  auto Result = DB.get(Key); +  if (!Result) +    return Result.takeError(); +  if (!*Result) +    return std::nullopt; +  return UnifiedOnDiskCache::getObjectIDFromValue(**Result); +} +  inline Error printTree(OnDiskGraphDB &DB, ObjectID ID, raw_ostream &OS,                         unsigned Indent = 0) {    std::optional<ondisk::ObjectHandle> Obj;  | 
