From ab1904a307b531dbd1c738ef04eeeeb68f9920b3 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Wed, 6 May 2020 18:35:26 +0200 Subject: [PATCH] selftest: Move tests into own subdirectories Change-Id: Id21cda19df131e24402e1a593036e1e33a914920 --- .gitignore | 1 - selftest/_prep.py | 2 +- selftest/all_tests.py | 18 ++++++++++++------ selftest/cdf_test/_prep.py | 1 + selftest/{ => cdf_test}/cdf_test.ok | 0 selftest/{ => cdf_test}/cdf_test.py | 0 selftest/config_test/_prep.py | 1 + selftest/{ => config_test}/config_test.err | 0 selftest/{ => config_test}/config_test.ok | 0 selftest/{ => config_test}/config_test.py | 2 +- selftest/lock_test/_prep.py | 1 + selftest/{ => lock_test}/lock_test.err | 0 selftest/{ => lock_test}/lock_test.ok | 0 selftest/{ => lock_test}/lock_test.sh | 6 ++++-- selftest/{ => lock_test}/lock_test_help.py | 0 selftest/log_test/_prep.py | 1 + selftest/{ => log_test}/log_test.err | 0 selftest/{ => log_test}/log_test.ok | 0 selftest/{ => log_test}/log_test.py | 0 selftest/process_test/_prep.py | 1 + selftest/{ => process_test}/process_test.err | 0 selftest/{ => process_test}/process_test.ok | 0 .../{ => process_test}/process_test.ok.ign | 0 selftest/{ => process_test}/process_test.py | 0 selftest/resource_test/_prep.py | 1 + selftest/{ => resource_test}/conf/paths.conf | 0 .../{ => resource_test}/conf/resources.conf | 0 selftest/{ => resource_test}/resource_test.err | 0 selftest/{ => resource_test}/resource_test.ok | 12 ++++++------ .../{ => resource_test}/resource_test.ok.ign | 0 selftest/{ => resource_test}/resource_test.py | 3 ++- selftest/sms_test/_prep.py | 1 + selftest/{ => sms_test}/sms_test.err | 0 selftest/{ => sms_test}/sms_test.ok | 0 selftest/{ => sms_test}/sms_test.py | 0 selftest/suite_test/_prep.py | 1 + selftest/{ => suite_test}/suite_test.err | 0 selftest/{ => suite_test}/suite_test.ok | 0 selftest/{ => suite_test}/suite_test.ok.ign | 0 selftest/{ => suite_test}/suite_test.py | 0 selftest/template_test/_prep.py | 1 + selftest/{ => template_test}/template_test.err | 0 selftest/{ => template_test}/template_test.ok | 0 selftest/{ => template_test}/template_test.py | 0 selftest/trial_test/_prep.py | 1 + selftest/{ => trial_test}/trial_test.err | 0 selftest/{ => trial_test}/trial_test.ok | 0 selftest/{ => trial_test}/trial_test.ok.ign | 0 selftest/{ => trial_test}/trial_test.py | 0 selftest/util_test/_prep.py | 1 + selftest/{ => util_test}/util_test.err | 0 selftest/{ => util_test}/util_test.ok | 0 selftest/{ => util_test}/util_test.py | 0 53 files changed, 37 insertions(+), 18 deletions(-) create mode 120000 selftest/cdf_test/_prep.py rename selftest/{ => cdf_test}/cdf_test.ok (100%) rename selftest/{ => cdf_test}/cdf_test.py (100%) create mode 120000 selftest/config_test/_prep.py rename selftest/{ => config_test}/config_test.err (100%) rename selftest/{ => config_test}/config_test.ok (100%) rename selftest/{ => config_test}/config_test.py (98%) create mode 120000 selftest/lock_test/_prep.py rename selftest/{ => lock_test}/lock_test.err (100%) rename selftest/{ => lock_test}/lock_test.ok (100%) rename selftest/{ => lock_test}/lock_test.sh (90%) rename selftest/{ => lock_test}/lock_test_help.py (100%) create mode 120000 selftest/log_test/_prep.py rename selftest/{ => log_test}/log_test.err (100%) rename selftest/{ => log_test}/log_test.ok (100%) rename selftest/{ => log_test}/log_test.py (100%) create mode 120000 selftest/process_test/_prep.py rename selftest/{ => process_test}/process_test.err (100%) rename selftest/{ => process_test}/process_test.ok (100%) rename selftest/{ => process_test}/process_test.ok.ign (100%) rename selftest/{ => process_test}/process_test.py (100%) create mode 120000 selftest/resource_test/_prep.py rename selftest/{ => resource_test}/conf/paths.conf (100%) rename selftest/{ => resource_test}/conf/resources.conf (100%) rename selftest/{ => resource_test}/resource_test.err (100%) rename selftest/{ => resource_test}/resource_test.ok (93%) rename selftest/{ => resource_test}/resource_test.ok.ign (100%) rename selftest/{ => resource_test}/resource_test.py (98%) create mode 120000 selftest/sms_test/_prep.py rename selftest/{ => sms_test}/sms_test.err (100%) rename selftest/{ => sms_test}/sms_test.ok (100%) rename selftest/{ => sms_test}/sms_test.py (100%) create mode 120000 selftest/suite_test/_prep.py rename selftest/{ => suite_test}/suite_test.err (100%) rename selftest/{ => suite_test}/suite_test.ok (100%) rename selftest/{ => suite_test}/suite_test.ok.ign (100%) rename selftest/{ => suite_test}/suite_test.py (100%) create mode 120000 selftest/template_test/_prep.py rename selftest/{ => template_test}/template_test.err (100%) rename selftest/{ => template_test}/template_test.ok (100%) rename selftest/{ => template_test}/template_test.py (100%) create mode 120000 selftest/trial_test/_prep.py rename selftest/{ => trial_test}/trial_test.err (100%) rename selftest/{ => trial_test}/trial_test.ok (100%) rename selftest/{ => trial_test}/trial_test.ok.ign (100%) rename selftest/{ => trial_test}/trial_test.py (100%) create mode 120000 selftest/util_test/_prep.py rename selftest/{ => util_test}/util_test.err (100%) rename selftest/{ => util_test}/util_test.ok (100%) rename selftest/{ => util_test}/util_test.py (100%) 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