summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-04-28 09:10:05 +0200
committerLars Knoll <lars.knoll@qt.io>2021-05-03 07:06:02 +0000
commitc372655fdb00095a111940eda581f718f33d3521 (patch)
tree82f196f1c811151ad4b72d11dc297ea2f555b361 /tests
parentc5509a04ce79a56f0f7cb8ecebfe5bc492c6ed75 (diff)
Fix the remaining tst_qaudiooutput failures on gstreamer
Some streamlinking of the test code and a couple of fixes in the gstreamer backend so it behaves in all corner cases. Change-Id: Id9f00449dc1dfd9973d68a72d5b276692666713b Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp21
1 files changed, 7 insertions, 14 deletions
diff --git a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp
index 29a596df7..17ee8a875 100644
--- a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp
+++ b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp
@@ -656,10 +656,7 @@ void tst_QAudioOutput::pushSuspendResume()
audioOutput.suspend();
- // Give backends running in separate threads a chance to suspend.
- QTest::qWait(100);
-
- QVERIFY2((stateSignal.count() == 1),
+ QTRY_VERIFY2((stateSignal.count() == 1),
QString("didn't emit SuspendedState signal after suspend(), got %1 signals instead")
.arg(stateSignal.count()).toUtf8().constData());
QVERIFY2((audioOutput.state() == QAudio::SuspendedState), "didn't transition to SuspendedState after suspend()");
@@ -669,7 +666,7 @@ void tst_QAudioOutput::pushSuspendResume()
// Check that only 'elapsed', and not 'processed' increases while suspended
qint64 elapsedUs = audioOutput.elapsedUSecs();
qint64 processedUs = audioOutput.processedUSecs();
- QTest::qWait(1000);
+ QTest::qWait(100);
QVERIFY(audioOutput.elapsedUSecs() > elapsedUs);
QVERIFY(audioOutput.processedUSecs() == processedUs);
@@ -695,13 +692,11 @@ void tst_QAudioOutput::pushSuspendResume()
} else
QTest::qWait(20);
}
+ QVERIFY(audioOutput.state() != QAudio::IdleState);
stateSignal.clear();
- // Wait until playback finishes
- QTest::qWait(1000); // 1 seconds should be plenty
-
QVERIFY2(audioFile->atEnd(), "didn't play to EOF");
- QVERIFY(stateSignal.count() > 0);
+ QTRY_VERIFY(stateSignal.count() > 0);
QCOMPARE(qvariant_cast<QAudio::State>(stateSignal.last().at(0)), QAudio::IdleState);
QVERIFY2((audioOutput.state() == QAudio::IdleState), "didn't transitions to IdleState when at EOF");
stateSignal.clear();
@@ -783,7 +778,7 @@ void tst_QAudioOutput::pushUnderrun()
stateSignal.clear();
// Wait for data to be played
- QTest::qWait(1000);
+ QTest::qWait(700);
QVERIFY2((stateSignal.count() == 1),
QString("didn't emit IdleState signal after suspend(), got %1 signals instead")
@@ -813,10 +808,8 @@ void tst_QAudioOutput::pushUnderrun()
stateSignal.clear();
// Wait until playback finishes
- QTest::qWait(1000); // 1 seconds should be plenty
-
QVERIFY2(audioFile->atEnd(), "didn't play to EOF");
- QVERIFY2((stateSignal.count() == 1),
+ QTRY_VERIFY2((stateSignal.count() == 1),
QString("didn't emit IdleState signal when at EOF, got %1 signals instead").arg(stateSignal.count()).toUtf8().constData());
QVERIFY2((audioOutput.state() == QAudio::IdleState), "didn't transitions to IdleState when at EOF");
stateSignal.clear();
@@ -829,7 +822,7 @@ void tst_QAudioOutput::pushUnderrun()
QString("didn't emit StoppedState signal after stop(), got %1 signals instead").arg(stateSignal.count()).toUtf8().constData());
QVERIFY2((audioOutput.state() == QAudio::StoppedState), "didn't transitions to StoppedState after stop()");
- QVERIFY2((processedUs == 2000000),
+ QVERIFY2((processedUs == 1000000),
QString("processedUSecs() doesn't equal file duration in us (%1)").arg(processedUs).toUtf8().constData());
QVERIFY2((audioOutput.error() == QAudio::NoError), "error() is not QAudio::NoError after stop()");
QVERIFY2((audioOutput.elapsedUSecs() == (qint64)0), "elapsedUSecs() not equal to zero in StoppedState");