From 28bd6ee17a481585ee74c434ddb1d10f47047cda Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Mon, 28 Apr 2014 13:08:09 +0200 Subject: [PATCH] launcher: Now using git annex to handle media files --- validate/tools/launcher/baseclasses.py | 1 - validate/tools/launcher/main.py | 12 +++++++++--- validate/tools/launcher/utils.py | 6 ++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/validate/tools/launcher/baseclasses.py b/validate/tools/launcher/baseclasses.py index fad536e442..a2fc5e3106 100644 --- a/validate/tools/launcher/baseclasses.py +++ b/validate/tools/launcher/baseclasses.py @@ -612,7 +612,6 @@ class _TestsLauncher(Loggable): total_num_tests = 0 for tester in self.testers: total_num_tests += len(tester.list_tests()) - print total_num_tests for tester in self.testers: res = tester.run_tests(cur_test_num, total_num_tests) diff --git a/validate/tools/launcher/main.py b/validate/tools/launcher/main.py index 9f5ce5fa52..41851a3a37 100644 --- a/validate/tools/launcher/main.py +++ b/validate/tools/launcher/main.py @@ -107,7 +107,8 @@ def main(): assets_group = OptionGroup(parser, "Handle remote assets") assets_group.add_option("-u", "--update-assets-command", dest="update_assets_command", - default="git pull --rebase", + default="git fetch %s && git checkout FETCH_HEAD && git annex get ." + % (DEFAULT_GST_QA_ASSETS_REPO, ), help="Command to update assets") assets_group.add_option("", "--get-assets-command", dest="get_assets_command", default="git clone", @@ -178,11 +179,16 @@ def main(): if options.remote_assets_url and options.sync: if os.path.exists(options.clone_dir): launch_command("cd %s && %s" % (options.clone_dir, - options.update_assets_command)) + options.update_assets_command), + fails=True) else: launch_command("%s %s %s" % (options.get_assets_command, options.remote_assets_url, - options.clone_dir)) + options.clone_dir), + fails=True) + launch_command("cd %s && %s" % (options.clone_dir, + options.update_assets_command), + fails=True) # Ensure that the scenario manager singleton is ready to be used ScenarioManager().config = options diff --git a/validate/tools/launcher/utils.py b/validate/tools/launcher/utils.py index 7dce3f3424..6d598857cc 100644 --- a/validate/tools/launcher/utils.py +++ b/validate/tools/launcher/utils.py @@ -123,9 +123,11 @@ def printc(message, color="", title=False): sys.stdout.flush() -def launch_command(command, color=None): +def launch_command(command, color=None, fails=False): printc(command, Colors.OKGREEN, True) - os.system(command) + res = os.system(command) + if res != 0 and fails is True: + raise subprocess.CalledProcessError(res, "%s failed" % command) def path2url(path):