validate:launcher: Sync asset only when passing --sync

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1020>
This commit is contained in:
Thibault Saunier 2021-10-02 11:58:56 -03:00 committed by GStreamer Marge Bot
parent d189b0d0ec
commit ce76a286ed
4 changed files with 29 additions and 18 deletions

View file

@ -521,7 +521,7 @@ integration testsuites fedora:
extends: '.test fedora x86_64'
parallel: 4
variables:
EXTRA_VALIDATE_ARGS: "--timeout-factor=2 --retry-on-failures --check-bugs --parts=${CI_NODE_TOTAL} --part-index=${CI_NODE_INDEX}"
EXTRA_VALIDATE_ARGS: "--timeout-factor=2 --retry-on-failures --check-bugs --parts=${CI_NODE_TOTAL} --part-index=${CI_NODE_INDEX} --sync"
TEST_SUITE: "validate ges"
# gstreamer-full:

View file

@ -626,17 +626,6 @@ def setup_launcher_from_args(args, main_options=None):
if options.remote_assets_url and options.sync and not os.path.exists(options.clone_dir):
if not download_assets(options):
return False, None, None
for d in options.testsuites_dirs:
path = pathlib.Path(d).resolve()
if not path.as_posix().endswith('subprojects/gst-integration-testsuites/testsuites'):
continue
# Ensure we have gst-integration-testsuites media files.
subprocess.check_call(['git', 'submodule', 'update', '--init'],
cwd=utils.DEFAULT_GST_QA_ASSETS)
subprocess.check_call(['git', 'lfs', 'pull', '--exclude='],
cwd=pathlib.Path(utils.DEFAULT_GST_QA_ASSETS) / 'medias')
# Ensure that the scenario manager singleton is ready to be used
ScenarioManager().config = options
if not tests_launcher.set_settings(options, []):

View file

@ -21,23 +21,35 @@
The GES GstValidate default testsuite
"""
import os
import pathlib
import subprocess
from launcher import utils
from testsuiteutils import update_assets
from ges_known_issues import KNOWN_ISSUES
TEST_MANAGER = "ges"
def setup_tests(test_manager, options):
assets_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "medias", "defaults"))
assets_dir = os.path.abspath(os.path.join(
os.path.dirname(__file__), "..", "medias", "defaults"))
if options.sync:
if not update_assets(options, assets_dir):
return False
if not utils.USING_SUBPROJECT:
if not update_assets(options, assets_dir):
return False
else:
print("Syncing gst-integration-testsuites media files")
subprocess.check_call(['git', 'submodule', 'update', '--init'],
cwd=utils.DEFAULT_GST_QA_ASSETS)
subprocess.check_call(['git', 'lfs', 'pull', '--exclude='],
cwd=pathlib.Path(utils.DEFAULT_GST_QA_ASSETS) / 'medias')
options.add_paths(os.path.abspath(os.path.join(os.path.dirname(__file__),
"..", "medias", "defaults")))
projects_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "ges",
"ges-projects"))
scenarios_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "ges",
"scenarios"))
"scenarios"))
test_manager.add_expected_issues(KNOWN_ISSUES)
test_manager.register_defaults(projects_path, scenarios_path)
return True

View file

@ -23,9 +23,12 @@ The GstValidate default testsuite
import os
import glob
import pathlib
import re
import subprocess
from testsuiteutils import update_assets
from launcher import utils
from launcher.baseclasses import MediaFormatCombination
from launcher.apps.gstvalidate import GstValidateSimpleTestsGenerator
from validate_known_issues import KNOWN_ISSUES
@ -98,8 +101,15 @@ def setup_tests(test_manager, options):
assets_dir = os.path.realpath(os.path.join(testsuite_dir, os.path.pardir, "medias", "defaults"))
if options.sync:
if not update_assets(options, assets_dir):
return False
if not utils.USING_SUBPROJECT:
if not update_assets(options, assets_dir):
return False
else:
print("Syncing gst-integration-testsuites media files")
subprocess.check_call(['git', 'submodule', 'update', '--init'],
cwd=utils.DEFAULT_GST_QA_ASSETS)
subprocess.check_call(['git', 'lfs', 'pull', '--exclude='],
cwd=pathlib.Path(utils.DEFAULT_GST_QA_ASSETS) / 'medias')
options.add_paths(assets_dir)
options.set_http_server_dir(media_dir)