@@ -1166,13 +1166,35 @@ test_wait(Connector<BUFFER, NetProvider> &client)
1166
1166
std::optional<Response<Buf_t>> response = conn.getResponse (f);
1167
1167
fail_unless (response.has_value ());
1168
1168
1169
+ TEST_CASE (" wait(0) polls connections" );
1170
+ f = conn.call (" remote_sleep" , std::forward_as_tuple (SLEEP_TIME));
1171
+ fail_unless (!conn.futureIsReady (f));
1172
+ while (!conn.futureIsReady (f)) {
1173
+ client.wait (conn, f, 0 );
1174
+ usleep (10 * 1000 ); /* 10ms */
1175
+ }
1176
+ fail_unless (conn.futureIsReady (f));
1177
+ response = conn.getResponse (f);
1178
+ fail_unless (response.has_value ());
1179
+
1169
1180
TEST_CASE (" waitAny(0) and waitAny(-1)" );
1170
1181
f = conn.call (" remote_sleep" , std::forward_as_tuple (SLEEP_TIME));
1171
1182
fail_unless (!client.waitAny (0 ).has_value ());
1172
1183
fail_unless (client.waitAny (-1 ).has_value ());
1173
1184
response = conn.getResponse (f);
1174
1185
fail_unless (response.has_value ());
1175
1186
1187
+ TEST_CASE (" waitAny(0) polls connections" );
1188
+ f = conn.call (" remote_sleep" , std::forward_as_tuple (SLEEP_TIME));
1189
+ fail_unless (!conn.futureIsReady (f));
1190
+ while (!conn.futureIsReady (f)) {
1191
+ client.waitAny (0 );
1192
+ usleep (10 * 1000 ); /* 10ms */
1193
+ }
1194
+ fail_unless (conn.futureIsReady (f));
1195
+ response = conn.getResponse (f);
1196
+ fail_unless (response.has_value ());
1197
+
1176
1198
TEST_CASE (" waitAll(0) and waitAll(-1)" );
1177
1199
std::vector<rid_t > fs;
1178
1200
fs.push_back (conn.call (" remote_sleep" , std::forward_as_tuple (SLEEP_TIME)));
@@ -1184,6 +1206,17 @@ test_wait(Connector<BUFFER, NetProvider> &client)
1184
1206
response = conn.getResponse (fs[1 ]);
1185
1207
fail_unless (response.has_value ());
1186
1208
1209
+ TEST_CASE (" waitAll(0) polls connections" );
1210
+ f = conn.call (" remote_sleep" , std::forward_as_tuple (SLEEP_TIME));
1211
+ fail_unless (!conn.futureIsReady (f));
1212
+ while (!conn.futureIsReady (f)) {
1213
+ client.waitAll (conn, std::vector<rid_t >{f}, 0 );
1214
+ usleep (10 * 1000 ); /* 10ms */
1215
+ }
1216
+ fail_unless (conn.futureIsReady (f));
1217
+ response = conn.getResponse (f);
1218
+ fail_unless (response.has_value ());
1219
+
1187
1220
TEST_CASE (" waitCount(0) and waitCount(-1)" );
1188
1221
fs.clear ();
1189
1222
fs.push_back (conn.call (" remote_sleep" , std::forward_as_tuple (SLEEP_TIME)));
@@ -1195,6 +1228,17 @@ test_wait(Connector<BUFFER, NetProvider> &client)
1195
1228
response = conn.getResponse (fs[1 ]);
1196
1229
fail_unless (response.has_value ());
1197
1230
1231
+ TEST_CASE (" waitCount(0) polls connections" );
1232
+ f = conn.call (" remote_sleep" , std::forward_as_tuple (SLEEP_TIME));
1233
+ fail_unless (!conn.futureIsReady (f));
1234
+ while (!conn.futureIsReady (f)) {
1235
+ client.waitCount (conn, 1 , 0 );
1236
+ usleep (10 * 1000 ); /* 10ms */
1237
+ }
1238
+ fail_unless (conn.futureIsReady (f));
1239
+ response = conn.getResponse (f);
1240
+ fail_unless (response.has_value ());
1241
+
1198
1242
client.close (conn);
1199
1243
}
1200
1244
0 commit comments