From 97b58a893a3c9f93895611b2c4c1693489bbc4d2 Mon Sep 17 00:00:00 2001 From: dsilhavy Date: Fri, 22 Jul 2022 16:20:37 +0200 Subject: [PATCH] If play is failing I suspect some attributes such as isDynamic to be wrong making wrong assumptions in the functional tests. Query dynamic state directly via player API. --- test/functional/tests/pause.js | 3 ++- test/functional/tests/playFromTime.js | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/test/functional/tests/pause.js b/test/functional/tests/pause.js index 90f358027a..9735d42419 100644 --- a/test/functional/tests/pause.js +++ b/test/functional/tests/pause.js @@ -62,8 +62,9 @@ exports.register = function(stream) { await command.sleep(PAUSE_DELAY * 1000); const time = await command.execute(player.getTime); + const isDynamic = await command.execute(player.isDynamic); utils.log(NAME, 'Playback time = ' + time); - if (stream.dynamic) { + if (isDynamic) { // For dynamic streams, when paused, current time is progressing backward assert.isAtMost(time, (pauseTime - PAUSE_DELAY + 1)); // +1 for 1 sec tolerance } else { diff --git a/test/functional/tests/playFromTime.js b/test/functional/tests/playFromTime.js index 68df7b9b46..d3967a2fff 100644 --- a/test/functional/tests/playFromTime.js +++ b/test/functional/tests/playFromTime.js @@ -30,7 +30,8 @@ exports.register = function (stream) { utils.log(NAME, 'Load stream'); command = remote.get(intern.config.testPage); originalUrl = stream.url; - if (!stream.dynamic) { + const isDynamic = await command.execute(player.isDynamic); + if (!isDynamic) { let period = stream.periods[stream.periods.length - 1]; startTime = period.start + Math.min(TIME_OFFSET, period.duration - 5); stream.url += '#t=' + startTime; @@ -50,7 +51,8 @@ exports.register = function (stream) { utils.log(NAME, 'Play'); const playing = await command.executeAsync(player.isPlaying, [constants.EVENT_TIMEOUT]); assert.isTrue(playing); - const time = await command.execute(stream.dynamic ? player.getTimeAsUTC : player.getTime); + const isDynamic = await command.execute(player.isDynamic); + const time = await command.execute(isDynamic ? player.getTimeAsUTC : player.getTime); utils.log(NAME, 'Playback time: ' + time); assert.isAtLeast(time, startTime); assert.isAtMost(time, (startTime + 5));