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

Method testSerialStreamIsDataAvailableTest

test/SerialStreamUnitTests.cpp:279–324  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

277}
278
279void
280SerialStreamUnitTests::testSerialStreamIsDataAvailableTest()
281{
282 serialStream1.Open(TEST_SERIAL_PORT_1) ;
283 serialStream2.Open(TEST_SERIAL_PORT_2) ;
284
285 ASSERT_TRUE(serialStream1.IsOpen()) ;
286 ASSERT_TRUE(serialStream2.IsOpen()) ;
287
288 ASSERT_FALSE(serialStream1.IsDataAvailable()) ;
289 ASSERT_FALSE(serialStream2.IsDataAvailable()) ;
290
291 char writeByte = 'a';
292 char readByte = 'b';
293
294 serialStream1.write(&writeByte, 1) ;
295 serialStream1.DrainWriteBuffer() ;
296
297 // Allow time for the read buffer to show that data is available.
298 usleep(readBufferDelay) ;
299
300 ASSERT_TRUE(serialStream2.IsDataAvailable()) ;
301
302 serialStream2.read(&readByte, 1) ;
303 ASSERT_EQ(readByte, writeByte) ;
304
305 serialStream2.write(&writeByte, 1) ;
306 serialStream2.DrainWriteBuffer() ;
307
308 // Allow time for the read buffer to show that data is available.
309 usleep(readBufferDelay) ;
310
311 ASSERT_TRUE(serialStream1.IsDataAvailable()) ;
312
313 serialStream1.read(&readByte, 1) ;
314 ASSERT_EQ(readByte, writeByte) ;
315
316 ASSERT_FALSE(serialStream1.IsDataAvailable()) ;
317 ASSERT_FALSE(serialStream2.IsDataAvailable()) ;
318
319 serialStream1.Close() ;
320 serialStream2.Close() ;
321
322 ASSERT_FALSE(serialStream1.IsOpen()) ;
323 ASSERT_FALSE(serialStream2.IsOpen()) ;
324}
325
326void
327SerialStreamUnitTests::testSerialStreamIsOpenTest()

Callers

nothing calls this directly

Calls 5

OpenMethod · 0.45
IsOpenMethod · 0.45
IsDataAvailableMethod · 0.45
DrainWriteBufferMethod · 0.45
CloseMethod · 0.45

Tested by

no test coverage detected