1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- # -*- 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
|