[fix] test.robot - do not use environment from ./utils/brand.env

Some defaults in the settings.yml are taken from the environment.
By example;

The manage scripts sources the ./utils/brand.env and sets SEARX_PORT
environment.  This enviroment *wins over* any settings in a YAML file.
Whe we run a::

    make test.robot

The searx/settings_robot.yml is used, in this file the server settings are::

    server:
      port: 11111
      bind_address: 127.0.0.1

To get in use of the 'port: 11111' we have to unset the SEARX_PORT environment
which was sourced before.

The function buildenv.unset_env() can be called in all use cases where the
enviroment from ./utils/brand.env is not wanted.  ATM it unset the enviroment
variables::

    unset GIT_URL
    unset GIT_BRANCH
    unset SEARX_URL
    unset SEARX_PORT
    unset SEARX_BIND_ADDRESS

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2021-07-21 09:41:48 +02:00
parent b6a55e223c
commit 61d3914b63
2 changed files with 15 additions and 2 deletions

12
manage
View File

@ -120,6 +120,17 @@ buildenv() {
return "${PIPESTATUS[0]}"
}
buildenv.unset_env(){
# Some defaults in the settings.yml are taken from the environment,
# e.g. SEARX_BIND_ADDRESS (:py:obj:`searx.settings_defaults.SHEMA`). In
# some tasks (e.g. test.robot) we do not want these envorionment applied.
unset GIT_URL
unset GIT_BRANCH
unset SEARX_URL
unset SEARX_PORT
unset SEARX_BIND_ADDRESS
}
babel.compile() {
build_msg BABEL compile
pyenv.cmd pybabel compile -d "${REPO_ROOT}/searx/translations"
@ -481,6 +492,7 @@ test.coverage() {
test.robot() {
build_msg TEST 'robot'
buildenv.unset_env
gecko.driver
PYTHONPATH=. pyenv.cmd python searx/testing.py robot
dump_return $?

View File

@ -24,8 +24,9 @@ def _env(*arg, **kwargs):
return val
# If you add or remove variables here, do not forgett to update:
# - docs/admin/engines/settings.rst
# - /docs/dev/makefile.rst (section make buildenv)
# - ./docs/admin/engines/settings.rst
# - ./docs/dev/makefile.rst (section make buildenv)
# - ./manage function buildenv.unset_env()
name_val = [