summaryrefslogtreecommitdiff
path: root/searx/testing.py
diff options
context:
space:
mode:
authorMatej Cotman <cotman.matej@gmail.com>2014-01-12 12:40:27 +0100
committerMatej Cotman <cotman.matej@gmail.com>2014-01-14 23:31:15 +0100
commite740c8a8ea7dc4bbda7dab9a63ec476167c209ef (patch)
tree19fc35d68eb6570b4d4c8b04cf1f82a7d304dddc /searx/testing.py
parent348187cff9bc3c55c1327f3d7177e6d1a61b8430 (diff)
downloadsearxng-e740c8a8ea7dc4bbda7dab9a63ec476167c209ef.tar.gz
searxng-e740c8a8ea7dc4bbda7dab9a63ec476167c209ef.zip
tests and robot tests framework, build overhaul
Diffstat (limited to 'searx/testing.py')
-rw-r--r--searx/testing.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/searx/testing.py b/searx/testing.py
new file mode 100644
index 000000000..4b1810d6a
--- /dev/null
+++ b/searx/testing.py
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+"""Shared testing code."""
+
+from plone.testing import Layer
+from unittest2 import TestCase
+
+
+import os
+import subprocess
+import sys
+
+
+class SearxTestLayer:
+
+ __name__ = u'SearxTestLayer'
+
+ def setUp(cls):
+ pass
+ setUp = classmethod(setUp)
+
+ def tearDown(cls):
+ pass
+ tearDown = classmethod(tearDown)
+
+ def testSetUp(cls):
+ pass
+ testSetUp = classmethod(testSetUp)
+
+ def testTearDown(cls):
+ pass
+ testTearDown = classmethod(testTearDown)
+
+
+class SearxRobotLayer(Layer):
+ """Searx Robot Test Layer"""
+
+ def setUp(self):
+ os.setpgrp() # create new process group, become its leader
+ webapp = os.path.join(
+ os.path.abspath(os.path.dirname(os.path.realpath(__file__))),
+ 'webapp.py'
+ )
+ exe = os.path.abspath(os.path.dirname(__file__) + '/../bin/py')
+ self.server = subprocess.Popen(
+ [exe, webapp, 'settings_robot'],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT
+ )
+
+ def tearDown(self):
+ # TERM all processes in my group
+ os.killpg(os.getpgid(self.server.pid), 15)
+
+
+SEARXROBOTLAYER = SearxRobotLayer()
+
+
+class SearxTestCase(TestCase):
+ layer = SearxTestLayer