コード例 #1
0
    def test_over_max(self):
        values = []
        for n in xrange(5):
            values.append({
                'filename': 'frame %d' % n,
                'vars': {'foo': 'bar'},
                'context_line': 'b',
                'pre_context': ['a'],
                'post_context': ['c'],
            })
        interface = Stacktrace.to_python({'frames': values})
        slim_frame_data(interface, 4)

        assert len(interface.frames) == 5

        for value, num in zip(interface.frames[:2], xrange(2)):
            assert value.filename == 'frame %d' % num
            assert value.vars is not None
            assert value.pre_context is not None
            assert value.post_context is not None

        for value, num in zip(interface.frames[3:], xrange(3, 5)):
            assert value.filename == 'frame %d' % num
            assert value.vars is not None
            assert value.pre_context is not None
            assert value.post_context is not None

        value = interface.frames[2]
        assert value.filename == 'frame 2'
        assert not value.vars
        assert not value.pre_context
        assert not value.post_context
コード例 #2
0
ファイル: test_stacktrace.py プロジェクト: sk163/sentry
    def test_over_max(self):
        values = []
        for n in xrange(5):
            values.append({
                'filename': 'frame %d' % n,
                'vars': {},
                'pre_context': [],
                'post_context': [],
            })
        value = {'frames': values}
        slim_frame_data(value, 4)

        assert len(value['frames']) == 5

        for value, num in zip(values[:2], xrange(2)):
            assert value['filename'] == 'frame %d' % num
            assert value['vars'] is not None
            assert value['pre_context'] is not None
            assert value['post_context'] is not None

        assert values[2]['filename'] == 'frame 2'
        assert 'vars' not in values[2]
        assert 'pre_context' not in values[2]
        assert 'post_context' not in values[2]

        for value, num in zip(values[3:], xrange(3, 5)):
            assert value['filename'] == 'frame %d' % num
            assert value['vars'] is not None
            assert value['pre_context'] is not None
            assert value['post_context'] is not None
コード例 #3
0
    def test_over_max(self):
        values = []
        for n in xrange(5):
            values.append({
                'filename': 'frame %d' % n,
                'vars': {},
                'pre_context': [],
                'post_context': [],
            })
        value = {'frames': values}
        slim_frame_data(value, 4)

        assert len(value['frames']) == 5

        for value, num in zip(values[:2], xrange(2)):
            assert value['filename'] == 'frame %d' % num
            assert value['vars'] is not None
            assert value['pre_context'] is not None
            assert value['post_context'] is not None

        assert values[2]['filename'] == 'frame 2'
        assert 'vars' not in values[2]
        assert 'pre_context' not in values[2]
        assert 'post_context' not in values[2]

        for value, num in zip(values[3:], xrange(3, 5)):
            assert value['filename'] == 'frame %d' % num
            assert value['vars'] is not None
            assert value['pre_context'] is not None
            assert value['post_context'] is not None
コード例 #4
0
ファイル: test_stacktrace.py プロジェクト: ycaihua/sentry-1
    def test_over_max(self):
        values = []
        for n in xrange(5):
            values.append({
                'filename': 'frame %d' % n,
                'vars': {
                    'foo': 'bar'
                },
                'context_line': 'b',
                'pre_context': ['a'],
                'post_context': ['c'],
            })
        interface = Stacktrace.to_python({'frames': values})
        slim_frame_data(interface, 4)

        assert len(interface.frames) == 5

        for value, num in zip(interface.frames[:2], xrange(2)):
            assert value.filename == 'frame %d' % num
            assert value.vars is not None
            assert value.pre_context is not None
            assert value.post_context is not None

        for value, num in zip(interface.frames[3:], xrange(3, 5)):
            assert value.filename == 'frame %d' % num
            assert value.vars is not None
            assert value.pre_context is not None
            assert value.post_context is not None

        value = interface.frames[2]
        assert value.filename == 'frame 2'
        assert not value.vars
        assert not value.pre_context
        assert not value.post_context
コード例 #5
0
    def test_over_max(self):
        values = []
        for n in xrange(5):
            values.append({"filename": "frame %d" % n, "vars": {}, "pre_context": [], "post_context": []})
        value = {"frames": values}
        slim_frame_data(value, 4)

        assert len(value["frames"]) == 5

        for value, num in zip(values[:2], xrange(2)):
            assert value["filename"] == "frame %d" % num
            assert value["vars"] is not None
            assert value["pre_context"] is not None
            assert value["post_context"] is not None

        assert values[2]["filename"] == "frame 2"
        assert "vars" not in values[2]
        assert "pre_context" not in values[2]
        assert "post_context" not in values[2]

        for value, num in zip(values[3:], xrange(3, 5)):
            assert value["filename"] == "frame %d" % num
            assert value["vars"] is not None
            assert value["pre_context"] is not None
            assert value["post_context"] is not None
コード例 #6
0
ファイル: exception.py プロジェクト: ForkRepo/sentry
def slim_exception_data(instance, frame_allowance=settings.SENTRY_MAX_STACKTRACE_FRAMES):
    """
    Removes various excess metadata from middle frames which go beyond
    ``frame_allowance``.
    """
    # TODO(dcramer): it probably makes sense to prioritize a certain exception
    # rather than distributing allowance among all exceptions
    frames = []
    for exception in instance.values:
        if not exception.stacktrace:
            continue
        frames.extend(exception.stacktrace.frames)

    slim_frame_data(frames, frame_allowance)
コード例 #7
0
ファイル: exception.py プロジェクト: shirone/sentry
def slim_exception_data(instance, frame_allowance=settings.SENTRY_MAX_STACKTRACE_FRAMES):
    """
    Removes various excess metadata from middle frames which go beyond
    ``frame_allowance``.
    """
    # TODO(dcramer): it probably makes sense to prioritize a certain exception
    # rather than distributing allowance among all exceptions
    frames = []
    for exception in instance.values:
        if not exception.stacktrace:
            continue
        frames.extend(exception.stacktrace.frames)

    slim_frame_data(frames, frame_allowance)
コード例 #8
0
 def test_under_max(self):
     interface = Stacktrace.to_python({'frames': [{'filename': 'foo'}]})
     slim_frame_data(interface, 4)
     assert len(interface.frames) == 1
     assert not interface.frames_omitted
コード例 #9
0
ファイル: test_stacktrace.py プロジェクト: sk163/sentry
 def test_under_max(self):
     value = {'frames': [{'filename': 'foo'}]}
     slim_frame_data(value)
     assert len(value['frames']) == 1
     assert value.get('frames_omitted') is None
コード例 #10
0
 def test_under_max(self):
     value = {'frames': [{'filename': 'foo'}]}
     slim_frame_data(value)
     assert len(value['frames']) == 1
     assert value.get('frames_omitted') is None
コード例 #11
0
ファイル: test_stacktrace.py プロジェクト: zouyang2015/sentry
 def test_under_max(self):
     interface = Stacktrace.to_python({'frames': [{'filename': 'foo'}]})
     slim_frame_data(interface, 4)
     assert len(interface.frames) == 1
     assert not interface.frames_omitted
コード例 #12
0
 def test_under_max(self):
     value = {"frames": [{"filename": "foo"}]}
     slim_frame_data(value)
     assert len(value["frames"]) == 1
     assert value.get("frames_omitted") is None