コード例 #1
0
ファイル: test_enhancer.py プロジェクト: talrasha/sentry
def test_basic_parsing(insta_snapshot, version):
    enhancement = Enhancements.from_config_string(
        """
# This is a config
path:*/code/game/whatever/*                     +app
function:panic_handler                          ^-group -group
function:ThreadStartWin32                       v-group
function:ThreadStartLinux                       v-group
function:ThreadStartMac                         v-group
family:native module:std::*                     -app
module:core::*                                  -app
family:javascript path:*/test.js                -app
family:javascript app:1 path:*/test.js          -app
family:native                                   max-frames=3
""",
        bases=["common:v1"],
    )

    enhancement.version = version

    dumped = enhancement.dumps()
    insta_snapshot(dump_obj(enhancement))
    assert Enhancements.loads(dumped).dumps() == dumped
    assert Enhancements.loads(
        dumped)._to_config_structure() == enhancement._to_config_structure()
    assert isinstance(dumped, str)
コード例 #2
0
ファイル: __init__.py プロジェクト: waterdrops/sentry
    def create_event(self, grouping_config):
        grouping_input = dict(self.data)
        # Customize grouping config from the _grouping config
        grouping_info = grouping_input.pop("_grouping", None) or {}
        enhancements = grouping_info.get("enhancements")
        if enhancements:
            enhancement_bases = Enhancements.loads(
                grouping_config["enhancements"]).bases
            e = Enhancements.from_config_string(enhancements or "",
                                                bases=enhancement_bases)
            grouping_config["enhancements"] = e.dumps()

        # Normalize the event
        mgr = EventManager(data=grouping_input,
                           grouping_config=grouping_config)
        mgr.normalize()
        data = mgr.get_data()

        # Normalize the stacktrace for grouping.  This normally happens in
        # save()
        normalize_stacktraces_for_grouping(
            data, load_grouping_config(grouping_config))
        evt = eventstore.create_event(data=data)

        return evt
コード例 #3
0
ファイル: test_enhancer.py プロジェクト: yaoqi/sentry
def test_basic_parsing(insta_snapshot):
    enhancement = Enhancements.from_config_string('''
# This is a config
path:*/code/game/whatever/*                     +app
function:panic_handler                          ^-group -group
function:ThreadStartWin32                       v-group
function:ThreadStartLinux                       v-group
function:ThreadStartMac                         v-group
family:native module:std::*                     -app
module:core::*                                  -app
family:javascript path:*/test.js                -app
family:javascript app:1 path:*/test.js          -app
''', bases=['common:v1'])

    dumped = enhancement.dumps()
    insta_snapshot(dump_obj(enhancement))
    assert Enhancements.loads(dumped).dumps() == dumped
    assert Enhancements.loads(dumped)._to_config_structure() == enhancement._to_config_structure()
    assert isinstance(dumped, six.string_types)
コード例 #4
0
ファイル: test_enhancer.py プロジェクト: tools-env/sentry
def test_basic_parsing(insta_snapshot):
    enhancement = Enhancements.from_config_string('''
# This is a config
path:*/code/game/whatever/*                     +app
function:panic_handler                          ^-group -group
function:ThreadStartWin32                       v-group
function:ThreadStartLinux                       v-group
function:ThreadStartMac                         v-group
family:native module:std::*                     -app
module:core::*                                  -app
family:javascript path:*/test.js                -app
''',
                                                  bases=['common:v1'])

    dumped = enhancement.dumps()
    insta_snapshot(dump_obj(enhancement))
    assert Enhancements.loads(dumped).dumps() == dumped
    assert Enhancements.loads(
        dumped)._to_config_structure() == enhancement._to_config_structure()
    assert isinstance(dumped, six.string_types)
コード例 #5
0
ファイル: base.py プロジェクト: yndxz/sentry
 def __init__(self, enhancements=None, **extra):
     if enhancements is None:
         enhancements = Enhancements([])
     else:
         enhancements = Enhancements.loads(enhancements)
     self.enhancements = enhancements
コード例 #6
0
 def __init__(self, enhancements: Optional[str] = None, **extra: Any):
     if enhancements is None:
         enhancements_instance = Enhancements([])
     else:
         enhancements_instance = Enhancements.loads(enhancements)
     self.enhancements = enhancements_instance
コード例 #7
0
ファイル: base.py プロジェクト: getsentry/sentry
 def __init__(self, enhancements=None, **extra):
     if enhancements is None:
         enhancements = Enhancements([])
     else:
         enhancements = Enhancements.loads(enhancements)
     self.enhancements = enhancements