mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 03:19:40 +00:00
ea7ae57d3b
File distribution used to be messy, clean it all up. Also make sure the launcher is integrated into the autotools.
108 lines
4.2 KiB
Python
108 lines
4.2 KiB
Python
#!/usr//bin/python
|
|
#
|
|
# Copyright (c) 2014,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 os
|
|
import sys
|
|
import urlparse
|
|
from optparse import OptionParser
|
|
|
|
LIBDIR = '@LIBDIR@'
|
|
|
|
|
|
def _in_devel():
|
|
root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
return os.path.exists(os.path.join(root_dir, '.git'))
|
|
|
|
def _add_gst_launcher_path():
|
|
if not _in_devel():
|
|
root = os.path.join(LIBDIR, 'gst-validate-launcher', 'python')
|
|
sys.path.insert(0, root)
|
|
|
|
|
|
def main():
|
|
_add_gst_launcher_path()
|
|
|
|
from launcher import loggable
|
|
from launcher.baseclasses import _TestsLauncher
|
|
from launcher.utils import printc, path2url, DEFAULT_GST_QA_ASSETS
|
|
|
|
parser = OptionParser()
|
|
# FIXME:
|
|
#parser.add_option("-g", "--gdb", dest="gdb",
|
|
#action="store_true",
|
|
#default=False,
|
|
#help="Run applications into gdb")
|
|
#parser.add_option("-f", "--forever", dest="forever",
|
|
#action="store_true", default=False,
|
|
#help="Keep running tests until one fails")
|
|
#parser.add_option("-F", "--fatal-error", dest="fatal_error",
|
|
#action="store_true", default=False,
|
|
#help="Stop on first fail")
|
|
parser.add_option('--xunit-file', action='store',
|
|
dest='xunit_file', metavar="FILE",
|
|
default=None,
|
|
help=("Path to xml file to store the xunit report in. "
|
|
"Default is xunit.xml the logs-dir directory"))
|
|
parser.add_option("-t", "--wanted-tests", dest="wanted_tests",
|
|
default=None,
|
|
help="Define the tests to execute, it can be a regex")
|
|
parser.add_option("-L", "--list-tests",
|
|
dest="list_tests",
|
|
action="store_true",
|
|
default=False,
|
|
help="List tests and exit")
|
|
parser.add_option("-l", "--logs-dir", dest="logsdir",
|
|
action="store_true", default=os.path.expanduser("~/gst-validate/logs/"),
|
|
help="Directory where to store logs")
|
|
parser.add_option("-p", "--medias-paths", dest="paths",
|
|
default=[os.path.join(DEFAULT_GST_QA_ASSETS, "medias")],
|
|
help="Paths in which to look for media files")
|
|
parser.add_option("-m", "--mute", dest="mute",
|
|
action="store_true", default=False,
|
|
help="Mute playback output, which mean that we use "
|
|
"a fakesink")
|
|
parser.add_option("-o", "--output-path", dest="dest",
|
|
default=None,
|
|
help="Set the path to which projects should be"
|
|
" renderd")
|
|
loggable.init("GST_VALIDATE_LAUNCHER_DEBUG", True, False)
|
|
|
|
tests_launcher = _TestsLauncher()
|
|
tests_launcher.add_options(parser)
|
|
(options, args) = parser.parse_args()
|
|
if options.xunit_file is None:
|
|
options.xunit_file = os.path.join(options.logsdir, "xunit.xml")
|
|
if options.dest is None:
|
|
options.dest = os.path.join(options.logsdir, "rendered")
|
|
if urlparse.urlparse(options.dest).scheme == "":
|
|
options.dest = path2url(options.dest)
|
|
tests_launcher.set_settings(options, args)
|
|
tests_launcher.list_tests()
|
|
|
|
if options.list_tests:
|
|
for test in tests_launcher.tests:
|
|
printc(test)
|
|
return 0
|
|
|
|
tests_launcher.run_tests()
|
|
tests_launcher.final_report()
|
|
return 0
|
|
|
|
if "__main__" == __name__:
|
|
exit(main())
|