void LibUsbThreadTest::testNonHotplug() { if (!m_context) { return; } ola::usb::LibUsbSimpleThread thread(m_context); OLA_ASSERT_TRUE(thread.Init()); AttemptDeviceOpen(&thread); }
void LibUsbThreadTest::testHotplug() { if (!m_context) { return; } ola::usb::LibUsbHotplugThread thread(m_context, hotplug_callback, NULL); OLA_ASSERT_TRUE(thread.Init()); AttemptDeviceOpen(&thread); thread.Shutdown(); }
/** * Send an unsolicited Robe messages */ void MockEndpoint::SendUnsolicitedRobeData( uint8_t response_label, const uint8_t *response_payload_data, unsigned int response_payload_size) { unsigned int response_size; uint8_t *response = BuildRobeMessage(response_label, response_payload_data, response_payload_size, &response_size); OLA_ASSERT_TRUE(m_descriptor->Send(response, response_size)); delete[] response; }
bool MockUDPSocket::RecvFrom(uint8_t *buffer, ssize_t *data_read, ola::network::IPV4Address &source, // NOLINT uint16_t &port) const { // NOLINT OLA_ASSERT_FALSE(m_received_data.empty()); const received_data &new_data = m_received_data.front(); OLA_ASSERT_TRUE(static_cast<unsigned int>(*data_read) >= new_data.size); unsigned int size = std::min(new_data.size, static_cast<unsigned int>(*data_read)); memcpy(buffer, new_data.data, size); *data_read = new_data.size; source = new_data.address; port = new_data.port; if (new_data.free_data) delete[] new_data.data; m_received_data.pop(); return true; }
/** * Called when there is new data available. Make sure it matches what we * expected and if there is return data send it. */ void MockEndpoint::DescriptorReady() { OLA_ASSERT_FALSE(m_expected_data.empty()); while (m_descriptor->DataRemaining()) { expected_data call = m_expected_data.front(); m_expected_data.pop(); uint8_t data[call.expected_data_frame.length]; unsigned int data_received = 0; while (data_received != call.expected_data_frame.length) { unsigned int offset = data_received; m_descriptor->Receive(data + offset, call.expected_data_frame.length - offset, data_received); data_received += offset; } OLA_ASSERT_DATA_EQUALS(call.expected_data_frame.data, call.expected_data_frame.length, data, data_received); if (call.free_request) delete[] call.expected_data_frame.data; if (call.send_response) OLA_ASSERT_TRUE(m_descriptor->Send(call.return_data_frame.data, call.return_data_frame.length)); if (call.callback) call.callback->Run(); if (call.free_response) delete[] call.return_data_frame.data; } }
/** * Send some data from this endpoint without having first received anything */ void MockEndpoint::SendUnsolicited(const uint8_t *data, unsigned int length) { OLA_ASSERT_TRUE(m_descriptor->Send(data, length)); }