summaryrefslogtreecommitdiff
path: root/searx/testing.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/testing.py')
-rw-r--r--searx/testing.py26
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))