mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 04:00:37 +00:00
validate:launcher: Let the responsibility to update asset to the testsuite
Summary: It makes it easier to make sure that the assets needed for a specific testsuite are available when needed Reviewers: Mathieu_Du Differential Revision: http://phabricator.freedesktop.org/D92
This commit is contained in:
parent
101ed96b5a
commit
5a6d6b9475
1 changed files with 3 additions and 45 deletions
|
@ -17,7 +17,6 @@
|
||||||
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
||||||
# Boston, MA 02110-1301, USA.
|
# Boston, MA 02110-1301, USA.
|
||||||
import os
|
import os
|
||||||
import re
|
|
||||||
import sys
|
import sys
|
||||||
import utils
|
import utils
|
||||||
import urlparse
|
import urlparse
|
||||||
|
@ -138,37 +137,9 @@ QA_ASSETS = "gst-integration-testsuites"
|
||||||
MEDIAS_FOLDER = "medias"
|
MEDIAS_FOLDER = "medias"
|
||||||
DEFAULT_GST_QA_ASSETS_REPO = "git://anongit.freedesktop.org/gstreamer/gst-integration-testsuites"
|
DEFAULT_GST_QA_ASSETS_REPO = "git://anongit.freedesktop.org/gstreamer/gst-integration-testsuites"
|
||||||
OLD_DEFAULT_GST_QA_ASSETS_REPO = "https://gitlab.com/thiblahute/gst-integration-testsuites.git"
|
OLD_DEFAULT_GST_QA_ASSETS_REPO = "https://gitlab.com/thiblahute/gst-integration-testsuites.git"
|
||||||
DEFAULT_SYNC_ASSET_COMMAND = "git fetch origin && git checkout origin/master && git annex get medias/defaults/"
|
|
||||||
DEFAULT_SYNC_ALL_ASSET_COMMAND = "git fetch origin && git checkout origin/master && git annex get ."
|
|
||||||
DEFAULT_TESTSUITES_DIR = os.path.join(DEFAULT_MAIN_DIR, QA_ASSETS, "testsuites")
|
DEFAULT_TESTSUITES_DIR = os.path.join(DEFAULT_MAIN_DIR, QA_ASSETS, "testsuites")
|
||||||
|
|
||||||
|
|
||||||
def update_assets(options):
|
|
||||||
try:
|
|
||||||
if options.remote_assets_url == DEFAULT_GST_QA_ASSETS_REPO:
|
|
||||||
if re.findall("origin.*%s" % OLD_DEFAULT_GST_QA_ASSETS_REPO,
|
|
||||||
subprocess.check_output("cd %s && git remote -v" % options.clone_dir, shell=True)):
|
|
||||||
launch_command("cd %s && git remote set-url origin %s" % (options.clone_dir,
|
|
||||||
DEFAULT_GST_QA_ASSETS_REPO))
|
|
||||||
|
|
||||||
launch_command("cd %s && %s" % (options.clone_dir,
|
|
||||||
options.update_assets_command),
|
|
||||||
fails=True)
|
|
||||||
|
|
||||||
except subprocess.CalledProcessError as e:
|
|
||||||
if "annex" in options.update_assets_command:
|
|
||||||
m = "\n\nMAKE SURE YOU HAVE git-annex INSTALLED!"
|
|
||||||
else:
|
|
||||||
m = ""
|
|
||||||
|
|
||||||
printc("Could not update assets repository\n\nError: %s%s" % (e, m),
|
|
||||||
Colors.FAIL, True)
|
|
||||||
|
|
||||||
return False
|
|
||||||
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
def download_assets(options):
|
def download_assets(options):
|
||||||
try:
|
try:
|
||||||
launch_command("%s %s %s" % (options.get_assets_command,
|
launch_command("%s %s %s" % (options.get_assets_command,
|
||||||
|
@ -235,7 +206,6 @@ class LauncherConfig(Loggable):
|
||||||
self.http_bandwith = 1024 * 1024
|
self.http_bandwith = 1024 * 1024
|
||||||
self.http_server_dir = None
|
self.http_server_dir = None
|
||||||
self.httponly = False
|
self.httponly = False
|
||||||
self.update_assets_command = DEFAULT_SYNC_ASSET_COMMAND
|
|
||||||
self.get_assets_command = "git clone"
|
self.get_assets_command = "git clone"
|
||||||
self.remote_assets_url = DEFAULT_GST_QA_ASSETS_REPO
|
self.remote_assets_url = DEFAULT_GST_QA_ASSETS_REPO
|
||||||
self.sync = False
|
self.sync = False
|
||||||
|
@ -293,8 +263,6 @@ class LauncherConfig(Loggable):
|
||||||
|
|
||||||
if self.sync_all is True:
|
if self.sync_all is True:
|
||||||
self.sync = True
|
self.sync = True
|
||||||
if self.update_assets_command == DEFAULT_SYNC_ASSET_COMMAND:
|
|
||||||
self.update_assets_command = DEFAULT_SYNC_ALL_ASSET_COMMAND
|
|
||||||
|
|
||||||
if not self.sync and not os.path.exists(self.clone_dir) and \
|
if not self.sync and not os.path.exists(self.clone_dir) and \
|
||||||
self.clone_dir == os.path.join(self.clone_dir, MEDIAS_FOLDER):
|
self.clone_dir == os.path.join(self.clone_dir, MEDIAS_FOLDER):
|
||||||
|
@ -465,9 +433,6 @@ Note that all testsuite should be inside python modules, so the directory should
|
||||||
help="Start the http server and quit")
|
help="Start the http server and quit")
|
||||||
|
|
||||||
assets_group = parser.add_argument_group("Handle remote assets")
|
assets_group = parser.add_argument_group("Handle remote assets")
|
||||||
assets_group.add_argument(
|
|
||||||
"-u", "--update-assets-command", dest="update_assets_command",
|
|
||||||
help="Command to update assets")
|
|
||||||
assets_group.add_argument(
|
assets_group.add_argument(
|
||||||
"--get-assets-command", dest="get_assets_command",
|
"--get-assets-command", dest="get_assets_command",
|
||||||
help="Command to get assets")
|
help="Command to get assets")
|
||||||
|
@ -497,17 +462,10 @@ Note that all testsuite should be inside python modules, so the directory should
|
||||||
if not options.cleanup():
|
if not options.cleanup():
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
if options.remote_assets_url and options.sync:
|
if options.remote_assets_url and options.sync and not os.path.exists(options.clone_dir):
|
||||||
if os.path.exists(options.clone_dir):
|
|
||||||
if not update_assets(options):
|
|
||||||
exit(1)
|
|
||||||
else:
|
|
||||||
if not download_assets(options):
|
if not download_assets(options):
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
if not update_assets(options):
|
|
||||||
exit(1)
|
|
||||||
|
|
||||||
tests_launcher.set_settings(options, [])
|
tests_launcher.set_settings(options, [])
|
||||||
|
|
||||||
# Ensure that the scenario manager singleton is ready to be used
|
# Ensure that the scenario manager singleton is ready to be used
|
||||||
|
|
Loading…
Reference in a new issue