diff options
author | Matej Cotman <cotman.matej@gmail.com> | 2014-01-12 12:40:27 +0100 |
---|---|---|
committer | Matej Cotman <cotman.matej@gmail.com> | 2014-01-14 23:31:15 +0100 |
commit | e740c8a8ea7dc4bbda7dab9a63ec476167c209ef (patch) | |
tree | 19fc35d68eb6570b4d4c8b04cf1f82a7d304dddc /searx/testing.py | |
parent | 348187cff9bc3c55c1327f3d7177e6d1a61b8430 (diff) | |
download | searxng-e740c8a8ea7dc4bbda7dab9a63ec476167c209ef.tar.gz searxng-e740c8a8ea7dc4bbda7dab9a63ec476167c209ef.zip |
tests and robot tests framework, build overhaul
Diffstat (limited to 'searx/testing.py')
-rw-r--r-- | searx/testing.py | 59 |
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 |