//===- CASTestConfig.h ----------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "llvm/CAS/ActionCache.h" #include "llvm/CAS/ObjectStore.h" #include "gtest/gtest.h" #ifndef LLVM_UNITTESTS_CASTESTCONFIG_H #define LLVM_UNITTESTS_CASTESTCONFIG_H struct CASTestingEnv { std::unique_ptr CAS; std::unique_ptr Cache; }; class CASTest : public testing::TestWithParam> { protected: std::optional NextCASIndex; std::unique_ptr createObjectStore() { auto TD = GetParam()(++(*NextCASIndex)); return std::move(TD.CAS); } std::unique_ptr createActionCache() { auto TD = GetParam()(++(*NextCASIndex)); return std::move(TD.Cache); } void SetUp() { NextCASIndex = 0; } void TearDown() { NextCASIndex = std::nullopt; } }; #endif