| 245 | } |
| 246 | |
| 247 | void |
| 248 | MultiThreadUnitTests::testMultiThreadSerialPortReadWrite() |
| 249 | { |
| 250 | // |
| 251 | // We must open the two serial ports before spawning the threads. |
| 252 | // Otherwise, one thread may flush the serial port I/O buffers *after* the |
| 253 | // other thread has already sent data. |
| 254 | // |
| 255 | serialPort1.Open(TEST_SERIAL_PORT_1) ; |
| 256 | serialPort1.SetBaudRate(BaudRate::BAUD_115200) ; |
| 257 | serialPort1.SetFlowControl(FlowControl::FLOW_CONTROL_HARDWARE) ; |
| 258 | |
| 259 | serialPort2.Open(TEST_SERIAL_PORT_2) ; |
| 260 | serialPort2.SetBaudRate(BaudRate::BAUD_115200) ; |
| 261 | serialPort2.SetFlowControl(FlowControl::FLOW_CONTROL_HARDWARE) ; |
| 262 | |
| 263 | std::thread serialPort1Thread(&MultiThreadUnitTests::serialPort1ThreadLoop, this) ; |
| 264 | std::thread serialPort2Thread(&MultiThreadUnitTests::serialPort2ThreadLoop, this) ; |
| 265 | |
| 266 | serialPort1Thread.join() ; |
| 267 | serialPort2Thread.join() ; |
| 268 | |
| 269 | serialPort1.Close() ; |
| 270 | serialPort2.Close() ; |
| 271 | } |
| 272 | |
| 273 | TEST_F(MultiThreadUnitTests, testMultiThreadSerialStreamReadWrite) |
| 274 | { |
nothing calls this directly
no test coverage detected