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();
  }
}
Ejemplo n.º 2
0
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);
	}
}
Ejemplo n.º 3
0
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();
}
Ejemplo n.º 4
0
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++;
}