MCPcopy Create free account
hub / github.com/crayzeewulf/libserial / testMultiThreadSerialStreamReadWrite

Method testMultiThreadSerialStreamReadWrite

test/MultiThreadUnitTests.cpp:221–245  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

219}
220
221void
222MultiThreadUnitTests::testMultiThreadSerialStreamReadWrite()
223{
224 //
225 // We must open the two serial ports before spawning the threads.
226 // Otherwise, one thread may flush the serial port I/O buffers *after* the
227 // other thread has already sent data.
228 //
229 serialStream1.Open(TEST_SERIAL_PORT_1) ;
230 serialStream1.SetBaudRate(BaudRate::BAUD_115200) ;
231 serialStream1.SetFlowControl(FlowControl::FLOW_CONTROL_HARDWARE) ;
232
233 serialStream2.Open(TEST_SERIAL_PORT_2) ;
234 serialStream2.SetBaudRate(BaudRate::BAUD_115200) ;
235 serialStream2.SetFlowControl(FlowControl::FLOW_CONTROL_HARDWARE) ;
236
237 std::thread serialStream1Thread(&MultiThreadUnitTests::serialStream1ThreadLoop, this) ;
238 std::thread serialStream2Thread(&MultiThreadUnitTests::serialStream2ThreadLoop, this) ;
239
240 serialStream1Thread.join() ;
241 serialStream2Thread.join() ;
242
243 serialStream1.Close() ;
244 serialStream2.Close() ;
245}
246
247void
248MultiThreadUnitTests::testMultiThreadSerialPortReadWrite()

Callers

nothing calls this directly

Calls 4

OpenMethod · 0.45
SetBaudRateMethod · 0.45
SetFlowControlMethod · 0.45
CloseMethod · 0.45

Tested by

no test coverage detected