Allow suites to dynamically register schemas so tests can receive parameters

Change-Id: Idbe99a35993d193cd97059feb980e61ff14c67ad
diff --git a/selftest/suite_test/test_suite/suite.conf b/selftest/suite_test/test_suite/suite.conf
index 925dedb..4b70be8 100644
--- a/selftest/suite_test/test_suite/suite.conf
+++ b/selftest/suite_test/test_suite/suite.conf
@@ -9,5 +9,11 @@
   modem:
   - times: 2
 
+schema:
+    some_suite_global_param: 'str'
+    test_suite_params:
+      one_bool_parameter: 'bool_str'
+      second_list_parameter: ['uint']
+
 defaults:
   timeout: 60s
diff --git a/selftest/suite_test/test_suite/test_suite_params.py b/selftest/suite_test/test_suite/test_suite_params.py
new file mode 100644
index 0000000..2cb89d7
--- /dev/null
+++ b/selftest/suite_test/test_suite/test_suite_params.py
@@ -0,0 +1,25 @@
+from osmo_gsm_tester.testenv import *
+import pprint
+
+print('starting test')
+
+suite_config = tenv.config_suite_specific()
+print('SPECIFIC SUITE CONFIG: ' + pprint.pformat(suite_config))
+
+test_config = tenv.config_test_specific()
+print('SPECIFIC TEST CONFIG: ' + pprint.pformat(test_config))
+
+some_suite_global_param = suite_config.get('some_suite_global_param', '')
+assert some_suite_global_param == 'heyho'
+
+assert suite_config[tenv.test().module_name()] == test_config
+
+one_bool_parameter = test_config.get('one_bool_parameter', '')
+assert one_bool_parameter == 'true'
+
+second_list_parameter = test_config.get('second_list_parameter', [])
+assert len(second_list_parameter) == 2
+assert int(second_list_parameter[0]) == 23
+assert int(second_list_parameter[1]) == 45
+
+#print('checks successful')