refactor(3p/nix/tests): Move DummyStore into a separate file

This store implementation is required in all unit tests that use the
evaluator.

Change-Id: I1cfe8cecab8722cd66dc803747821a2be2b2619f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1269
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
This commit is contained in:
Vincent Ambo 2020-07-18 18:53:41 +01:00 committed by tazjin
parent cdc1a0bb6e
commit 4b1818cb01
2 changed files with 44 additions and 33 deletions

View file

@ -0,0 +1,41 @@
#pragma once
#include "libstore/store-api.hh"
namespace nix::tests {
class DummyStore final : public Store {
public:
explicit DummyStore() : Store(Store::Params{}) {}
std::string getUri() { return ""; }
void queryPathInfoUncached(
const Path& path,
Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept {}
Path queryPathFromHashPart(const std::string& hashPart) { return ""; }
Path addToStore(const std::string& name, const Path& srcPath,
bool recursive = true, HashType hashAlgo = htSHA256,
PathFilter& filter = defaultPathFilter,
RepairFlag repair = NoRepair) {
return "/nix/store/g1w7hy3qg1w7hy3qg1w7hy3qg1w7hy3q-x";
}
Path addTextToStore(const std::string& name, const std::string& s,
const PathSet& references, RepairFlag repair = NoRepair) {
return "/nix/store/g1w7hy3qg1w7hy3qg1w7hy3qg1w7hy3q-x";
}
void narFromPath(const Path& path, Sink& sink) {}
BuildResult buildDerivation(const Path& drvPath, const BasicDerivation& drv,
BuildMode buildMode = bmNormal) {
return BuildResult{};
}
void ensurePath(const Path& path) {}
};
} // namespace nix::tests

View file

@ -9,6 +9,8 @@
#include "libexpr/value.hh" #include "libexpr/value.hh"
#include "libstore/store-api.hh" #include "libstore/store-api.hh"
#include "tests/dummy-store.hh"
class ValueTest : public ::testing::Test { class ValueTest : public ::testing::Test {
protected: protected:
static void SetUpTestCase() { nix::initGC(); } static void SetUpTestCase() { nix::initGC(); }
@ -21,39 +23,7 @@ class XMLValueTest : public ValueTest {};
namespace nix { namespace nix {
class DummyStore final : public Store { using nix::tests::DummyStore;
public:
explicit DummyStore() : Store(Store::Params{}) {}
std::string getUri() { return ""; }
void queryPathInfoUncached(
const Path& path,
Callback<std::shared_ptr<ValidPathInfo>> callback) noexcept {}
Path queryPathFromHashPart(const std::string& hashPart) { return ""; }
Path addToStore(const std::string& name, const Path& srcPath,
bool recursive = true, HashType hashAlgo = htSHA256,
PathFilter& filter = defaultPathFilter,
RepairFlag repair = NoRepair) {
return "/nix/store/g1w7hy3qg1w7hy3qg1w7hy3qg1w7hy3q-x";
}
Path addTextToStore(const std::string& name, const std::string& s,
const PathSet& references, RepairFlag repair = NoRepair) {
return "/nix/store/g1w7hy3qg1w7hy3qg1w7hy3qg1w7hy3q-x";
}
void narFromPath(const Path& path, Sink& sink) {}
BuildResult buildDerivation(const Path& drvPath, const BasicDerivation& drv,
BuildMode buildMode = bmNormal) {
return BuildResult{};
}
void ensurePath(const Path& path) {}
};
TEST_F(JSONValueTest, null) { TEST_F(JSONValueTest, null) {
std::stringstream ss; std::stringstream ss;