diff options
Diffstat (limited to 'searx/testing.py')
| -rw-r--r-- | searx/testing.py | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/searx/testing.py b/searx/testing.py index e22ecf8fe..312e9f295 100644 --- a/searx/testing.py +++ b/searx/testing.py @@ -3,6 +3,7 @@ from plone.testing import Layer from unittest2 import TestCase +from os.path import dirname, join, abspath import os @@ -42,11 +43,11 @@ class SearxRobotLayer(Layer): os.path.abspath(os.path.dirname(os.path.realpath(__file__))), 'webapp.py' ) - exe = os.path.abspath(os.path.dirname(__file__) + '/../bin/py') + exe = 'python' # set robot settings path - os.environ['SEARX_SETTINGS_PATH'] = os.path.abspath( - os.path.dirname(__file__) + '/settings_robot.yml') + os.environ['SEARX_SETTINGS_PATH'] = abspath( + dirname(__file__) + '/settings_robot.yml') # run the server self.server = subprocess.Popen( @@ -56,7 +57,7 @@ class SearxRobotLayer(Layer): ) def tearDown(self): - os.kill(self.server.pid, 15) + os.kill(self.server.pid, 9) # remove previously set environment variable del os.environ['SEARX_SETTINGS_PATH'] @@ -68,3 +69,20 @@ class SearxTestCase(TestCase): """Base test case for non-robot tests.""" layer = SearxTestLayer + + +if __name__ == '__main__': + from tests.test_robot import test_suite + import sys + from zope.testrunner.runner import Runner + + base_dir = abspath(join(dirname(__file__), '../tests')) + if sys.argv[1] == 'robot': + r = Runner(['--color', + '--auto-progress', + '--stop-on-error', + '--path', + base_dir], + found_suites=[test_suite()]) + r.run() + sys.exit(int(r.failed)) |