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/selftest/suite_test/paths.conf b/selftest/suite_test/paths.conf
index 2b0a274..a2f9124 100644
--- a/selftest/suite_test/paths.conf
+++ b/selftest/suite_test/paths.conf
@@ -1,2 +1,2 @@
 state_dir: ./test_work/state_dir
-suites_dir: .
+suites_dir: ['suitedirA', 'suitedirB']
diff --git a/selftest/suite_test/suite_test.ok b/selftest/suite_test/suite_test.ok
index d55317b..fee07d0 100644
--- a/selftest/suite_test/suite_test.ok
+++ b/selftest/suite_test/suite_test.ok
@@ -4,14 +4,15 @@
 {'default_suites_conf_path': '[PATH]/selftest/suite_test/default-suites.conf',
  'defaults_conf_path': '[PATH]/selftest/suite_test/defaults.conf',
  'resource_conf_path': '[PATH]/selftest/suite_test/resources.conf',
- 'scenarios_dir': '[PATH]/selftest/suite_test/scenarios',
+ 'scenarios_dir': ['[PATH]/selftest/suite_test/scenarios'],
  'state_dir': '[PATH]/selftest/suite_test/test_work/state_dir',
- 'suites_dir': '[PATH]/selftest/suite_test',
+ 'suites_dir': ['[PATH]/selftest/suite_test/suitedirA',
+                '[PATH]/selftest/suite_test/suitedirB'],
  'trial_dir': '[PATH]/selftest/suite_test/trial'}
---- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [PATH]/selftest/suite_test
+--- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [[PATH]/selftest/suite_test/suitedirA, [PATH]/selftest/suite_test/suitedirB]
 - no suite.conf
 cnf empty_dir: DBG: reading suite.conf
-cnf [PATH]/selftest/suite_test/empty_dir/suite.conf: ERR: FileNotFoundError: [Errno 2] No such file or directory: '[PATH]/selftest/suite_test/empty_dir/suite.conf'  [empty_dir↪[PATH]/selftest/suite_test/empty_dir/suite.conf]
+cnf [PATH]/selftest/suite_test/suitedirA/empty_dir/suite.conf: ERR: FileNotFoundError: [Errno 2] No such file or directory: '[PATH]/selftest/suite_test/suitedirA/empty_dir/suite.conf'  [empty_dir↪[PATH]/selftest/suite_test/suitedirA/empty_dir/suite.conf]
 - valid suite dir
 cnf test_suite: DBG: reading suite.conf
 defaults:
diff --git a/selftest/suite_test/empty_dir/.unrelated_file b/selftest/suite_test/suitedirA/empty_dir/.unrelated_file
similarity index 100%
rename from selftest/suite_test/empty_dir/.unrelated_file
rename to selftest/suite_test/suitedirA/empty_dir/.unrelated_file
diff --git a/selftest/suite_test/test_suite/hello_world.py b/selftest/suite_test/suitedirA/test_suite/hello_world.py
similarity index 100%
rename from selftest/suite_test/test_suite/hello_world.py
rename to selftest/suite_test/suitedirA/test_suite/hello_world.py
diff --git a/selftest/suite_test/test_suite/mo_mt_sms.py b/selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py
similarity index 100%
rename from selftest/suite_test/test_suite/mo_mt_sms.py
rename to selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py
diff --git a/selftest/suite_test/test_suite/mo_sms.py b/selftest/suite_test/suitedirA/test_suite/mo_sms.py
similarity index 100%
rename from selftest/suite_test/test_suite/mo_sms.py
rename to selftest/suite_test/suitedirA/test_suite/mo_sms.py
diff --git a/selftest/suite_test/test_suite/suite.conf b/selftest/suite_test/suitedirA/test_suite/suite.conf
similarity index 100%
rename from selftest/suite_test/test_suite/suite.conf
rename to selftest/suite_test/suitedirA/test_suite/suite.conf
diff --git a/selftest/suite_test/test_suite/test_error.py b/selftest/suite_test/suitedirA/test_suite/test_error.py
similarity index 100%
rename from selftest/suite_test/test_suite/test_error.py
rename to selftest/suite_test/suitedirA/test_suite/test_error.py
diff --git a/selftest/suite_test/test_suite/test_fail.py b/selftest/suite_test/suitedirA/test_suite/test_fail.py
similarity index 100%
rename from selftest/suite_test/test_suite/test_fail.py
rename to selftest/suite_test/suitedirA/test_suite/test_fail.py
diff --git a/selftest/suite_test/test_suite/test_fail_raise.py b/selftest/suite_test/suitedirA/test_suite/test_fail_raise.py
similarity index 100%
rename from selftest/suite_test/test_suite/test_fail_raise.py
rename to selftest/suite_test/suitedirA/test_suite/test_fail_raise.py
diff --git a/selftest/suite_test/test_suite/test_suite_params.py b/selftest/suite_test/suitedirA/test_suite/test_suite_params.py
similarity index 100%
rename from selftest/suite_test/test_suite/test_suite_params.py
rename to selftest/suite_test/suitedirA/test_suite/test_suite_params.py
diff --git a/selftest/suite_test/suitedirB/suiteB/suite.conf b/selftest/suite_test/suitedirB/suiteB/suite.conf
new file mode 100644
index 0000000..3645cd9
--- /dev/null
+++ b/selftest/suite_test/suitedirB/suiteB/suite.conf
@@ -0,0 +1,4 @@
+resources:
+
+defaults:
+  timeout: 60s
diff --git a/selftest/suite_test/suitedirB/suiteB/test_success.py b/selftest/suite_test/suitedirB/suiteB/test_success.py
new file mode 100755
index 0000000..97bb915
--- /dev/null
+++ b/selftest/suite_test/suitedirB/suiteB/test_success.py
@@ -0,0 +1,5 @@
+#!/usr/bin/env python3
+from osmo_gsm_tester.testenv import *
+
+print('I am %r / %r' % (tenv.suite().name(), test.name()))
+