| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | # -*- coding: utf-8 -*-"""Shared testing code."""from plone.testing import Layerfrom unittest2 import TestCaseimport osimport subprocessimport sysclass 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
 |