validate: Let testsuites define scenarios path

The code was not taking into account the fact that testsuite could be
located in a different folder that the default one.

Now the testsuite is responsible for providing a path if it wants
to set extra scenarios or the user can set one by hand.
This commit is contained in:
Thibault Saunier 2018-07-23 00:07:07 -04:00
parent fd029e1251
commit d6d8f35563

View file

@ -280,9 +280,7 @@ Available options:""")
"ges-projects"), "ges-projects"),
help="Paths in which to look for moved medias") help="Paths in which to look for moved medias")
group.add_argument("--ges-scenario-paths", dest="scenarios_path", group.add_argument("--ges-scenario-paths", dest="scenarios_path",
default=os.path.join(utils.DEFAULT_GST_QA_ASSETS, default=None,
"ges",
"scenarios"),
help="Paths in which to look for moved medias") help="Paths in which to look for moved medias")
group.add_argument("-r", "--disable-recurse-paths", dest="disable_recurse", group.add_argument("-r", "--disable-recurse-paths", dest="disable_recurse",
default=False, action="store_true", default=False, action="store_true",
@ -300,7 +298,7 @@ Available options:""")
def list_tests(self): def list_tests(self):
return self.tests return self.tests
def register_defaults(self, project_paths=None): def register_defaults(self, project_paths=None, scenarios_path=None):
projects = list() projects = list()
all_scenarios = list() all_scenarios = list()
if not self.args: if not self.args:
@ -315,7 +313,11 @@ Available options:""")
continue continue
projects.append(utils.path2url(os.path.join(path, root, f))) projects.append(utils.path2url(os.path.join(path, root, f)))
for root, dirs, files in os.walk(self.options.scenarios_path): if self.options.scenarios_path:
scenarios_path = self.options.scenarios_path
if scenarios_path:
for root, dirs, files in os.walk(scenarios_path):
for f in files: for f in files:
if not f.endswith(".scenario"): if not f.endswith(".scenario"):
continue continue
@ -364,6 +366,7 @@ Available options:""")
self.reporter, project, self.reporter, project,
combination=comb) combination=comb)
) )
if all_scenarios:
for scenario in self._scenarios.discover_scenarios(all_scenarios): for scenario in self._scenarios.discover_scenarios(all_scenarios):
classname = "scenario.%s" % scenario.name classname = "scenario.%s" % scenario.name
self.add_test(GESScenarioTest(classname, self.add_test(GESScenarioTest(classname,