Browse Source

[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>
Markus Heiser 3 years ago
parent
commit
61d3914b63
2 changed files with 15 additions and 2 deletions
  1. 12 0
      manage
  2. 3 2
      utils/build_env.py

+ 12 - 0
manage

@@ -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 $?

+ 3 - 2
utils/build_env.py

@@ -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 = [