on master help sign in
Revert "[enh] test: load each engine to check for syntax errors"

This reverts commit 4fb3ed2c6335b68f6b28ebc68d5d22f2fd621648.

commitb329058c1ad06fe9c1afd56c81e0ad27dbef06b8 authorAlexandre Flament <alex@al-f.net> dateMon 31 Aug 2020, 18:59 (6 years ago) parent315cdfe
3 files changed+12−23
searx/engines/__init__.py+7−6 searx/webapp.py+5−4 tests/unit/test_engines.py−13
searx/engines/__init__.py+7−6
@@ -72,8 +72,11 @@ def load_engine(engine_data):
7272
7373 engine_module = engine_data['engine']
7474
75− # can raise an exception
76− engine = load_module(engine_module + '.py', engine_dir)
75+ try:
76+ engine = load_module(engine_module + '.py', engine_dir)
77+ except:
78+ logger.exception('Cannot load engine "{}"'.format(engine_module))
79+ return None
7780
7881 for param_name in engine_data:
7982 if param_name == 'engine':
@@ -251,11 +254,9 @@ def load_engines(engine_list):
251254 global engines
252255 engines.clear()
253256 for engine_data in engine_list:
254− try:
255− engine = load_engine(engine_data)
257+ engine = load_engine(engine_data)
258+ if engine is not None:
256259 engines[engine.name] = engine
257− except:
258− logger.exception('Cannot load engine "{}"'.format(engine_data['engine']))
259260 return engines
260261
261262
searx/webapp.py+5−4
@@ -136,6 +136,11 @@ app.jinja_env.lstrip_blocks = True
136136app.jinja_env.add_extension('jinja2.ext.loopcontrols')
137137app.secret_key = settings['server']['secret_key']
138138
139+if not searx_debug \
140+ or os.environ.get("WERKZEUG_RUN_MAIN") == "true" \
141+ or os.environ.get('UWSGI_ORIGINAL_PROC_NAME') is not None:
142+ initialize_engines(settings['engines'])
143+
139144babel = Babel(app)
140145
141146rtl_locales = ['ar', 'arc', 'bcc', 'bqi', 'ckb', 'dv', 'fa', 'fa_IR', 'glk', 'he',
@@ -1046,10 +1051,6 @@ def page_not_found(e):
10461051
10471052
10481053def run():
1049− if not searx_debug \
1050− or os.environ.get("WERKZEUG_RUN_MAIN") == "true" \
1051− or os.environ.get('UWSGI_ORIGINAL_PROC_NAME') is not None:
1052− initialize_engines(settings['engines'])
10531054 logger.debug('starting webserver on %s:%s', settings['server']['bind_address'], settings['server']['port'])
10541055 app.run(
10551056 debug=searx_debug,
tests/unit/test_engines.pydeleted−13
@@ -1,13 +0,0 @@
1−# -*- coding: utf-8 -*-
2−
3−import unittest2 as unittest
4−from unittest2.util import strclass
5−from searx.engines import load_engine
6−from searx import settings
7−
8−
9−class TestEngine(unittest.TestCase):
10−
11− def test_engines(self):
12− for engine_data in settings['engines']:
13− load_engine(engine_data)