tst_QStateMachine: Don't use unconditional waits

Instead use QSignalSpy to wait directly for the expected events.

Change-Id: I319302ea7177fe690b5d885347c505454904518e
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
bb10
Kari Oikarinen 2018-03-26 16:30:25 +03:00
parent 051228c9ba
commit 3e1ecdd74c
1 changed files with 5 additions and 2 deletions

View File

@ -4667,11 +4667,14 @@ void tst_QStateMachine::clonedSignals()
s1->addTransition(t1);
machine.setInitialState(s1);
QSignalSpy startedSpy(&machine, &QStateMachine::started);
machine.start();
QTest::qWait(1);
QVERIFY(startedSpy.wait());
QSignalSpy transitionSpy(t1, &CloneSignalTransition::triggered);
emitter.emitSignalWithDefaultArg();
QTest::qWait(1);
QTRY_COMPARE(transitionSpy.count(), 1);
QCOMPARE(t1->eventSignalIndex, emitter.metaObject()->indexOfSignal("signalWithDefaultArg()"));
TEST_ACTIVE_CHANGED(s1, 2);
TEST_ACTIVE_CHANGED(s2, 1);