diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-04-28 09:10:05 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-05-03 07:06:02 +0000 |
commit | c372655fdb00095a111940eda581f718f33d3521 (patch) | |
tree | 82f196f1c811151ad4b72d11dc297ea2f555b361 /tests | |
parent | c5509a04ce79a56f0f7cb8ecebfe5bc492c6ed75 (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.cpp | 21 |
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"); |