From e51069db045ccc648435e3535723f3ac4a24b168 Mon Sep 17 00:00:00 2001 From: Theron Luhn Date: Mon, 1 Apr 2019 17:42:22 -0700 Subject: Improve debugging info from view_config decorator. Grab a frame when instanciating view_config, rather than pulling info from venusian's AttachInfo. See discussion at https://github.com/Pylons/pyramid/issues/3471 This fixes the build for Python 3.8. --- tests/test_view.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/test_view.py b/tests/test_view.py index de40df1d5..e182c28ad 100644 --- a/tests/test_view.py +++ b/tests/test_view.py @@ -507,7 +507,14 @@ class TestViewConfigDecorator(unittest.TestCase): def test_create_defaults(self): decorator = self._makeOne() - self.assertEqual(decorator.__dict__, {}) + self.assertEqual(list(decorator.__dict__.keys()), ['_info']) + + def test_create_info(self): + target = self._getTargetClass() + decorator = target() + info = decorator._info + self.assertEqual(info[2], 'test_create_info') + self.assertEqual(info[3], 'decorator = target()') def test_create_context_trumps_for(self): decorator = self._makeOne(context='123', for_='456') @@ -560,7 +567,6 @@ class TestViewConfigDecorator(unittest.TestCase): self.assertEqual(len(settings[0]), 3) self.assertEqual(settings[0]['venusian'], venusian) self.assertEqual(settings[0]['view'], None) # comes from call_venusian - self.assertEqual(settings[0]['_info'], 'codeinfo') def test_call_class(self): decorator = self._makeOne() @@ -580,7 +586,6 @@ class TestViewConfigDecorator(unittest.TestCase): self.assertEqual(settings[0]['venusian'], venusian) self.assertEqual(settings[0]['view'], None) # comes from call_venusian self.assertEqual(settings[0]['attr'], 'foo') - self.assertEqual(settings[0]['_info'], 'codeinfo') def test_call_class_attr_already_set(self): decorator = self._makeOne(attr='abc') @@ -600,7 +605,6 @@ class TestViewConfigDecorator(unittest.TestCase): self.assertEqual(settings[0]['venusian'], venusian) self.assertEqual(settings[0]['view'], None) # comes from call_venusian self.assertEqual(settings[0]['attr'], 'abc') - self.assertEqual(settings[0]['_info'], 'codeinfo') def test_stacking(self): decorator1 = self._makeOne(name='1') -- cgit v1.2.3