diff options
Diffstat (limited to 'third_party/nix/src/tests/dummy-store.hh')
-rw-r--r-- | third_party/nix/src/tests/dummy-store.hh | 48 |
1 files changed, 48 insertions, 0 deletions
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 000000000000..8047d25727e1 --- /dev/null +++ b/third_party/nix/src/tests/dummy-store.hh @@ -0,0 +1,48 @@ +#pragma once + +#include <filesystem> + +#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) { + if (srcPath == "/exists-for-tests") { + return "/nix/store/g1w7hy3qg1w7hy3qg1w7hy3qg1w7hy3q-x"; + } + + throw SysError("file does not exist"); + } + + 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(std::ostream& log_sink, const Path& drvPath, + const BasicDerivation& drv, + BuildMode buildMode = bmNormal) { + return BuildResult{}; + } + + void ensurePath(const Path& path) {} +}; + +} // namespace nix::tests |