CHANGES.txt | ●●●●● patch | view | raw | blame | history | |
pyramid/scripts/pserve.py | ●●●●● patch | view | raw | blame | history | |
pyramid/tests/test_scripts/test_pserve.py | ●●●●● patch | view | raw | blame | history | |
setup.py | ●●●●● patch | view | raw | blame | history |
CHANGES.txt
@@ -12,6 +12,11 @@ object in which the registry was stored in a closure preventing it from being deallocated. See https://github.com/Pylons/pyramid/pull/2973 - Fix a bug directly invoking ``pyramid.scripts.pserve.main`` with the ``--reload`` option in which ``sys.argv`` is always used in the subprocess instead of the supplied ``argv``. See https://github.com/Pylons/pyramid/pull/2974 Documentation Changes --------------------- pyramid/scripts/pserve.py
@@ -124,6 +124,8 @@ self.args = self.parser.parse_args(argv[1:]) if quiet: self.args.verbose = 0 if self.args.reload: self.worker_kwargs = {'argv': argv, "quiet": quiet} self.watch_files = [] def out(self, msg): # pragma: no cover @@ -203,6 +205,7 @@ 'pyramid.scripts.pserve.main', reload_interval=int(self.args.reload_interval), verbose=self.args.verbose, worker_kwargs=self.worker_kwargs ) return 0 pyramid/tests/test_scripts/test_pserve.py
@@ -2,7 +2,9 @@ import unittest from pyramid.tests.test_scripts import dummy here = os.path.abspath(os.path.dirname(__file__)) class TestPServeCommand(unittest.TestCase): def setUp(self): @@ -48,10 +50,11 @@ inst.loadserver = self._get_server app = dummy.DummyApp() def get_app(*args, **kwargs): app.global_conf = kwargs.get('global_conf', None) inst.loadapp = get_app inst.loadapp = get_app inst.run() self.assertEqual(app.global_conf, {'a': '1', 'b': '2'}) @@ -77,6 +80,36 @@ os.path.abspath(os.path.join(here, '*.py')), ]) def test_reload_call_hupper_with_correct_args(self): from pyramid.scripts import pserve class AttrDict(dict): def __init__(self, *args, **kwargs): super(AttrDict, self).__init__(*args, **kwargs) self.__dict__ = self def dummy_start_reloader(*args, **kwargs): dummy_start_reloader.args = args dummy_start_reloader.kwargs = kwargs orig_hupper = pserve.hupper try: pserve.hupper = AttrDict(is_active=lambda: False, start_reloader=dummy_start_reloader) inst = self._makeOne('--reload', 'development.ini') inst.run() finally: pserve.hupper = orig_hupper self.assertEquals(dummy_start_reloader.args, ('pyramid.scripts.pserve.main',)) self.assertEquals(dummy_start_reloader.kwargs, { 'reload_interval': 1, 'verbose': 1, 'worker_kwargs': {'argv': ['pserve', '--reload', 'development.ini'], 'quiet': False}}) class Test_main(unittest.TestCase): def _callFUT(self, argv): from pyramid.scripts.pserve import main setup.py
@@ -67,7 +67,7 @@ testing_extras = tests_require + [ 'nose', 'coverage', 'virtualenv', # for scaffolding tests 'virtualenv', # for scaffolding tests ] setup(name='pyramid',