about summary refs log tree commit diff
path: root/third_party/nix/src/tests/store-api-test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/nix/src/tests/store-api-test.cc')
-rw-r--r--third_party/nix/src/tests/store-api-test.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/third_party/nix/src/tests/store-api-test.cc b/third_party/nix/src/tests/store-api-test.cc
new file mode 100644
index 000000000000..259e4b991b57
--- /dev/null
+++ b/third_party/nix/src/tests/store-api-test.cc
@@ -0,0 +1,28 @@
+#include "libstore/store-api.hh"
+
+#include <gtest/gtest.h>
+#include <rapidcheck/Assertions.h>
+#include <rapidcheck/gtest.h>
+
+#include "libproto/worker.pb.h"
+#include "tests/arbitrary.hh"
+
+namespace nix {
+
+class BuildResultTest : public ::testing::Test {};
+
+RC_GTEST_PROP(BuildResultTest, StatusToFromProtoRoundTrip,
+              (BuildResult::Status && status)) {
+  BuildResult br;
+  br.status = status;
+
+  auto proto_status = br.status_to_proto();
+  nix::proto::BuildResult br_proto;
+  br_proto.set_status(proto_status);
+
+  auto result = BuildResult::FromProto(br_proto);
+
+  RC_ASSERT(result.value().status == status);
+}
+
+}  // namespace nix