Skip to content
Snippets Groups Projects
Commit 6ed3df14 authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

Merge branch 'f-test-ini' into 'dev'

FIX: do not raise error if configuration file is missing

See merge request !115
parents 99d59ccd cf504913
No related branches found
No related tags found
2 merge requests!116REL: begin new release cycle,!115FIX: do not raise error if configuration file is missing
Pipeline #42004 passed
......@@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Removed ###
### Fixed ###
- no Error when no configuration file is used [Issue](https://gitlab.com/linkahead/linkahead-pylib/-/issues/107)
### Security ###
......
This diff is collapsed.
......@@ -49,9 +49,7 @@ def configure(inifile):
Return a list of files which have successfully been parsed.
"""
global _pycaosdbconf
if "_pycaosdbconf" not in globals():
_pycaosdbconf = None
if _pycaosdbconf is None:
if ("_pycaosdbconf" not in globals() or _pycaosdbconf is None):
_reset_config()
read_config = _pycaosdbconf.read(inifile)
validate_yaml_schema(config_to_yaml(_pycaosdbconf))
......@@ -65,6 +63,8 @@ def configure(inifile):
def get_config():
global _pycaosdbconf
if ("_pycaosdbconf" not in globals() or _pycaosdbconf is None):
_reset_config()
return _pycaosdbconf
......@@ -130,6 +130,11 @@ def _read_config_files():
# End: LinkAhead rename block ##################################################
if "PYCAOSDBINI" in environ:
if not isfile(expanduser(environ["PYCAOSDBINI"])):
raise RuntimeError(
f"No configuration file found at\n{expanduser(environ['PYCAOSDBINI'])}"
"\nwhich was given via the environment variable PYCAOSDBINI"
)
return_var.extend(configure(expanduser(environ["PYCAOSDBINI"])))
else:
if isfile(ini_user_caosdb):
......
......@@ -22,10 +22,11 @@
# ** end header
#
import pytest
import linkahead as db
from os import environ, getcwd, remove
from os.path import expanduser, isfile, join
import linkahead as db
import pytest
from pytest import raises
......@@ -55,7 +56,8 @@ def test_config_ini_via_envvar(temp_ini_files):
environ["PYCAOSDBINI"] = "bla bla"
assert environ["PYCAOSDBINI"] == "bla bla"
# test wrong configuration file in envvar
assert not expanduser(environ["PYCAOSDBINI"]) in db.configuration._read_config_files()
with pytest.raises(RuntimeError):
db.configuration._read_config_files()
# test good configuration file in envvar
environ["PYCAOSDBINI"] = "~/.pylinkahead.ini"
assert expanduser("~/.pylinkahead.ini") in db.configuration._read_config_files()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment