void TestCommandReader::parse() { while (!isEmpty()) { IComposerClient::Command command; uint16_t length; ASSERT_TRUE(beginCommand(&command, &length)); switch (command) { case IComposerClient::Command::SET_ERROR: { ASSERT_EQ(2, length); auto loc = read(); auto err = readSigned(); GTEST_FAIL() << "unexpected error " << err << " at location " << loc; } break; case IComposerClient::Command::SELECT_DISPLAY: case IComposerClient::Command::SET_CHANGED_COMPOSITION_TYPES: case IComposerClient::Command::SET_DISPLAY_REQUESTS: case IComposerClient::Command::SET_PRESENT_FENCE: case IComposerClient::Command::SET_RELEASE_FENCES: break; default: GTEST_FAIL() << "unexpected return command " << std::hex << static_cast<int>(command); break; } endCommand(); } }
TEST(circular_buffer_tests, RandomWriteAndPeekOverrun) { const size_t LEN = 20; mrpt::containers::circular_buffer<cb_t> cb(LEN); for (size_t iter = 0; iter < 100; iter++) { const size_t nWr = mrpt::random::getRandomGenerator().drawUniform32bit() % LEN; for (size_t i = 0; i < nWr; i++) cb.push(i); cb_t ret; for (unsigned k = 0; k < 5; k++) { try { ret = cb.peek(nWr + k); GTEST_FAIL() << "Exception was expected but didn't happen!"; } catch (std::exception&) { // OK } } for (size_t i = 0; i < nWr; i++) cb.pop(ret); } }
void start_server(sp_uint32 port) { NetworkOptions options; options.set_host(LOCALHOST); options.set_port(port); options.set_max_packet_size(1024 * 1024); options.set_socket_family(PF_INET); EventLoopImpl ss; server_ = new OrderServer(&ss, options); if (server_->Start() != 0) GTEST_FAIL(); ss.loop(); }
void SendRequest(HTTPClient* client) { HTTPKeyValuePairs kvs; for (sp_uint32 i = 0; i < nkeys; i++) { std::ostringstream key, value; key << "key" << i; value << "value" << i; kvs.push_back(make_pair(key.str(), value.str())); } OutgoingHTTPRequest* request = new OutgoingHTTPRequest(LOCALHOST, port, "/meta", BaseHTTPRequest::GET, kvs); auto cb = [client](IncomingHTTPResponse* response) { RequestDone(client, response); }; if (client->SendRequest(request, std::move(cb)) != SP_OK) { GTEST_FAIL(); } nreqs++; }