Mercurial > piecrust2
diff piecrust/serving/server.py @ 391:3e4bb57d8506
tests: Add support for testing the Chef server.
* Make the server be functional without calling `getWsgiApp`.
* Add new type of test files that use a Werkzeug test client.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 17 May 2015 10:48:41 -0700 |
parents | 3a184fbc900b |
children | 2bb5327c4c1f |
line wrap: on
line diff
--- a/piecrust/serving/server.py Sun May 17 08:30:19 2015 -0700 +++ b/piecrust/serving/server.py Sun May 17 10:48:41 2015 -0700 @@ -12,6 +12,7 @@ from werkzeug.wrappers import Request, Response from werkzeug.wsgi import ClosingIterator, wrap_file from jinja2 import FileSystemLoader, Environment +from piecrust import CACHE_DIR from piecrust.app import PieCrust from piecrust.rendering import QualifiedPage, PageRenderingContext, render_page from piecrust.sources.base import MODE_PARSING @@ -62,8 +63,8 @@ self.enable_debug_info = enable_debug_info self.run_sse_check = run_sse_check self.static_preview = static_preview - self._out_dir = None - self._page_record = None + self._page_record = ServeRecord() + self._out_dir = os.path.join(root_dir, CACHE_DIR, 'server') self._proc_loop = None self._mimetype_map = load_mimetype_map() @@ -71,9 +72,9 @@ # Bake all the assets so we know what we have, and so we can serve # them to the client. We need a temp app for this. app = PieCrust(root_dir=self.root_dir, debug=self.debug) - app._useSubCacheDir(self.sub_cache_dir) + if self.sub_cache_dir: + app._useSubCacheDir(self.sub_cache_dir) self._out_dir = os.path.join(app.sub_cache_dir, 'server') - self._page_record = ServeRecord() if not self.run_sse_check or self.run_sse_check(): # When using a server with code reloading, some implementations @@ -120,7 +121,8 @@ # Create the app for this request. app = PieCrust(root_dir=self.root_dir, debug=self.debug) - app._useSubCacheDir(self.sub_cache_dir) + if self.sub_cache_dir: + app._useSubCacheDir(self.sub_cache_dir) app.config.set('site/root', '/') app.config.set('server/is_serving', True) if (app.config.get('site/enable_debug_info') and