diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2015-08-27 12:16:15 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2015-08-27 12:47:46 +0000 |
commit | bec0b027f802d20dee00a33e9bc83d1d07b2dd42 (patch) | |
tree | 834ca6a957c25cb3841544e1b7fff5a978652755 /tests/auto | |
parent | 8f7cd12c08095c17e96c3baf2076679529742023 (diff) | |
download | qtserialport-bec0b027f802d20dee00a33e9bc83d1d07b2dd42.tar.gz |
Avoid to start of communication notifier if it already is active
This happens in the QSP::clear() method, where the WaitCommEvent()
function returns with an error "The parameter is incorrect",
because it calls when the waiting already is active.
Tested with the virtual com0com and on-board serial ports.
Change-Id: I351a336f2d3c05852a654e7bccc3ff84d7aba025
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qserialport/tst_qserialport.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/auto/qserialport/tst_qserialport.cpp b/tests/auto/qserialport/tst_qserialport.cpp index c5c9113..e49b1ff 100644 --- a/tests/auto/qserialport/tst_qserialport.cpp +++ b/tests/auto/qserialport/tst_qserialport.cpp @@ -112,6 +112,8 @@ private slots: void controlBreak(); + void clearAfterOpen(); + protected slots: void handleBytesWrittenAndExitLoopSlot(qint64 bytesWritten); void handleBytesWrittenAndExitLoopSlot2(qint64 bytesWritten); @@ -910,5 +912,14 @@ void tst_QSerialPort::controlBreak() QCOMPARE(qvariant_cast<bool>(breakSpy.at(1).at(0)), false); } +void tst_QSerialPort::clearAfterOpen() +{ + QSerialPort senderPort(m_senderPortName); + QVERIFY(senderPort.open(QSerialPort::ReadWrite)); + QCOMPARE(senderPort.error(), QSerialPort::NoError); + QVERIFY(senderPort.clear()); + QCOMPARE(senderPort.error(), QSerialPort::NoError); +} + QTEST_MAIN(tst_QSerialPort) #include "tst_qserialport.moc" |