From 4b1818cb01a48805388b8b6ab5578da54612a963 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sat, 18 Jul 2020 18:53:41 +0100 Subject: 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 --- third_party/nix/src/tests/dummy-store.hh | 41 ++++++++++++++++++++++++++++++ third_party/nix/src/tests/value-to-json.cc | 36 +++----------------------- 2 files changed, 44 insertions(+), 33 deletions(-) create mode 100644 third_party/nix/src/tests/dummy-store.hh diff --git a/third_party/nix/src/tests/dummy-store.hh b/third_party/nix/src/tests/dummy-store.hh new file mode 100644 index 0000000000..efa4390d28 --- /dev/null +++ b/third_party/nix/src/tests/dummy-store.hh @@ -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> 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 diff --git a/third_party/nix/src/tests/value-to-json.cc b/third_party/nix/src/tests/value-to-json.cc index 7446987334..19591b6fa1 100644 --- a/third_party/nix/src/tests/value-to-json.cc +++ b/third_party/nix/src/tests/value-to-json.cc @@ -9,6 +9,8 @@ #include "libexpr/value.hh" #include "libstore/store-api.hh" +#include "tests/dummy-store.hh" + class ValueTest : public ::testing::Test { protected: static void SetUpTestCase() { nix::initGC(); } @@ -21,39 +23,7 @@ class XMLValueTest : public ValueTest {}; namespace nix { -class DummyStore final : public Store { - public: - explicit DummyStore() : Store(Store::Params{}) {} - - std::string getUri() { return ""; } - - void queryPathInfoUncached( - const Path& path, - Callback> 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) {} -}; +using nix::tests::DummyStore; TEST_F(JSONValueTest, null) { std::stringstream ss; -- cgit 1.4.1