diff options
author | Vincent Ambo <mail@tazj.in> | 2020-11-21T14·26+0100 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2020-11-21T14·26+0100 |
commit | cc27324d0226953943f408ce3c69ad7d648e005e (patch) | |
tree | 8bb0cc684739a625462dec6ef24008e2d6d20807 | |
parent | cce0ad1bcd66922790cebf08f173c985fc619225 (diff) |
chore(tvix): Use StatusOr API available in Abseil's version r/1888
The Abseil version of `StatusOr` does not come with the status macros or the `Consume*` family of functions. This change modifies the existing code to use the common denominator of the API that is available between Abseil's own implementation of `StatusOr` and the one from Tensorflow that we are currently using. Change-Id: I5c37f68636a1fd54d153f95d7303ab8644abb774
-rw-r--r-- | third_party/nix/src/nix-daemon/nix-daemon-proto.cc | 2 | ||||
-rw-r--r-- | third_party/nix/src/tests/language-tests.cc | 7 | ||||
-rw-r--r-- | third_party/nix/src/tests/store-util.hh | 7 | ||||
-rw-r--r-- | third_party/nix/src/tests/store_tests.cc | 5 |
4 files changed, 13 insertions, 8 deletions
diff --git a/third_party/nix/src/nix-daemon/nix-daemon-proto.cc b/third_party/nix/src/nix-daemon/nix-daemon-proto.cc index 79ff9cadc2d1..b6a5fe358a96 100644 --- a/third_party/nix/src/nix-daemon/nix-daemon-proto.cc +++ b/third_party/nix/src/nix-daemon/nix-daemon-proto.cc @@ -245,7 +245,7 @@ class WorkerServiceImpl final : public WorkerService::Service { std::string(nar_hash.status().message())); } - info.narHash = nar_hash.ConsumeValueOrDie(); + info.narHash = *nar_hash; for (const auto& ref : path_info.references()) { info.references.insert(ref); } diff --git a/third_party/nix/src/tests/language-tests.cc b/third_party/nix/src/tests/language-tests.cc index 189e1ede5c37..46e8c6ea80f7 100644 --- a/third_party/nix/src/tests/language-tests.cc +++ b/third_party/nix/src/tests/language-tests.cc @@ -257,9 +257,10 @@ class EvalStoreSuccessTest // Test pattern for files that should evaluate successfully but require a real // store. TEST_P(EvalStoreSuccessTest, Succeeds) { - std::unique_ptr<nix::LocalStore> store_ = - OpenTemporaryStore().ConsumeValueOrDie(); - ref<Store> store = ref<Store>(store_.release()); + absl::StatusOr<std::unique_ptr<nix::LocalStore>> store_ = + OpenTemporaryStore(); + CHECK(store_.ok()) << "failed to open temporary store"; + ref<Store> store = ref<Store>(store_->release()); EvalState state({}, store); auto path = GetParam(); diff --git a/third_party/nix/src/tests/store-util.hh b/third_party/nix/src/tests/store-util.hh index 170794616b2b..b31bb0edcb8f 100644 --- a/third_party/nix/src/tests/store-util.hh +++ b/third_party/nix/src/tests/store-util.hh @@ -58,10 +58,13 @@ class StoreTest : public ::testing::Test { } absl::StatusOr<std::unique_ptr<nix::LocalStore>> OpenTemporaryStore() { - ASSIGN_OR_RETURN(std::filesystem::path storePath, OpenTempDir()); + absl::StatusOr<std::filesystem::path> storePath = OpenTempDir(); + if (!storePath.ok()) { + return storePath.status(); + } nix::Store::Params params; - params["root"] = storePath; + params["root"] = *storePath; return std::make_unique<nix::LocalStore>(params); } diff --git a/third_party/nix/src/tests/store_tests.cc b/third_party/nix/src/tests/store_tests.cc index 8110e9c337bc..a6ffb715a90f 100644 --- a/third_party/nix/src/tests/store_tests.cc +++ b/third_party/nix/src/tests/store_tests.cc @@ -90,8 +90,9 @@ TEST_F(BinaryCacheStoreTest, BasicErrors) { // ./tests/add.sh TEST_F(StoreTest, AddFileHashes) { - auto store_ = OpenTemporaryStore().ConsumeValueOrDie(); - nix::Store* store = static_cast<nix::Store*>(store_.get()); + auto store_ = OpenTemporaryStore(); + CHECK(store_.ok()) << "failed to open temporary store"; + nix::Store* store = store_->release(); nix::Path dataPath = NIX_SRC_DIR "/src/tests/lang/data"; std::string dataName = "data"; |