示例#1
0
    def test_over_max(self):
        values = []
        for x in range(5):
            exc = {'value': 'exc %d' % x, 'stacktrace': {'frames': []}}
            values.append(exc)
            for y in range(5):
                exc['stacktrace']['frames'].append({
                    'filename': 'exc %d frame %d' % (x, y),
                    'vars': {'foo': 'bar'},
                    'context_line': 'b',
                    'pre_context': ['a'],
                    'post_context': ['c'],
                })

        interface = Exception.to_python({'values': values})

        # slim to 10 frames to make tests easier
        slim_exception_data(interface, 10)

        assert len(interface.values) == 5
        for e_num, value in enumerate(interface.values):
            assert value.value == 'exc %d' % e_num
            assert len(value.stacktrace.frames) == 5
            for f_num, frame in enumerate(value.stacktrace.frames):
                assert frame.filename == 'exc %d frame %d' % (e_num, f_num)
                if e_num in (0, 4):
                    assert frame.vars is not None
                    assert frame.pre_context is not None
                    assert frame.post_context is not None
                else:
                    assert frame.vars is None
                    assert frame.pre_context is None
                    assert frame.post_context is None
示例#2
0
    def test_over_max(self):
        values = []
        for x in range(5):
            exc = {'value': 'exc %d' % x, 'stacktrace': {'frames': []}}
            values.append(exc)
            for y in range(5):
                exc['stacktrace']['frames'].append({
                    'filename': 'exc %d frame %d' % (x, y),
                    'vars': {'foo': 'bar'},
                    'context_line': 'b',
                    'pre_context': ['a'],
                    'post_context': ['c'],
                })

        interface = Exception.to_python({'values': values})

        # slim to 10 frames to make tests easier
        slim_exception_data(interface, 10)

        assert len(interface.values) == 5
        for e_num, value in enumerate(interface.values):
            assert value.value == 'exc %d' % e_num
            assert len(value.stacktrace.frames) == 5
            for f_num, frame in enumerate(value.stacktrace.frames):
                assert frame.filename == 'exc %d frame %d' % (e_num, f_num)
                if e_num in (0, 4):
                    assert frame.vars is not None
                    assert frame.pre_context is not None
                    assert frame.post_context is not None
                else:
                    assert frame.vars is None
                    assert frame.pre_context is None
                    assert frame.post_context is None
示例#3
0
 def test_under_max(self):
     interface = Exception.to_python({'values': [
         {'value': 'foo',
          'stacktrace': {'frames': [{'filename': 'foo'}]},
         }
     ]})
     slim_exception_data(interface)
     assert len(interface.values[0].stacktrace.frames) == 1
示例#4
0
 def test_under_max(self):
     interface = Exception.to_python({'values': [
         {'value': 'foo',
          'stacktrace': {'frames': [{'filename': 'foo'}]},
         }
     ]})
     slim_exception_data(interface)
     assert len(interface.values[0].stacktrace.frames) == 1
示例#5
0
def test_slim_exception_data_under_max(insta_snapshot):
    interface = Exception.to_python({
        "values": [{
            "value": "foo",
            "stacktrace": {
                "frames": [{
                    "filename": "foo"
                }]
            }
        }]
    })
    slim_exception_data(interface)
    insta_snapshot(interface.to_json())
示例#6
0
def test_slim_exception_data_under_max(insta_snapshot):
    interface = Exception.to_python({
        'values': [{
            'value': 'foo',
            'stacktrace': {
                'frames': [{
                    'filename': 'foo'
                }]
            },
        }]
    })
    slim_exception_data(interface)
    insta_snapshot(interface.to_json())
示例#7
0
def test_slim_exception_data_under_max(insta_snapshot):
    interface = Exception.to_python(
        {
            'values': [{
                'value': 'foo',
                'stacktrace': {
                    'frames': [{
                        'filename': 'foo'
                    }]
                },
            }]
        }
    )
    slim_exception_data(interface)
    insta_snapshot(interface.to_json())
示例#8
0
def test_slim_exception_data_over_max(insta_snapshot):
    values = []
    for x in range(5):
        exc = {'value': 'exc %d' % x, 'stacktrace': {'frames': []}}
        values.append(exc)
        for y in range(5):
            exc['stacktrace']['frames'].append({
                'filename':
                'exc %d frame %d' % (x, y),
                'vars': {
                    'foo': 'bar'
                },
                'context_line':
                'b',
                'pre_context': ['a'],
                'post_context': ['c'],
            })

    interface = Exception.to_python({'values': values})
    # slim to 10 frames to make tests easier
    slim_exception_data(interface, 10)
    insta_snapshot(interface.to_json())
示例#9
0
def test_slim_exception_data_over_max(insta_snapshot):
    values = []
    for x in range(5):
        exc = {'value': 'exc %d' % x, 'stacktrace': {'frames': []}}
        values.append(exc)
        for y in range(5):
            exc['stacktrace']['frames'].append(
                {
                    'filename': 'exc %d frame %d' % (x, y),
                    'vars': {
                        'foo': 'bar'
                    },
                    'context_line': 'b',
                    'pre_context': ['a'],
                    'post_context': ['c'],
                }
            )

    interface = Exception.to_python({'values': values})
    # slim to 10 frames to make tests easier
    slim_exception_data(interface, 10)
    insta_snapshot(interface.to_json())
示例#10
0
def test_slim_exception_data_over_max(insta_snapshot):
    values = []
    for x in range(5):
        exc = {"value": "exc %d" % x, "stacktrace": {"frames": []}}
        values.append(exc)
        for y in range(5):
            exc["stacktrace"]["frames"].append({
                "filename":
                "exc %d frame %d" % (x, y),
                "vars": {
                    "foo": "bar"
                },
                "context_line":
                "b",
                "pre_context": ["a"],
                "post_context": ["c"],
            })

    interface = Exception.to_python({"values": values})
    # slim to 10 frames to make tests easier
    slim_exception_data(interface, 10)
    insta_snapshot(interface.to_json())
示例#11
0
    def test_over_max(self):
        values = []
        for x in xrange(5):
            exc = {"value": "exc %d" % x, "stacktrace": {"frames": []}}
            values.append(exc)
            for y in xrange(5):
                exc["stacktrace"]["frames"].append(
                    {
                        "filename": "exc %d frame %d" % (x, y),
                        "vars": {"foo": "bar"},
                        "context_line": "b",
                        "pre_context": ["a"],
                        "post_context": ["c"],
                    }
                )

        interface = Exception.to_python({"values": values})

        # slim to 10 frames to make tests easier
        slim_exception_data(interface, 10)

        assert len(interface.values) == 5
        for e_num, value in enumerate(interface.values):
            assert value.value == "exc %d" % e_num
            assert len(value.stacktrace.frames) == 5
            for f_num, frame in enumerate(value.stacktrace.frames):
                assert frame.filename == "exc %d frame %d" % (e_num, f_num)
                print (frame.filename)
                if e_num in (0, 4):
                    assert frame.vars is not None
                    assert frame.pre_context is not None
                    assert frame.post_context is not None
                else:
                    assert frame.vars is None
                    assert frame.pre_context is None
                    assert frame.post_context is None
示例#12
0
 def test_under_max(self):
     interface = Exception.to_python({"values": [{"value": "foo", "stacktrace": {"frames": [{"filename": "foo"}]}}]})
     slim_exception_data(interface)
     assert len(interface.values[0].stacktrace.frames) == 1