from launcher import config
from launcher.utils import printc, Colors, get_gst_build_valgrind_suppressions
from launcher.main import setup_launcher_from_args
-from launcher.baseclasses import VALGRIND_TIMEOUT_FACTOR
+from launcher.baseclasses import VALGRIND_TIMEOUT_FACTOR, GstValidateTest
from launcher.apps.gstvalidate import GstValidateSimpleTest
+VALIDATE_TOOLS = ['gst-validate-1.0', 'gst-validate-1.0.exe',
+ 'ges-launch-1.0', 'ges-launch-1.0.exe',
+ 'gst-validate-transcoding-1.0', 'gst-validate-transcoding-1.0.exe',
+ 'gst-validate-media-check-1.0', 'gst-validate-media-check-1.0.exe',
+ ]
+
+
class MesonTest(Test):
def __init__(self, name, options, reporter, test_infos, child_env=None):
return env
+class GstValidateCheckTest(GstValidateTest):
+ def __init__(self, name, options, reporter, test_infos, child_env=None):
+ ref_env = os.environ.copy()
+ if child_env is None:
+ child_env = {}
+ else:
+ ref_env.update(child_env)
+
+ child_env.update(test_infos['env'])
+ self.child_env = child_env
+
+ timeout = int(test_infos['timeout'])
+ super().__init__(
+ test_infos['cmd'][0], name, options,
+ reporter, timeout=timeout, hard_timeout=timeout,
+ is_parallel=test_infos.get('is_parallel', True),
+ workdir=test_infos['workdir']
+ )
+
+ self.test_infos = test_infos
+
+ def build_arguments(self):
+ self.add_arguments(*self.test_infos['cmd'][1:])
+
+ def get_subproc_env(self):
+ env = super().get_subproc_env()
+ env.update(self.child_env)
+ for var, val in self.child_env.items():
+ if val != os.environ.get(var):
+ self.add_env_variable(var, val)
+
+ return env
+
class MesonTestsManager(TestsManager):
name = "mesontest"
self.options,
self.reporter))
continue
- if not gst_tests:
+ if os.path.basename(test['cmd'][0]) in VALIDATE_TOOLS:
+ child_env = self.get_child_env(name)
+ self.add_test(
+ GstValidateCheckTest(
+ name, self.options, self.reporter, test,
+ child_env
+ )
+ )
+ elif not gst_tests:
child_env = self.get_child_env(name)
self.add_test(GstCheckTest(name, self.options, self.reporter, test,
child_env))
options, reporter, duration=0,
timeout=DEFAULT_TIMEOUT, scenario=None, hard_timeout=None,
media_descriptor=None, extra_env_variables=None,
- expected_issues=None, workdir=None):
+ expected_issues=None, workdir=None, **kwargs):
extra_env_variables = extra_env_variables or {}
extra_env_variables["GST_VALIDATE_OVERRIDE"] = override_path
- super(GstValidateTest, self).__init__(application_name, classname,
- options, reporter,
- duration=duration,
- timeout=timeout,
- hard_timeout=hard_timeout,
- extra_env_variables=extra_env_variables,
- expected_issues=expected_issues,
- workdir=workdir)
+ super().__init__(application_name,
+ classname,
+ options, reporter,
+ duration=duration,
+ timeout=timeout,
+ hard_timeout=hard_timeout,
+ extra_env_variables=extra_env_variables,
+ expected_issues=expected_issues,
+ workdir=workdir,
+ **kwargs)
if media_descriptor and media_descriptor.get_media_filepath():
config_file = os.path.join(media_descriptor.get_media_filepath() + '.config')
if os.path.isfile(config_file):