diff --git a/.gitignore b/.gitignore index 0edaa901..a0c40883 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ set_pythonpath test_work state *.pyc -selftest/trial_test/ sysmocom/resources.conf sysmocom/ttcn3/resources.conf diff --git a/selftest/_prep.py b/selftest/_prep.py index 582b8fb7..773f1902 100644 --- a/selftest/_prep.py +++ b/selftest/_prep.py @@ -1,7 +1,7 @@ import sys, os script_dir = sys.path[0] -top_dir = os.path.join(script_dir, '..') +top_dir = os.path.join(script_dir, '..', '..') src_dir = os.path.join(top_dir, 'src') # to find the osmo_gsm_tester py module diff --git a/selftest/all_tests.py b/selftest/all_tests.py index 5c1ce598..bb007939 100755 --- a/selftest/all_tests.py +++ b/selftest/all_tests.py @@ -72,14 +72,20 @@ def verify_output(got, expect_file, update=False): script_dir = sys.path[0] tests = [] -for f in os.listdir(script_dir): - file_path = os.path.join(script_dir, f) - if not os.path.isfile(file_path): +for d in os.listdir(script_dir): + dir_path = os.path.join(script_dir, d) + if not os.path.isdir(dir_path): continue + if not dir_path.endswith('_test'): + continue + for f in os.listdir(dir_path): + file_path = os.path.join(script_dir, d, f) + if not os.path.isfile(file_path): + continue - if not (file_path.endswith('_test.py') or file_path.endswith('_test.sh')): - continue - tests.append(file_path) + if not (file_path.endswith('_test.py') or file_path.endswith('_test.sh')): + continue + tests.append(file_path) ran = [] errors = [] diff --git a/selftest/cdf_test/_prep.py b/selftest/cdf_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/cdf_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/cdf_test.ok b/selftest/cdf_test/cdf_test.ok similarity index 100% rename from selftest/cdf_test.ok rename to selftest/cdf_test/cdf_test.ok diff --git a/selftest/cdf_test.py b/selftest/cdf_test/cdf_test.py similarity index 100% rename from selftest/cdf_test.py rename to selftest/cdf_test/cdf_test.py diff --git a/selftest/config_test/_prep.py b/selftest/config_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/config_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/config_test.err b/selftest/config_test/config_test.err similarity index 100% rename from selftest/config_test.err rename to selftest/config_test/config_test.err diff --git a/selftest/config_test.ok b/selftest/config_test/config_test.ok similarity index 100% rename from selftest/config_test.ok rename to selftest/config_test/config_test.ok diff --git a/selftest/config_test.py b/selftest/config_test/config_test.py similarity index 98% rename from selftest/config_test.py rename to selftest/config_test/config_test.py index c26ebd1e..797553d4 100755 --- a/selftest/config_test.py +++ b/selftest/config_test/config_test.py @@ -11,7 +11,7 @@ import copy from osmo_gsm_tester.core import config, log, schema example_config_file = 'test.cfg' -example_config = os.path.join(_prep.script_dir, 'config_test', example_config_file) +example_config = os.path.join(_prep.script_dir, example_config_file) cfg = config.read(example_config) pprint.pprint(cfg, width=81) diff --git a/selftest/lock_test/_prep.py b/selftest/lock_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/lock_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/lock_test.err b/selftest/lock_test/lock_test.err similarity index 100% rename from selftest/lock_test.err rename to selftest/lock_test/lock_test.err diff --git a/selftest/lock_test.ok b/selftest/lock_test/lock_test.ok similarity index 100% rename from selftest/lock_test.ok rename to selftest/lock_test/lock_test.ok diff --git a/selftest/lock_test.sh b/selftest/lock_test/lock_test.sh similarity index 90% rename from selftest/lock_test.sh rename to selftest/lock_test/lock_test.sh index 4f3f7ad6..9e4f44a9 100755 --- a/selftest/lock_test.sh +++ b/selftest/lock_test/lock_test.sh @@ -1,5 +1,7 @@ #!/bin/sh +owndir="$(dirname -- "$0")" + echo 'creating files' dir="$(mktemp -d)" n1="long name" @@ -11,7 +13,7 @@ touch "$f2" sync echo 'launch a program that locks a given file, it will create $dir/lock_test' -python3 ./lock_test_help.py "$dir" "$n1" & +python3 $owndir/lock_test_help.py "$dir" "$n1" & echo 'wait until this lock_test lock file was created by program' while [ ! -f "$dir/lock_test" ]; do @@ -23,7 +25,7 @@ echo 'expecting the lock file to reflect "long name"' echo "launched first, locked by: '$(cat "$dir/lock_test")'" echo 'launching second program, should find the lock intact and wait' -python3 ./lock_test_help.py "$dir" "$n2" & +python3 $owndir/lock_test_help.py "$dir" "$n2" & while [ ! -f "$f2.ready" ]; do sleep .1 done diff --git a/selftest/lock_test_help.py b/selftest/lock_test/lock_test_help.py similarity index 100% rename from selftest/lock_test_help.py rename to selftest/lock_test/lock_test_help.py diff --git a/selftest/log_test/_prep.py b/selftest/log_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/log_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/log_test.err b/selftest/log_test/log_test.err similarity index 100% rename from selftest/log_test.err rename to selftest/log_test/log_test.err diff --git a/selftest/log_test.ok b/selftest/log_test/log_test.ok similarity index 100% rename from selftest/log_test.ok rename to selftest/log_test/log_test.ok diff --git a/selftest/log_test.py b/selftest/log_test/log_test.py similarity index 100% rename from selftest/log_test.py rename to selftest/log_test/log_test.py diff --git a/selftest/process_test/_prep.py b/selftest/process_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/process_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/process_test.err b/selftest/process_test/process_test.err similarity index 100% rename from selftest/process_test.err rename to selftest/process_test/process_test.err diff --git a/selftest/process_test.ok b/selftest/process_test/process_test.ok similarity index 100% rename from selftest/process_test.ok rename to selftest/process_test/process_test.ok diff --git a/selftest/process_test.ok.ign b/selftest/process_test/process_test.ok.ign similarity index 100% rename from selftest/process_test.ok.ign rename to selftest/process_test/process_test.ok.ign diff --git a/selftest/process_test.py b/selftest/process_test/process_test.py similarity index 100% rename from selftest/process_test.py rename to selftest/process_test/process_test.py diff --git a/selftest/resource_test/_prep.py b/selftest/resource_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/resource_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/conf/paths.conf b/selftest/resource_test/conf/paths.conf similarity index 100% rename from selftest/conf/paths.conf rename to selftest/resource_test/conf/paths.conf diff --git a/selftest/conf/resources.conf b/selftest/resource_test/conf/resources.conf similarity index 100% rename from selftest/conf/resources.conf rename to selftest/resource_test/conf/resources.conf diff --git a/selftest/resource_test.err b/selftest/resource_test/resource_test.err similarity index 100% rename from selftest/resource_test.err rename to selftest/resource_test/resource_test.err diff --git a/selftest/resource_test.ok b/selftest/resource_test/resource_test.ok similarity index 93% rename from selftest/resource_test.ok rename to selftest/resource_test/resource_test.ok index 61474087..bbdbc5b3 100644 --- a/selftest/resource_test.ok +++ b/selftest/resource_test/resource_test.ok @@ -9,12 +9,12 @@ The requested resource requirements are not solvable [[0, 2], [2], [0, 2]] ok, caused exception RuntimeError: Refusing to drop a list of resources from itself. This is probably a bug where a list of Resources() should have been copied but is passed as-is. use Resources.clear() instead. - test removing a Resources list from one with the same list in it - test resources config and state dir: -cnf -: DBG: Found config file paths.conf as [PATH]/selftest/conf/paths.conf in ./conf which is [PATH]/selftest/conf -cnf -: DBG: [PATH]/selftest/conf/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/conf/test_work/state_dir -cnf -: DBG: [PATH]/selftest/conf/paths.conf: relative path ./suite_test is [PATH]/selftest/conf/suite_test -cnf -: DBG: Found path state_dir as [PATH]/selftest/conf/test_work/state_dir -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/conf/resources.conf in ./conf which is [PATH]/selftest/conf -cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/conf/test_work/state_dir +cnf -: DBG: Found config file paths.conf as [PATH]/selftest/resource_test/conf/paths.conf in [PATH]/selftest/resource_test/conf which is [PATH]/selftest/resource_test/conf +cnf -: DBG: [PATH]/selftest/resource_test/conf/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/resource_test/conf/test_work/state_dir +cnf -: DBG: [PATH]/selftest/resource_test/conf/paths.conf: relative path ./suite_test is [PATH]/selftest/resource_test/conf/suite_test +cnf -: DBG: Found path state_dir as [PATH]/selftest/resource_test/conf/test_work/state_dir +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/resource_test/conf/resources.conf in [PATH]/selftest/resource_test/conf which is [PATH]/selftest/resource_test/conf +cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/resource_test/conf/test_work/state_dir *** all resources: {'arfcn': [{'_hash': 'e620569450f8259b3f0212ec19c285dd07df063c', 'arfcn': '512', diff --git a/selftest/resource_test.ok.ign b/selftest/resource_test/resource_test.ok.ign similarity index 100% rename from selftest/resource_test.ok.ign rename to selftest/resource_test/resource_test.ok.ign diff --git a/selftest/resource_test.py b/selftest/resource_test/resource_test.py similarity index 98% rename from selftest/resource_test.py rename to selftest/resource_test/resource_test.py index 3f7cd519..39a7eb6f 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test/resource_test.py @@ -2,6 +2,7 @@ import tempfile import os +import sys import pprint import shutil import atexit @@ -12,7 +13,7 @@ from osmo_gsm_tester.core.schema import generate_schemas workdir = util.get_tempdir() # override config locations to make sure we use only the test conf -config.ENV_CONF = './conf' +config.ENV_CONF = os.path.join(os.path.dirname(sys.argv[0]), 'conf') log.get_process_id = lambda: '123-1490837279' diff --git a/selftest/sms_test/_prep.py b/selftest/sms_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/sms_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/sms_test.err b/selftest/sms_test/sms_test.err similarity index 100% rename from selftest/sms_test.err rename to selftest/sms_test/sms_test.err diff --git a/selftest/sms_test.ok b/selftest/sms_test/sms_test.ok similarity index 100% rename from selftest/sms_test.ok rename to selftest/sms_test/sms_test.ok diff --git a/selftest/sms_test.py b/selftest/sms_test/sms_test.py similarity index 100% rename from selftest/sms_test.py rename to selftest/sms_test/sms_test.py diff --git a/selftest/suite_test/_prep.py b/selftest/suite_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/suite_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/suite_test.err b/selftest/suite_test/suite_test.err similarity index 100% rename from selftest/suite_test.err rename to selftest/suite_test/suite_test.err diff --git a/selftest/suite_test.ok b/selftest/suite_test/suite_test.ok similarity index 100% rename from selftest/suite_test.ok rename to selftest/suite_test/suite_test.ok diff --git a/selftest/suite_test.ok.ign b/selftest/suite_test/suite_test.ok.ign similarity index 100% rename from selftest/suite_test.ok.ign rename to selftest/suite_test/suite_test.ok.ign diff --git a/selftest/suite_test.py b/selftest/suite_test/suite_test.py similarity index 100% rename from selftest/suite_test.py rename to selftest/suite_test/suite_test.py diff --git a/selftest/template_test/_prep.py b/selftest/template_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/template_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/template_test.err b/selftest/template_test/template_test.err similarity index 100% rename from selftest/template_test.err rename to selftest/template_test/template_test.err diff --git a/selftest/template_test.ok b/selftest/template_test/template_test.ok similarity index 100% rename from selftest/template_test.ok rename to selftest/template_test/template_test.ok diff --git a/selftest/template_test.py b/selftest/template_test/template_test.py similarity index 100% rename from selftest/template_test.py rename to selftest/template_test/template_test.py diff --git a/selftest/trial_test/_prep.py b/selftest/trial_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/trial_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/trial_test.err b/selftest/trial_test/trial_test.err similarity index 100% rename from selftest/trial_test.err rename to selftest/trial_test/trial_test.err diff --git a/selftest/trial_test.ok b/selftest/trial_test/trial_test.ok similarity index 100% rename from selftest/trial_test.ok rename to selftest/trial_test/trial_test.ok diff --git a/selftest/trial_test.ok.ign b/selftest/trial_test/trial_test.ok.ign similarity index 100% rename from selftest/trial_test.ok.ign rename to selftest/trial_test/trial_test.ok.ign diff --git a/selftest/trial_test.py b/selftest/trial_test/trial_test.py similarity index 100% rename from selftest/trial_test.py rename to selftest/trial_test/trial_test.py diff --git a/selftest/util_test/_prep.py b/selftest/util_test/_prep.py new file mode 120000 index 00000000..9cea3fe5 --- /dev/null +++ b/selftest/util_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/util_test.err b/selftest/util_test/util_test.err similarity index 100% rename from selftest/util_test.err rename to selftest/util_test/util_test.err diff --git a/selftest/util_test.ok b/selftest/util_test/util_test.ok similarity index 100% rename from selftest/util_test.ok rename to selftest/util_test/util_test.ok diff --git a/selftest/util_test.py b/selftest/util_test/util_test.py similarity index 100% rename from selftest/util_test.py rename to selftest/util_test/util_test.py