From 464eca2fa04b4b7958be0d7e914b6e5d7a441500 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Fri, 6 May 2016 16:33:18 -0700 Subject: [PATCH] test apps: enable debugging for test apps test recorder: write to a temp dir for each run --- recorder/test/simplerec.py | 20 +++++++++++++++++++- setup.py | 2 +- urlrewrite/test/simpleapp.py | 8 ++++++++ webagg/test/live.py | 2 +- 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/recorder/test/simplerec.py b/recorder/test/simplerec.py index a5feb8e5..f9c73b99 100644 --- a/recorder/test/simplerec.py +++ b/recorder/test/simplerec.py @@ -6,9 +6,27 @@ from recorder.redisindexer import WritableRedisIndexer from recorder.warcwriter import MultiFileWARCWriter from recorder.filters import SkipDupePolicy +import atexit +import tempfile +import redis + upstream_url = 'http://localhost:8080' -target = './_recordings/' +target = tempfile.mkdtemp(prefix='tmprec') + '/' + +print('Recording to ' + target) + +def rm_target(): + print('Removing ' + target) + shutil.rmtree(target) + +atexit.register(rm_target) + +local_r = redis.StrictRedis.from_url('redis://localhost/2') +local_r.delete('rec:cdxj') +local_r.delete('rec:warc') + +#target = './_recordings/' dedup_index = WritableRedisIndexer( redis_url='redis://localhost/2/rec:cdxj', diff --git a/setup.py b/setup.py index b2829f78..75d69c2e 100755 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ setup( 'proxy', ], install_requires=[ - 'pywb==0.30.0', + 'pywb>=0.30.0', ], dependency_links=[ 'git+https://github.com/ikreymer/pywb.git@develop#egg=pywb-0.30.0-develop', diff --git a/urlrewrite/test/simpleapp.py b/urlrewrite/test/simpleapp.py index d7f05181..b741962d 100644 --- a/urlrewrite/test/simpleapp.py +++ b/urlrewrite/test/simpleapp.py @@ -26,6 +26,14 @@ class RWApp(RewriterApp): self.cookie_tracker = CookieTracker(redis) + self.orig_error_handler = self.app.default_error_handler + self.app.default_error_handler = self.err_handler + + def err_handler(self, exc): + print(exc) + traceback.print_exc() + return self.orig_error_handler(exc) + def get_upstream_url(self, url, wb_url, closest, kwargs): type = kwargs.get('type') return self.upstream_urls[type].format(url=quote(url), diff --git a/webagg/test/live.py b/webagg/test/live.py index e24084fa..b6c10a22 100644 --- a/webagg/test/live.py +++ b/webagg/test/live.py @@ -7,7 +7,7 @@ from webagg.indexsource import LiveIndexSource, RedisIndexSource from webagg.aggregator import SimpleAggregator, CacheDirectoryIndexSource def simpleapp(): - app = ResAggApp() + app = ResAggApp(debug=True) app.add_route('/live', DefaultResourceHandler(SimpleAggregator( {'live': LiveIndexSource()})