diff options
author | Thibault Saunier <tsaunier@gnome.org> | 2015-04-10 18:13:12 +0200 |
---|---|---|
committer | Thibault Saunier <tsaunier@gnome.org> | 2015-04-13 11:45:24 +0200 |
commit | f1aae74b0abc6b59b0145dfc318d527f47c93f43 (patch) | |
tree | c02ef362cad6aa4dbb8cee28470605cfd8f6c97f /testsuites | |
parent | 6161642f4ca41ec719ade07d5f36815939d90be8 (diff) |
testsuites: Implement asset updating ourself
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D91
Diffstat (limited to 'testsuites')
-rw-r--r-- | testsuites/testsuiteutils.py | 38 | ||||
-rw-r--r-- | testsuites/validate.py | 60 | ||||
-rw-r--r-- | testsuites/validateextra.py | 10 |
3 files changed, 74 insertions, 34 deletions
diff --git a/testsuites/testsuiteutils.py b/testsuites/testsuiteutils.py new file mode 100644 index 0000000..acd8c80 --- /dev/null +++ b/testsuites/testsuiteutils.py @@ -0,0 +1,38 @@ +# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python +# +# Copyright (c) 2015, Thibault Saunier <thibault.saunier@collabora.com> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the +# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301, USA. + + +import subprocess +from launcher import utils + +SYNC_ASSETS_COMMAND = "git fetch origin && git checkout origin/master && git annex get ." + +def update_assets(assets_dir): + try: + utils.launch_command("cd %s && %s" % (assets_dir, SYNC_ASSETS_COMMAND), + fails=True) + + except subprocess.CalledProcessError as e: + utils.printc("Could not update assets repository\n\nError: %s" + "\n\nMAKE SURE YOU HAVE git-annex INSTALLED!" % (e), + utils.Colors.FAIL, True) + + return False + + return True diff --git a/testsuites/validate.py b/testsuites/validate.py index 78b15b7..870c3fe 100644 --- a/testsuites/validate.py +++ b/testsuites/validate.py @@ -22,22 +22,25 @@ The GstValidate default testsuite """ import os +from testsuiteutils import update_assets -TEST_MANAGER = "validate" +TEST_MANAGER = "validate" + +BLACKLIST = [('validate.file.transcode.to_vorbis_and_vp8_in_webm.GH1_00094_1920x1280_MTS', + 'Got error: Internal data stream error. -- Debug message: mpegtsbase.c(1371):' + 'mpegts_base_loop (): ...: stream stopped, reason not-negotiated')] -BLACKLIST =[('validate.file.transcode.to_vorbis_and_vp8_in_webm.GH1_00094_1920x1280_MTS', - 'Got error: Internal data stream error. -- Debug message: mpegtsbase.c(1371):' - 'mpegts_base_loop (): ...: stream stopped, reason not-negotiated'), -] def setup_tests(test_manager, options): print("Setting up GstValidate default tests") - options.add_paths(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: + update_assets(assets_dir) + options.add_paths(assets_dir) options.set_http_server_dir(os.path.abspath(os.path.join(os.path.dirname(__file__), - "..", "medias"))) + "..", "medias"))) test_manager.set_default_blacklist(BLACKLIST) test_manager.register_defaults() @@ -51,30 +54,27 @@ def setup_tests(test_manager, options): for compositor in ["compositor", "glvideomixer"]: test_manager.add_generators( test_manager.GstValidateMixerTestsGenerator(compositor + ".simple", test_manager, - compositor, - "video", - converter="deinterlace ! videoconvert", - mixed_srcs={ - "synchronized": {"mixer_props": "sink_1::alpha=0.5 sink_1::xpos=50 sink_1::ypos=50", - "sources": - ("videotestsrc pattern=snow timestamp-offset=3000000000 ! 'video/x-raw,format=AYUV,width=640,height=480,framerate=(fraction)30/1' ! timeoverlay", - "videotestsrc pattern=smpte ! 'video/x-raw,format=AYUV,width=800,height=600,framerate=(fraction)10/1' ! timeoverlay")}, - "bgra": ("videotestsrc ! video/x-raw, framerate=\(fraction\)10/1, width=100, height=100", - "videotestsrc ! video/x-raw, framerate=\(fraction\)5/1, width=320, height=240") - }, - valid_scenarios=valid_mixing_scenarios)) + compositor, + "video", + converter="deinterlace ! videoconvert", + mixed_srcs={ + "synchronized": {"mixer_props": "sink_1::alpha=0.5 sink_1::xpos=50 sink_1::ypos=50", # noqa + "sources": + ("videotestsrc pattern=snow timestamp-offset=3000000000 ! 'video/x-raw,format=AYUV,width=640,height=480,framerate=(fraction)30/1' ! timeoverlay", # noqa + "videotestsrc pattern=smpte ! 'video/x-raw,format=AYUV,width=800,height=600,framerate=(fraction)10/1' ! timeoverlay")}, # noqa + "bgra": ("videotestsrc ! video/x-raw, framerate=\(fraction\)10/1, width=100, height=100", # noqa + "videotestsrc ! video/x-raw, framerate=\(fraction\)5/1, width=320, height=240") + }, + valid_scenarios=valid_mixing_scenarios)) test_manager.add_generators( test_manager.GstValidateMixerTestsGenerator("audiomixer.simple", test_manager, - "audiomixer", - "audio", - converter="audioconvert ! audioresample", - mixed_srcs={ - "basic": {"mixer_props": "", - "sources": - ("audiotestsrc wave=triangle", - "audiotestsrc wave=ticks")}, - }, - valid_scenarios=valid_mixing_scenarios)) + "audiomixer", + "audio", + converter="audioconvert ! audioresample", + mixed_srcs={"basic": {"mixer_props": "", + "sources": ("audiotestsrc wave=triangle", + "audiotestsrc wave=ticks")}}, + valid_scenarios=valid_mixing_scenarios)) return True diff --git a/testsuites/validateextra.py b/testsuites/validateextra.py index be9ce07..a5ba905 100644 --- a/testsuites/validateextra.py +++ b/testsuites/validateextra.py @@ -22,6 +22,7 @@ The GstValidate default testsuite """ import os +from testsuiteutils import update_assets TEST_MANAGER = "validate" @@ -39,8 +40,11 @@ BLACKLIST =[("validate.*reverse.*Sintel_2010_720p_mkv", def setup_tests(test_manager, options): print("Setting up GstValidate default tests") - options.add_paths(os.path.abspath(os.path.join(os.path.dirname(__file__), - "..", "medias", "big"))) + assets_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "medias", "big")) + if options.sync: + update_assets(assets_dir) + + options.add_paths(assets_dir) test_manager.set_default_blacklist(BLACKLIST) test_manager.register_defaults() test_manager.add_scenarios([ @@ -49,5 +53,3 @@ def setup_tests(test_manager, options): ]) return True - - |