This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.orgHello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/2476 to look at the new patch set (#2). config: resolve real paths from symlinks, add paths debug logging Tweak test expectations to include the new debug logging Change-Id: I11a905b2467cda691d9ccea30ae436bac96476c9 --- M selftest/resource_test.ok A selftest/resource_test.ok.ign M selftest/suite_test.ok A selftest/suite_test.ok.ign M src/osmo_gsm_tester/config.py 5 files changed, 29 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/76/2476/2 diff --git a/selftest/resource_test.ok b/selftest/resource_test.ok index 413e5d0..ef99ba0 100644 --- a/selftest/resource_test.ok +++ b/selftest/resource_test.ok @@ -9,6 +9,12 @@ 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 ./suite_test is [PATH]/selftest/conf/suite_test +cnf -: DBG: [PATH]/selftest/conf/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/conf/test_work/state_dir +cnf -: DBG: Found path state_dir as [PATH]/selftest/conf/test_work/state_dir +cnf -: DBG: Found config file resources.conf as [PATH]/selftest/conf/resources.conf in ./conf which is [PATH]/selftest/conf +cnf -: DBG: Found path state_dir as [PATH]/selftest/conf/test_work/state_dir *** all resources: {'arfcn': [{'_hash': 'e620569450f8259b3f0212ec19c285dd07df063c', 'arfcn': '512', diff --git a/selftest/resource_test.ok.ign b/selftest/resource_test.ok.ign new file mode 100644 index 0000000..393ce95 --- /dev/null +++ b/selftest/resource_test.ok.ign @@ -0,0 +1 @@ +/[^ ]*/selftest/ [PATH]/selftest/ diff --git a/selftest/suite_test.ok b/selftest/suite_test.ok index 2fad8b3..e493c13 100644 --- a/selftest/suite_test.ok +++ b/selftest/suite_test.ok @@ -1,9 +1,15 @@ - non-existing suite dir ---- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in ./suite_test/. +cnf -: DBG: Found config file paths.conf as [PATH]/selftest/suite_test/paths.conf in ./suite_test which is [PATH]/selftest/suite_test +cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path . is [PATH]/selftest/suite_test +cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/suite_test/test_work/state_dir +cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test +--- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [PATH]/selftest/suite_test - no suite.conf +cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test cnf empty_dir: DBG: reading suite.conf [empty_dir↪empty_dir] ---- ./suite_test/./empty_dir/suite.conf: ERR: FileNotFoundError: [Errno 2] No such file or directory: './suite_test/./empty_dir/suite.conf' [empty_dir↪./suite_test/./empty_dir/suite.conf] +--- [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] - valid suite dir +cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test cnf test_suite: DBG: reading suite.conf [test_suite↪test_suite] defaults: timeout: 60s @@ -16,6 +22,8 @@ - times: '1' - run hello world test +cnf -: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test +cnf -: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir tst test_suite: Suite run start tst test_suite: reserving resources... tst test_suite: DBG: {combining='resources'} [test_suite↪test_suite] diff --git a/selftest/suite_test.ok.ign b/selftest/suite_test.ok.ign new file mode 100644 index 0000000..393ce95 --- /dev/null +++ b/selftest/suite_test.ok.ign @@ -0,0 +1 @@ +/[^ ]*/selftest/ [PATH]/selftest/ diff --git a/src/osmo_gsm_tester/config.py b/src/osmo_gsm_tester/config.py index 4abdebb..b3f45fc 100644 --- a/src/osmo_gsm_tester/config.py +++ b/src/osmo_gsm_tester/config.py @@ -88,9 +88,11 @@ locations = DEFAULT_CONFIG_LOCATIONS for l in locations: - p = os.path.join(l, basename) + real_l = os.path.realpath(l) + p = os.path.realpath(os.path.join(real_l, basename)) if os.path.isfile(p): - return (p, l) + log.dbg(None, log.C_CNF, 'Found config file', basename, 'as', p, 'in', l, 'which is', real_l) + return (p, real_l) if not fail_if_missing: return None, None raise RuntimeError('configuration file not found: %r in %r' % (basename, @@ -115,20 +117,25 @@ env_name = ENV_PREFIX + label.upper() env_path = os.getenv(env_name) if env_path: - return env_path + real_env_path = os.path.realpath(env_path) + log.dbg(None, log.C_CNF, 'Found path', label, 'as', env_path, 'in', '$' + env_name, 'which is', real_env_path) + return real_env_path if PATHS is None: paths_file, found_in = _get_config_file(PATHS_CONF) PATHS = read(paths_file, PATHS_SCHEMA) for key, path in PATHS.items(): if not path.startswith(os.pathsep): - PATHS[key] = os.path.join(found_in, path) + PATHS[key] = os.path.realpath(os.path.join(found_in, path)) + log.dbg(None, log.C_CNF, paths_file + ': relative path', path, 'is', PATHS[key]) p = PATHS.get(label) if p is None and not allow_unset: raise RuntimeError('missing configuration in %s: %r' % (PATHS_CONF, label)) + log.dbg(None, log.C_CNF, 'Found path', label, 'as', p) if p.startswith(PATHS_TEMPDIR_STR): p = os.path.join(get_tempdir(), p[len(PATHS_TEMPDIR_STR):]) + log.dbg(None, log.C_CNF, 'Path', label, 'contained', PATHS_TEMPDIR_STR, 'and becomes', p) return p def get_state_dir(): -- To view, visit https://gerrit.osmocom.org/2476 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I11a905b2467cda691d9ccea30ae436bac96476c9 Gerrit-PatchSet: 2 Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Jenkins Builder