Skip to content

Commit 4497e33

Browse files
committed
fix tests
1 parent 00f17f2 commit 4497e33

File tree

2 files changed

+38
-48
lines changed

2 files changed

+38
-48
lines changed

cpp/src/plasma/protocol.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ template <typename Message>
4747
Status PlasmaSend(int sock, int64_t message_type, flatbuffers::FlatBufferBuilder* fbb,
4848
const Message& message) {
4949
fbb->Finish(message);
50-
return WriteMessage(
51-
sock, MessageType_PlasmaCreateRequest, fbb->GetSize(), fbb->GetBufferPointer());
50+
return WriteMessage(sock, message_type, fbb->GetSize(), fbb->GetBufferPointer());
5251
}
5352

5453
// Create messages.

cpp/src/plasma/test/client_tests.cc

Lines changed: 37 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,33 @@
2828
#include "plasma/plasma.h"
2929
#include "plasma/protocol.h"
3030

31-
// TODO(pcm): At the moment, stdout of the test gets mixed up with
32-
// stdout of the object store. Consider changing that.
33-
pid_t start_store() {
34-
pid_t pid = fork();
35-
if (pid != 0) { return pid; }
36-
execlp("./plasma_store", "./plasma_store", "-m", "10000000", "-s", "/tmp/store", NULL);
37-
return 0;
38-
}
39-
40-
TEST(PlasmaClient, ContainsTest) {
41-
pid_t store = start_store();
42-
PlasmaClient client;
43-
ARROW_CHECK_OK(client.Connect("/tmp/store", "", PLASMA_DEFAULT_RELEASE_DELAY));
31+
class TestPlasmaStore : public ::testing::Test {
32+
public:
33+
// TODO(pcm): At the moment, stdout of the test gets mixed up with
34+
// stdout of the object store. Consider changing that.
35+
void SetUp() {
36+
pid_ = fork();
37+
if (pid_ != 0) {
38+
ARROW_CHECK_OK(client_.Connect("/tmp/store", "", PLASMA_DEFAULT_RELEASE_DELAY));
39+
return;
40+
}
41+
execlp("./plasma_store", "./plasma_store", "-m", "10000000", "-s", "/tmp/store", NULL);
42+
}
43+
virtual void Finish() {
44+
ARROW_CHECK_OK(client_.Disconnect());
45+
kill(pid_, SIGKILL);
46+
}
47+
protected:
48+
pid_t pid_;
49+
PlasmaClient client_;
50+
};
4451

52+
TEST_F(TestPlasmaStore, ContainsTest) {
4553
ObjectID object_id = ObjectID::from_random();
4654

4755
// Test for object non-existence.
4856
bool has_object;
49-
ARROW_CHECK_OK(client.Contains(object_id, &has_object));
57+
ARROW_CHECK_OK(client_.Contains(object_id, &has_object));
5058
ASSERT_EQ(has_object, false);
5159

5260
// Test for the object being in local Plasma store.
@@ -55,28 +63,21 @@ TEST(PlasmaClient, ContainsTest) {
5563
uint8_t metadata[] = {5};
5664
int64_t metadata_size = sizeof(metadata);
5765
uint8_t* data;
58-
ARROW_CHECK_OK(client.Create(object_id, data_size, metadata, metadata_size, &data));
59-
ARROW_CHECK_OK(client.Seal(object_id));
66+
ARROW_CHECK_OK(client_.Create(object_id, data_size, metadata, metadata_size, &data));
67+
ARROW_CHECK_OK(client_.Seal(object_id));
6068
// Avoid race condition of Plasma Manager waiting for notification.
6169
ObjectBuffer object_buffer;
62-
ARROW_CHECK_OK(client.Get(&object_id, 1, -1, &object_buffer));
63-
ARROW_CHECK_OK(client.Contains(object_id, &has_object));
70+
ARROW_CHECK_OK(client_.Get(&object_id, 1, -1, &object_buffer));
71+
ARROW_CHECK_OK(client_.Contains(object_id, &has_object));
6472
ASSERT_EQ(has_object, true);
65-
66-
ARROW_CHECK_OK(client.Disconnect());
67-
kill(store, SIGKILL);
6873
}
6974

70-
TEST(PlasmaClient, GetTest) {
71-
pid_t store = start_store();
72-
PlasmaClient client;
73-
ARROW_CHECK_OK(client.Connect("/tmp/store", "", PLASMA_DEFAULT_RELEASE_DELAY));
74-
75+
TEST_F(TestPlasmaStore, GetTest) {
7576
ObjectID object_id = ObjectID::from_random();
7677
ObjectBuffer object_buffer;
7778

7879
// Test for object non-existence.
79-
ARROW_CHECK_OK(client.Get(&object_id, 1, 0, &object_buffer));
80+
ARROW_CHECK_OK(client_.Get(&object_id, 1, 0, &object_buffer));
8081
ASSERT_EQ(object_buffer.data_size, -1);
8182

8283
// Test for the object being in local Plasma store.
@@ -85,26 +86,19 @@ TEST(PlasmaClient, GetTest) {
8586
uint8_t metadata[] = {5};
8687
int64_t metadata_size = sizeof(metadata);
8788
uint8_t* data;
88-
ARROW_CHECK_OK(client.Create(object_id, data_size, metadata, metadata_size, &data));
89+
ARROW_CHECK_OK(client_.Create(object_id, data_size, metadata, metadata_size, &data));
8990
for (int64_t i = 0; i < data_size; i++) {
9091
data[i] = static_cast<uint8_t>(i % 4);
9192
}
92-
ARROW_CHECK_OK(client.Seal(object_id));
93+
ARROW_CHECK_OK(client_.Seal(object_id));
9394

94-
ARROW_CHECK_OK(client.Get(&object_id, 1, -1, &object_buffer));
95+
ARROW_CHECK_OK(client_.Get(&object_id, 1, -1, &object_buffer));
9596
for (int64_t i = 0; i < data_size; i++) {
9697
ASSERT_EQ(data[i], object_buffer.data[i]);
9798
}
98-
99-
ARROW_CHECK_OK(client.Disconnect());
100-
kill(store, SIGKILL);
10199
}
102100

103-
TEST(PlasmaClient, MultipleGetTest) {
104-
pid_t store = start_store();
105-
PlasmaClient client;
106-
ARROW_CHECK_OK(client.Connect("/tmp/store", "", PLASMA_DEFAULT_RELEASE_DELAY));
107-
101+
TEST_F(TestPlasmaStore, MultipleGetTest) {
108102
ObjectID object_id1 = ObjectID::from_random();
109103
ObjectID object_id2 = ObjectID::from_random();
110104
ObjectID object_ids[2] = {object_id1, object_id2};
@@ -114,18 +108,15 @@ TEST(PlasmaClient, MultipleGetTest) {
114108
uint8_t metadata[] = {5};
115109
int64_t metadata_size = sizeof(metadata);
116110
uint8_t* data;
117-
ARROW_CHECK_OK(client.Create(object_id1, data_size, metadata, metadata_size, &data));
111+
ARROW_CHECK_OK(client_.Create(object_id1, data_size, metadata, metadata_size, &data));
118112
data[0] = 1;
119-
ARROW_CHECK_OK(client.Seal(object_id1));
113+
ARROW_CHECK_OK(client_.Seal(object_id1));
120114

121-
ARROW_CHECK_OK(client.Create(object_id2, data_size, metadata, metadata_size, &data));
115+
ARROW_CHECK_OK(client_.Create(object_id2, data_size, metadata, metadata_size, &data));
122116
data[0] = 2;
123-
ARROW_CHECK_OK(client.Seal(object_id2));
117+
ARROW_CHECK_OK(client_.Seal(object_id2));
124118

125-
ARROW_CHECK_OK(client.Get(object_ids, 2, -1, object_buffer));
119+
ARROW_CHECK_OK(client_.Get(object_ids, 2, -1, object_buffer));
126120
ASSERT_EQ(object_buffer[0].data[0], 1);
127121
ASSERT_EQ(object_buffer[1].data[0], 2);
128-
129-
ARROW_CHECK_OK(client.Disconnect());
130-
kill(store, SIGKILL);
131122
}

0 commit comments

Comments
 (0)