diff --git a/.circleci/config.yml b/.circleci/config.yml index 28d8e80352..0eb4198b62 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -69,14 +69,14 @@ commands: protocol: default: "https" type: string - streams: - default: "all" + groupname: + default: "" type: string steps: - run: - name: Run functional tests (<> / <>) <> + name: Run functional tests (<> / <>) <> command: - node test/functional/runTests.js --selenium=remote --reporters=junit --app=remote --browsers=<> --protocol=<> --streams="<>" + node test/functional/runTests.js --selenium=remote --reporters=junit --app=remote --browsers=<> --protocol=<> --groupname="<>" jobs: build-and-unit-test: executor: dashjs-executor @@ -142,11 +142,11 @@ jobs: steps: - functional_steps - run_test_suite: - streams: VOD (Static MPD) + groupname: VOD (Static MPD) - run_test_suite: - streams: LIVE (Dynamic MPD) + groupname: LIVE (Dynamic MPD) - run_test_suite: - streams: Live Low Latency + groupname: Live Low Latency - store_test_results: path: test/functional/reports @@ -155,9 +155,9 @@ jobs: steps: - functional_steps - run_test_suite: - streams: DRM (modern) + groupname: DRM (modern) - run_test_suite: - streams: DRM Content (conservative/legacy) + groupname: DRM Content (conservative/legacy) - store_test_results: path: test/functional/reports @@ -166,13 +166,13 @@ jobs: steps: - functional_steps - run_test_suite: - streams: Subtitles and Captions + groupname: Subtitles and Captions - run_test_suite: - streams: Thumbnails + groupname: Thumbnails - run_test_suite: - streams: Audio-only + groupname: Audio-only - run_test_suite: - streams: Smooth Streaming + groupname: Smooth Streaming - store_test_results: path: test/functional/reports diff --git a/test/functional/runTests.js b/test/functional/runTests.js index 1c7540beeb..10f704bea7 100644 --- a/test/functional/runTests.js +++ b/test/functional/runTests.js @@ -59,6 +59,10 @@ var args = yargs describe: 'Output log/debug messages', type: 'boolean', default: 'false' + }, + 'groupname': { + describe: 'Group name that the stream needs to belong to. Only applied if a groupname is present such as in the list of reference vectors.', + default: '' } }) .parse(); @@ -199,6 +203,10 @@ if (args.mpd !== '') { config.mpd = args.mpd; } +if (args.groupname !== '') { + config.groupname = args.groupname; +} + config.source = args.source; // Debug logs diff --git a/test/functional/streams.js b/test/functional/streams.js index 8ac87f7f8f..eeb11c21f8 100644 --- a/test/functional/streams.js +++ b/test/functional/streams.js @@ -16,6 +16,7 @@ module.exports.getStreams = function () { if(stream.url.substr(0,2) === '//') { stream.url = intern.config.protocol + ':' + stream.url; } + stream.groupName = groupName; streams.push(stream); } } @@ -30,6 +31,13 @@ module.exports.getStreams = function () { }); } + // Filter streams if groupname is set + if (intern.config.groupname) { + streams = streams.filter(stream => { + return intern.config.groupname == stream.groupName; + }); + } + // If input manifest url is provided then use it if (intern.config.mpd) { streams = [{