[fix] unit test_xpath.py: name 'logger' is not defined
Depending on the order in which the unit tests are executed, the python modules
of the engines are initialized (monkey patched) or not. As the order of the
tests is not static, random errors may occur.
To avaoid random `NameError: name 'logger' is not defined` in the unit tests of
the xpath engine, a logger is monkey patched into the xpath py-module.
```
make test.unit
TEST      tests/unit
......EE...................
======================================================================
ERROR: test_response (tests.unit.engines.test_xpath.TestXpathEngine.test_response)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "./tests/unit/engines/test_xpath.py", line 60, in test_response
    self.assertEqual(xpath.response(response), [])
                     ^^^^^^^^^^^^^^^^^^^^^^^^
  File "./searx/engines/xpath.py", line 309, in response
    logger.debug("found %s results", len(results))
    ^^^^^^
NameError: name 'logger' is not defined
======================================================================
ERROR: test_response_results_xpath (tests.unit.engines.test_xpath.TestXpathEngine.test_response_results_xpath)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "./tests/unit/engines/test_xpath.py", line 102, in test_response_results_xpath
    self.assertEqual(xpath.response(response), [])
                     ^^^^^^^^^^^^^^^^^^^^^^^^
  File "./searx/engines/xpath.py", line 309, in response
    logger.debug("found %s results", len(results))
    ^^^^^^
NameError: name 'logger' is not defined
```
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
			
			
This commit is contained in:
		
							parent
							
								
									a5f8e0899c
								
							
						
					
					
						commit
						d80fcbc635
					
				| @ -3,9 +3,14 @@ | |||||||
| 
 | 
 | ||||||
| from collections import defaultdict | from collections import defaultdict | ||||||
| import mock | import mock | ||||||
|  | 
 | ||||||
| from searx.engines import xpath | from searx.engines import xpath | ||||||
|  | from searx import logger | ||||||
|  | 
 | ||||||
| from tests import SearxTestCase | from tests import SearxTestCase | ||||||
| 
 | 
 | ||||||
|  | logger = logger.getChild('engines') | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class TestXpathEngine(SearxTestCase):  # pylint: disable=missing-class-docstring | class TestXpathEngine(SearxTestCase):  # pylint: disable=missing-class-docstring | ||||||
|     html = """ |     html = """ | ||||||
| @ -23,6 +28,9 @@ class TestXpathEngine(SearxTestCase):  # pylint: disable=missing-class-docstring | |||||||
|     </div> |     </div> | ||||||
|     """ |     """ | ||||||
| 
 | 
 | ||||||
|  |     def setUp(self): | ||||||
|  |         xpath.logger = logger.getChild('test_xpath') | ||||||
|  | 
 | ||||||
|     def test_request(self): |     def test_request(self): | ||||||
|         xpath.search_url = 'https://url.com/{query}' |         xpath.search_url = 'https://url.com/{query}' | ||||||
|         xpath.categories = [] |         xpath.categories = [] | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Markus Heiser
						Markus Heiser