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