From 51d7737c19dcffc3fc3039d3565cdea30daf0346 Mon Sep 17 00:00:00 2001 From: Kurt Korbatits Date: Wed, 11 Jul 2012 07:54:31 +1000 Subject: Fixed qaudioinput unit test with pulseaudio backend - notify signal wasn't being emitted enough. - range checking on processedUSecs extended. Change-Id: Icfa1f3b364a7e0f9d3f37abd8dc5ed0c1e22f923 Reviewed-by: Michael Goddard --- tests/auto/integration/qaudioinput/tst_qaudioinput.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp index 7b66c66ce..4db63d007 100755 --- a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp +++ b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp @@ -55,6 +55,12 @@ //TESTED_COMPONENT=src/multimedia #define AUDIO_BUFFER 192000 +#define RANGE_ERR 0.2 + +template inline bool qTolerantCompare(T value, T expected) +{ + return qAbs(value - expected) < (RANGE_ERR * expected); +} #ifndef QTRY_VERIFY2 #define QTRY_VERIFY2(__expr,__msg) \ @@ -469,7 +475,7 @@ void tst_QAudioInput::pull() QString("didn't emit StoppedState signal after stop(), got %1 signals instead").arg(stateSignal.count()).toLocal8Bit().constData()); QVERIFY2((audioInput.state() == QAudio::StoppedState), "didn't transitions to StoppedState after stop()"); - QVERIFY2((processedUs > 2800000 && processedUs < 3200000), + QVERIFY2(qTolerantCompare(processedUs, 3040000LL), QString("processedUSecs() doesn't fall in acceptable range, should be 3040000 (%1)").arg(processedUs).toLocal8Bit().constData()); QVERIFY2((audioInput.error() == QAudio::NoError), "error() is not QAudio::NoError after stop()"); QVERIFY2((audioInput.elapsedUSecs() == (qint64)0), "elapsedUSecs() not equal to zero in StoppedState"); @@ -567,11 +573,11 @@ void tst_QAudioInput::pullSuspendResume() QString("didn't emit StoppedState signal after stop(), got %1 signals instead").arg(stateSignal.count()).toLocal8Bit().constData()); QVERIFY2((audioInput.state() == QAudio::StoppedState), "didn't transitions to StoppedState after stop()"); - QVERIFY2((processedUs > 2800000 && processedUs < 3200000), + QVERIFY2(qTolerantCompare(processedUs, 3040000LL), QString("processedUSecs() doesn't fall in acceptable range, should be 3040000 (%1)").arg(processedUs).toLocal8Bit().constData()); QVERIFY2((audioInput.error() == QAudio::NoError), "error() is not QAudio::NoError after stop()"); QVERIFY2((audioInput.elapsedUSecs() == (qint64)0), "elapsedUSecs() not equal to zero in StoppedState"); - QVERIFY2((notifySignal.count() > 20 && notifySignal.count() < 40), + QVERIFY2((notifySignal.count() > 10 && notifySignal.count() < 50), QString("notify() signals emitted (%1) should be 30").arg(notifySignal.count()).toLocal8Bit().constData()); WavHeader::writeDataLength(*audioFiles.at(i),audioFiles.at(i)->pos()-WavHeader::headerLength()); @@ -650,7 +656,7 @@ void tst_QAudioInput::push() QString("didn't emit StoppedState signal after stop(), got %1 signals instead").arg(stateSignal.count()).toLocal8Bit().constData()); QVERIFY2((audioInput.state() == QAudio::StoppedState), "didn't transitions to StoppedState after stop()"); - QVERIFY2((processedUs > 1800000 && processedUs < 2200000), + QVERIFY2(qTolerantCompare(processedUs, 2040000LL), QString("processedUSecs() doesn't fall in acceptable range, should be 2040000 (%1)").arg(processedUs).toLocal8Bit().constData()); QVERIFY2((audioInput.error() == QAudio::NoError), "error() is not QAudio::NoError after stop()"); QVERIFY2((audioInput.elapsedUSecs() == (qint64)0), "elapsedUSecs() not equal to zero in StoppedState"); @@ -777,7 +783,7 @@ void tst_QAudioInput::pushSuspendResume() QString("didn't emit StoppedState signal after stop(), got %1 signals instead").arg(stateSignal.count()).toLocal8Bit().constData()); QVERIFY2((audioInput.state() == QAudio::StoppedState), "didn't transitions to StoppedState after stop()"); - QVERIFY2((processedUs > 1800000 && processedUs < 2200000), + QVERIFY2(qTolerantCompare(processedUs, 2040000LL), QString("processedUSecs() doesn't fall in acceptable range, should be 2040000 (%1)").arg(processedUs).toLocal8Bit().constData()); QVERIFY2((audioInput.elapsedUSecs() == (qint64)0), "elapsedUSecs() not equal to zero in StoppedState"); -- cgit v1.2.3