cta-wave / dpctf-tests

Repo for DPCTF Tests. We prefer to keep the Tests separated from Test Runner
Other
2 stars 5 forks source link

DPCTF Tests

This repository contains tests for the DPCTF Test Runner. To deploy the test runner with the tests in this repository, please follow the instructions in the DPCTF Deploy project.

Generate Tests

To generate tests use the generate-tests.py script as follows

$ ./generate-tests.py <CSV-file> <destination-dir> [<mpd-root-dir>]

CSV-file: CSV file to generate tests from.
destination-dir: Directory to put generated tests into.
mpd-root-dir (optional): The root directory of relative local mpd paths.

CSV File Structure

Every row represents a generated test.

"<template-id>","<video-test-vector-url>","<audio-test-vector>","<group>"

template-id: What template to use.
video-test-vector-url: URL to the video test content.
audio-test-vector-url: URL to the audio test content.
group: Name to group the generated test by. A directory per group is created.

You can refer to the tests.csv for examples.

Templates

id file specification
sequential-track-playback sequential-track-playback.html 8.2
random-access-to-fragment random-access-to-fragment.html 8.3
random-access-to-time random-access-to-time.html 8.4
switching-set-playback switching-set-playback.html 8.5
regular-playback-of-chunked-content regular-playback-of-chunked-content.html 8.6
regular-playback-of-chunked-content-non-aligned-append regular-playback-of-chunked-content-non-aligned-append.html 8.7
playback-over-wave-baseline-splice-constraints playback-over-wave-baseline-splice-constraints.html 8.8
out-of-order-loading out-of-order-loading.html 8.9
overlapping-fragments overlapping-fragments.html 8.10
fullscreen-playback-of-switching-sets fullscreen-playback-of-switching-sets.html 8.11
playback-of-encrypted-content playback-of-encrypted-content.html 8.12
restricted-splicing-of-encrypted-content restricted-splicing-of-encrypted-content.html 8.13
sequential-playback-of-encrypted-and-non-encrypted-baseline-content sequential-playback-of-encrypted-and-non-encrypted-baseline-content.html 8.14
regular-playback-of-a-cmaf-presentation regular-playback-of-a-cmaf-presentation.html 9.2
random-access-of-a-wave-presentation random-access-of-a-wave-presentation.html 9.3
splicing-of-wave-program-with-baseline-constraints splicing-of-wave-program-with-baseline-constraints.html 9.4
source-buffer-re-initialization-without-changetype source-buffer-re-initialization-without-changetype.html 8.15
source-buffer-re-initialization-with-changetype source-buffer-re-initialization-with-changetype.html 8.16
buffer-underrun-and-recovery buffer-underrun-and-recovery.html 8.17
truncated-playback-and-restart truncated-playback-and-restart.html 8.18
long-duration-playback long-duration-playback.html 8.19
low-latency-initialization low-latency-initialization.html 8.20
low-latency-playback-over-gaps low-latency-playback-over-gaps.html 8.21
mse-appendwindow mse-appendwindow.html 8.22
low-latency-short-buffer-playback low-latency-short-buffer-playback.html 8.23
random-access-from-one-place-in-a-stream-to-a-different-place-in-the-same-stream random-access-from-one-place-in-a-stream-to-a-different-place-in-the-same-stream.html 8.24

Specification numbers refer to section numbers in the DPCTF specification.

Test configuration

Various parameters are used to configure the tests by specifying them in the test-config.json. A list of available parameters can be found here.

Run Tests

As mentioned in the beginning of this README, in order to run tests in an automated way, please follow the instructions in the DPCTF Deploy project.

If you need to run dedicated tests e.g. for debugging purposes without the need to deploy the entire test runner, you can use the tests hosted in the gh-pages branch. These tests are accessible via https://cta-wave.github.io/dpctf-tests/generated/path/to/test.html. path/to/test.html needs to be replaced with the path of the test you want to run within the generated test folder. Examples:

Creating new tests

To create new tests proceed as follows:

Known Bugs

Video not scaled properly

It may occur that the browser fails to load the required css stylesheet. As a result the video is not scale across the entire viewport. If you encouter this bug, please raise an issue.

"Script error."

Some DUTs may throw a "Script error" which is not part of the tests but included in the test results. Therefore, when evaluating test results, this error should be ignored.