about summary refs log tree commit diff
path: root/third_party/nix/src/tests/dummy-store.hh
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-07-18T17·53+0100
committertazjin <mail@tazj.in>2020-07-18T18·08+0000
commit4b1818cb01a48805388b8b6ab5578da54612a963 (patch)
tree5f0d7dd28343741fdb3ce797eed595eb3cbbb9c5 /third_party/nix/src/tests/dummy-store.hh
parentcdc1a0bb6ec52cd05c1a72c00c3c3a4f716a429a (diff)
refactor(3p/nix/tests): Move DummyStore into a separate file r/1378
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>
Diffstat (limited to 'third_party/nix/src/tests/dummy-store.hh')
-rw-r--r--third_party/nix/src/tests/dummy-store.hh41
1 files changed, 41 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..efa4390d28eb
--- /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<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