From 7076711abc859297bf761b34e4fe37ed69b0f921 Mon Sep 17 00:00:00 2001 From: Piotr Srebrny Date: Mon, 22 Aug 2022 10:18:54 +0200 Subject: Validate array length before accessing elements to avoid ASSERTs Always validate the array length before accessing the elements. Otherwise, we get ASSERT from the QList that exit() the tests without indicating the failure point (which occurred to me). Change-Id: I66a79b8b90261836cec1dfc18bd0719008cefb9c Reviewed-by: Lars Knoll (cherry picked from commit e613d48299508189bdb2dd5e4f51ed13b866cc5f) Reviewed-by: Qt Cherry-pick Bot --- .../integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index afce5052f..aae70cb43 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -410,6 +410,7 @@ void tst_QMediaPlayerBackend::playPauseStop() //ensure the position is reset to 0 at stop and positionChanged(0) is emitted QTRY_COMPARE(player.position(), qint64(0)); + QTRY_VERIFY(positionSpy.count() > 0); QCOMPARE(positionSpy.last()[0].value(), qint64(0)); QVERIFY(player.duration() > 0); @@ -446,9 +447,12 @@ void tst_QMediaPlayerBackend::playPauseStop() player.setSource(localWavFile); QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::LoadedMedia); + QTRY_VERIFY(statusSpy.count() > 0); QCOMPARE(statusSpy.last()[0].value(), QMediaPlayer::LoadedMedia); QCOMPARE(player.playbackState(), QMediaPlayer::StoppedState); + QTRY_VERIFY(stateSpy.count() > 0); QCOMPARE(stateSpy.last()[0].value(), QMediaPlayer::StoppedState); + QTRY_VERIFY(positionSpy.count() > 0); QCOMPARE(player.position(), 0); QCOMPARE(positionSpy.last()[0].value(), 0); @@ -463,9 +467,12 @@ void tst_QMediaPlayerBackend::playPauseStop() player.setSource(QUrl()); QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::NoMedia); + QTRY_VERIFY(statusSpy.count() > 0); QCOMPARE(statusSpy.last()[0].value(), QMediaPlayer::NoMedia); QCOMPARE(player.playbackState(), QMediaPlayer::StoppedState); + QTRY_VERIFY(stateSpy.count() > 0); QCOMPARE(stateSpy.last()[0].value(), QMediaPlayer::StoppedState); + QTRY_VERIFY(positionSpy.count() > 0); QCOMPARE(player.position(), 0); QCOMPARE(positionSpy.last()[0].value(), 0); QCOMPARE(player.duration(), 0); -- cgit v1.2.3