1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 00:03:28 +01:00

setup: use latest webtest again

tests: use geventwebserver for LiveServerTests instead of separate process
This commit is contained in:
Ilya Kreymer 2017-03-10 11:19:27 -08:00
parent baa248c502
commit 544df71302
2 changed files with 5 additions and 25 deletions

View File

@ -5,18 +5,16 @@ import shutil
import yaml import yaml
import time import time
from multiprocessing import Process
from fakeredis import FakeStrictRedis from fakeredis import FakeStrictRedis
from mock import patch from mock import patch
from wsgiref.simple_server import make_server
from pywb.webagg.aggregator import SimpleAggregator from pywb.webagg.aggregator import SimpleAggregator
from pywb.webagg.app import ResAggApp from pywb.webagg.app import ResAggApp
from pywb.webagg.handlers import DefaultResourceHandler from pywb.webagg.handlers import DefaultResourceHandler
from pywb.webagg.indexsource import LiveIndexSource, MementoIndexSource from pywb.webagg.indexsource import LiveIndexSource, MementoIndexSource
from pywb.urlrewrite.geventserver import GeventServer
from pywb import get_test_dir from pywb import get_test_dir
from pywb.utils.wbexception import NotFoundException from pywb.utils.wbexception import NotFoundException
@ -138,7 +136,8 @@ class LiveServerTests(object):
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
super(LiveServerTests, cls).setup_class() super(LiveServerTests, cls).setup_class()
cls.server = ServerThreadRunner(cls.make_live_app()) #cls.server = ServerThreadRunner(cls.make_live_app())
cls.server = GeventServer(cls.make_live_app())
@staticmethod @staticmethod
def make_live_app(): def make_live_app():
@ -154,22 +153,3 @@ class LiveServerTests(object):
def teardown_class(cls): def teardown_class(cls):
super(LiveServerTests, cls).teardown_class() super(LiveServerTests, cls).teardown_class()
cls.server.stop() cls.server.stop()
# ============================================================================
class ServerThreadRunner(object):
def __init__(self, app):
self.httpd = make_server('', 0, app)
self.port = self.httpd.socket.getsockname()[1]
def run():
self.httpd.serve_forever()
self.proc = Process(target=run)
#self.proc.daemon = True
self.proc.start()
def stop(self):
self.proc.terminate()

View File

@ -81,7 +81,7 @@ setup(
], ],
tests_require=[ tests_require=[
'pytest', 'pytest',
'WebTest<=2.0.23', 'WebTest',
'pytest-cov', 'pytest-cov',
'fakeredis', 'fakeredis',
'mock', 'mock',