QtCore autotests: use Qt::TimerId methods
Change-Id: I5812221b53de95129661638fe039ec98eed6be57 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
This commit is contained in:
parent
59563677c6
commit
70c47da843
@ -391,9 +391,9 @@ public:
|
|||||||
LiveLockTester(std::chrono::nanoseconds i)
|
LiveLockTester(std::chrono::nanoseconds i)
|
||||||
: interval(i)
|
: interval(i)
|
||||||
{
|
{
|
||||||
firstTimerId = startTimer(interval);
|
firstTimerId = Qt::TimerId{startTimer(interval)};
|
||||||
extraTimerId = startTimer(interval + 80ms);
|
extraTimerId = Qt::TimerId{startTimer(interval + 80ms)};
|
||||||
secondTimerId = -1; // started later
|
secondTimerId = Qt::TimerId::Invalid; // started later
|
||||||
}
|
}
|
||||||
|
|
||||||
bool event(QEvent *e) override
|
bool event(QEvent *e) override
|
||||||
@ -409,28 +409,28 @@ public:
|
|||||||
|
|
||||||
void timerEvent(QTimerEvent *te) override
|
void timerEvent(QTimerEvent *te) override
|
||||||
{
|
{
|
||||||
if (te->timerId() == firstTimerId) {
|
if (te->id() == firstTimerId) {
|
||||||
if (++timeoutsForFirst == 1) {
|
if (++timeoutsForFirst == 1) {
|
||||||
killTimer(extraTimerId);
|
killTimer(extraTimerId);
|
||||||
extraTimerId = -1;
|
extraTimerId = Qt::TimerId::Invalid;
|
||||||
QCoreApplication::postEvent(this, new QEvent(PostEventType));
|
QCoreApplication::postEvent(this, new QEvent(PostEventType));
|
||||||
secondTimerId = startTimer(interval);
|
secondTimerId = Qt::TimerId{startTimer(interval)};
|
||||||
}
|
}
|
||||||
} else if (te->timerId() == secondTimerId) {
|
} else if (te->id() == secondTimerId) {
|
||||||
++timeoutsForSecond;
|
++timeoutsForSecond;
|
||||||
} else if (te->timerId() == extraTimerId) {
|
} else if (te->id() == extraTimerId) {
|
||||||
++timeoutsForExtra;
|
++timeoutsForExtra;
|
||||||
}
|
}
|
||||||
|
|
||||||
// sleep for 2ms
|
// sleep for 2ms
|
||||||
QTest::qSleep(2);
|
QTest::qSleep(2);
|
||||||
killTimer(te->timerId());
|
killTimer(te->id());
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::chrono::nanoseconds interval;
|
const std::chrono::nanoseconds interval;
|
||||||
int firstTimerId = -1;
|
Qt::TimerId firstTimerId = Qt::TimerId::Invalid;
|
||||||
int secondTimerId = -1;
|
Qt::TimerId secondTimerId = Qt::TimerId::Invalid;
|
||||||
int extraTimerId = -1;
|
Qt::TimerId extraTimerId = Qt::TimerId::Invalid;
|
||||||
int timeoutsForFirst = 0;
|
int timeoutsForFirst = 0;
|
||||||
int timeoutsForExtra = 0;
|
int timeoutsForExtra = 0;
|
||||||
int timeoutsForSecond = 0;
|
int timeoutsForSecond = 0;
|
||||||
@ -646,7 +646,7 @@ void tst_QChronoTimer::newTimerFiresTooSoon()
|
|||||||
QTest::qWait(0 /*ms*/); // Clean up event queue from previous tests
|
QTest::qWait(0 /*ms*/); // Clean up event queue from previous tests
|
||||||
|
|
||||||
TimerListener listener;
|
TimerListener listener;
|
||||||
const int timerId = listener.startTimer(50ms, Qt::CoarseTimer);
|
const auto timerId = Qt::TimerId{listener.startTimer(50ms, Qt::CoarseTimer)};
|
||||||
QThread::sleep(100ms);
|
QThread::sleep(100ms);
|
||||||
|
|
||||||
// Force WM_TIMER events on Windows event queue
|
// Force WM_TIMER events on Windows event queue
|
||||||
@ -658,7 +658,7 @@ void tst_QChronoTimer::newTimerFiresTooSoon()
|
|||||||
|
|
||||||
// Act - Create new timer with long interval and make sure it does not immediately tick
|
// Act - Create new timer with long interval and make sure it does not immediately tick
|
||||||
TimerListener listener;
|
TimerListener listener;
|
||||||
const int timerId = listener.startTimer(60s, Qt::CoarseTimer);
|
const auto timerId = Qt::TimerId{listener.startTimer(60s, Qt::CoarseTimer)};
|
||||||
|
|
||||||
QTest::qWait(0 /*ms*/); // Process event queue - Should not call timerEvent
|
QTest::qWait(0 /*ms*/); // Process event queue - Should not call timerEvent
|
||||||
listener.killTimer(timerId);
|
listener.killTimer(timerId);
|
||||||
@ -806,7 +806,7 @@ void tst_QChronoTimer::timerIdPersistsAfterThreadExit()
|
|||||||
// even though the thread has exited, and the event dispatcher destroyed, the timer is still
|
// even though the thread has exited, and the event dispatcher destroyed, the timer is still
|
||||||
// "active", meaning the timer id should NOT be reused (i.e. the event dispatcher should not
|
// "active", meaning the timer id should NOT be reused (i.e. the event dispatcher should not
|
||||||
// have unregistered it)
|
// have unregistered it)
|
||||||
int timerId = thread.startTimer(100ms);
|
Qt::TimerId timerId = Qt::TimerId{thread.startTimer(100ms)};
|
||||||
QVERIFY((timerId & 0xffffff) != (thread.timerId & 0xffffff));
|
QVERIFY((timerId & 0xffffff) != (thread.timerId & 0xffffff));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -937,7 +937,7 @@ DontBlockEvents::DontBlockEvents()
|
|||||||
|
|
||||||
void DontBlockEvents::timerEvent(QTimerEvent* event)
|
void DontBlockEvents::timerEvent(QTimerEvent* event)
|
||||||
{
|
{
|
||||||
if (event->timerId() == m_timer.timerId()) {
|
if (event->id() == m_timer.id()) {
|
||||||
QMetaObject::invokeMethod(this, &DontBlockEvents::paintEvent, Qt::QueuedConnection);
|
QMetaObject::invokeMethod(this, &DontBlockEvents::paintEvent, Qt::QueuedConnection);
|
||||||
m_timer.start(0ms, this);
|
m_timer.start(0ms, this);
|
||||||
count++;
|
count++;
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
#include <QTcpSocket>
|
#include <QTcpSocket>
|
||||||
#include <QSignalSpy>
|
#include <QSignalSpy>
|
||||||
|
|
||||||
|
using namespace std::chrono_literals;
|
||||||
|
|
||||||
class EventLoopExiter : public QObject
|
class EventLoopExiter : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -475,29 +477,29 @@ void tst_QEventLoop::processEventsExcludeSocket()
|
|||||||
class TimerReceiver : public QObject
|
class TimerReceiver : public QObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int gotTimerEvent;
|
Qt::TimerId gotTimerEvent;
|
||||||
|
|
||||||
TimerReceiver()
|
TimerReceiver()
|
||||||
: QObject(), gotTimerEvent(-1)
|
: QObject(), gotTimerEvent(Qt::TimerId::Invalid)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
void timerEvent(QTimerEvent *event) override
|
void timerEvent(QTimerEvent *event) override
|
||||||
{
|
{
|
||||||
gotTimerEvent = event->timerId();
|
gotTimerEvent = event->id();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void tst_QEventLoop::processEventsExcludeTimers()
|
void tst_QEventLoop::processEventsExcludeTimers()
|
||||||
{
|
{
|
||||||
TimerReceiver timerReceiver;
|
TimerReceiver timerReceiver;
|
||||||
int timerId = timerReceiver.startTimer(0);
|
Qt::TimerId timerId = Qt::TimerId{timerReceiver.startTimer(0ns)};
|
||||||
|
|
||||||
QEventLoop eventLoop;
|
QEventLoop eventLoop;
|
||||||
|
|
||||||
// normal process events will send timers
|
// normal process events will send timers
|
||||||
eventLoop.processEvents();
|
eventLoop.processEvents();
|
||||||
QCOMPARE(timerReceiver.gotTimerEvent, timerId);
|
QCOMPARE(timerReceiver.gotTimerEvent, timerId);
|
||||||
timerReceiver.gotTimerEvent = -1;
|
timerReceiver.gotTimerEvent = Qt::TimerId::Invalid;
|
||||||
|
|
||||||
// but not if we exclude timers
|
// but not if we exclude timers
|
||||||
eventLoop.processEvents(QEventLoop::X11ExcludeTimers);
|
eventLoop.processEvents(QEventLoop::X11ExcludeTimers);
|
||||||
@ -512,13 +514,12 @@ void tst_QEventLoop::processEventsExcludeTimers()
|
|||||||
#endif
|
#endif
|
||||||
QEXPECT_FAIL("", "X11ExcludeTimers only supported in the UNIX/Glib dispatchers", Continue);
|
QEXPECT_FAIL("", "X11ExcludeTimers only supported in the UNIX/Glib dispatchers", Continue);
|
||||||
|
|
||||||
QCOMPARE(timerReceiver.gotTimerEvent, -1);
|
QCOMPARE(timerReceiver.gotTimerEvent, Qt::TimerId::Invalid);
|
||||||
timerReceiver.gotTimerEvent = -1;
|
|
||||||
|
|
||||||
// resume timer processing
|
// resume timer processing
|
||||||
eventLoop.processEvents();
|
eventLoop.processEvents();
|
||||||
QCOMPARE(timerReceiver.gotTimerEvent, timerId);
|
QCOMPARE(timerReceiver.gotTimerEvent, timerId);
|
||||||
timerReceiver.gotTimerEvent = -1;
|
timerReceiver.gotTimerEvent = Qt::TimerId::Invalid;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace DeliverInDefinedOrder {
|
namespace DeliverInDefinedOrder {
|
||||||
|
@ -478,9 +478,9 @@ public:
|
|||||||
timeoutsForFirst(0), timeoutsForExtra(0), timeoutsForSecond(0),
|
timeoutsForFirst(0), timeoutsForExtra(0), timeoutsForSecond(0),
|
||||||
postEventAtRightTime(false)
|
postEventAtRightTime(false)
|
||||||
{
|
{
|
||||||
firstTimerId = startTimer(interval);
|
firstTimerId = Qt::TimerId{startTimer(interval)};
|
||||||
extraTimerId = startTimer(interval + 80ms);
|
extraTimerId = Qt::TimerId{startTimer(interval + 80ms)};
|
||||||
secondTimerId = -1; // started later
|
secondTimerId = Qt::TimerId::Invalid; // started later
|
||||||
}
|
}
|
||||||
|
|
||||||
bool event(QEvent *e) override
|
bool event(QEvent *e) override
|
||||||
@ -496,28 +496,28 @@ public:
|
|||||||
|
|
||||||
void timerEvent(QTimerEvent *te) override
|
void timerEvent(QTimerEvent *te) override
|
||||||
{
|
{
|
||||||
if (te->timerId() == firstTimerId) {
|
if (te->id() == firstTimerId) {
|
||||||
if (++timeoutsForFirst == 1) {
|
if (++timeoutsForFirst == 1) {
|
||||||
killTimer(extraTimerId);
|
killTimer(extraTimerId);
|
||||||
extraTimerId = -1;
|
extraTimerId = Qt::TimerId::Invalid;
|
||||||
QCoreApplication::postEvent(this, new QEvent(static_cast<QEvent::Type>(4002)));
|
QCoreApplication::postEvent(this, new QEvent(static_cast<QEvent::Type>(4002)));
|
||||||
secondTimerId = startTimer(interval);
|
secondTimerId = Qt::TimerId{startTimer(interval)};
|
||||||
}
|
}
|
||||||
} else if (te->timerId() == secondTimerId) {
|
} else if (te->id() == secondTimerId) {
|
||||||
++timeoutsForSecond;
|
++timeoutsForSecond;
|
||||||
} else if (te->timerId() == extraTimerId) {
|
} else if (te->id() == extraTimerId) {
|
||||||
++timeoutsForExtra;
|
++timeoutsForExtra;
|
||||||
}
|
}
|
||||||
|
|
||||||
// sleep for 2ms
|
// sleep for 2ms
|
||||||
QTest::qSleep(2);
|
QTest::qSleep(2);
|
||||||
killTimer(te->timerId());
|
killTimer(te->id());
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::chrono::milliseconds interval;
|
const std::chrono::milliseconds interval;
|
||||||
int firstTimerId;
|
Qt::TimerId firstTimerId;
|
||||||
int secondTimerId;
|
Qt::TimerId secondTimerId;
|
||||||
int extraTimerId;
|
Qt::TimerId extraTimerId;
|
||||||
int timeoutsForFirst;
|
int timeoutsForFirst;
|
||||||
int timeoutsForExtra;
|
int timeoutsForExtra;
|
||||||
int timeoutsForSecond;
|
int timeoutsForSecond;
|
||||||
@ -1138,7 +1138,7 @@ DontBlockEvents::DontBlockEvents()
|
|||||||
|
|
||||||
void DontBlockEvents::timerEvent(QTimerEvent* event)
|
void DontBlockEvents::timerEvent(QTimerEvent* event)
|
||||||
{
|
{
|
||||||
if (event->timerId() == m_timer.timerId()) {
|
if (event->id() == m_timer.id()) {
|
||||||
QMetaObject::invokeMethod(this, "paintEvent", Qt::QueuedConnection);
|
QMetaObject::invokeMethod(this, "paintEvent", Qt::QueuedConnection);
|
||||||
m_timer.start(0, this);
|
m_timer.start(0, this);
|
||||||
count++;
|
count++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user