config: suites_dir and scenarios_dir are now a list of paths
This allows inheriting suites or scenarios from eg. sysmocom/ dir, while
still allowing to apply new suites and scenarios on top.
Change-Id: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96
diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py
index a6eaca2..c55c5e9 100644
--- a/src/osmo_gsm_tester/core/suite.py
+++ b/src/osmo_gsm_tester/core/suite.py
@@ -232,12 +232,16 @@
if suite is not None:
return suite
- suites_dir = config.get_suites_dir()
- suite_dir = suites_dir.child(suite_name)
- if not suites_dir.exists(suite_name):
- raise RuntimeError('Suite not found: %r in %r' % (suite_name, suites_dir))
- if not suites_dir.isdir(suite_name):
- raise RuntimeError('Suite name found, but not a directory: %r' % (suite_dir))
+ suites_dirs = config.get_suites_dirs()
+ suite_dir = None
+ found = False
+ for d in suites_dirs:
+ suite_dir = d.child(suite_name)
+ if d.exists(suite_name) and d.isdir(suite_name):
+ found = True
+ break
+ if not found:
+ raise RuntimeError('Suite not found: %r in %r' % (suite_name, suites_dirs))
suite_def = SuiteDefinition(suite_dir)
loaded_suite_definitions[suite_name] = suite_def