about summary refs log tree commit diff
path: root/third_party/nix/src/tests/store-util.hh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/nix/src/tests/store-util.hh')
-rw-r--r--third_party/nix/src/tests/store-util.hh76
1 files changed, 0 insertions, 76 deletions
diff --git a/third_party/nix/src/tests/store-util.hh b/third_party/nix/src/tests/store-util.hh
deleted file mode 100644
index b31bb0edcb8f..000000000000
--- a/third_party/nix/src/tests/store-util.hh
+++ /dev/null
@@ -1,76 +0,0 @@
-#pragma once
-
-#include <filesystem>
-
-#include <absl/status/statusor.h>
-#include <absl/strings/escaping.h>
-#include <glog/logging.h>
-#include <sys/random.h>
-
-#include "libstore/local-store.hh"
-
-namespace nix {
-
-class StoreTest : public ::testing::Test {
- public:
-  virtual void TearDown() {
-    for (auto fn : cleanup_funcs_) {
-      try {
-        fn();
-      } catch (std::exception e) {
-        LOG(ERROR) << e.what();
-      }
-    }
-  }
-
-  absl::StatusOr<std::filesystem::path> OpenTempDir(
-      std::filesystem::path parent = std::filesystem::temp_directory_path()) {
-    for (;;) {
-      constexpr int kByteCnt = 9;
-      std::array<char, kByteCnt> randBytes;
-      if (getrandom(randBytes.data(), kByteCnt, 0) < 0) {
-        return absl::InternalError("getrandom() failed");
-      }
-      std::string suffix = absl::WebSafeBase64Escape(
-          absl::string_view(randBytes.data(), kByteCnt));
-      CHECK(suffix != "");
-
-      // Workaround for stdlib bug: use .assign() and ::errc
-      // https://stackoverflow.com/a/52401295/1210278
-      std::error_code ec_exists;
-      ec_exists.assign(EEXIST, std::system_category());
-
-      std::error_code ec;
-      std::filesystem::path candidate =
-          parent / absl::StrCat("nixtest-", suffix);
-      if (std::filesystem::create_directory(candidate, ec)) {
-        cleanup_funcs_.push_back(
-            [candidate]() { std::filesystem::remove_all(candidate); });
-        return candidate;
-      } else if (ec == ec_exists || ec == std::errc::file_exists) {
-        // Directory existed, retry
-        continue;
-      } else {
-        return absl::InternalError(absl::StrCat(
-            "could not create dir ", candidate.c_str(), ": ", ec.message()));
-      }
-    }
-  }
-
-  absl::StatusOr<std::unique_ptr<nix::LocalStore>> OpenTemporaryStore() {
-    absl::StatusOr<std::filesystem::path> storePath = OpenTempDir();
-    if (!storePath.ok()) {
-      return storePath.status();
-    }
-
-    nix::Store::Params params;
-    params["root"] = *storePath;
-
-    return std::make_unique<nix::LocalStore>(params);
-  }
-
- private:
-  std::vector<std::function<void(void)>> cleanup_funcs_;
-};
-
-}  // namespace nix