コード例 #1
0
    def test_no_crashing_thread(self, mocked_subprocess_module):
        config = self.get_basic_config()
        raw_crash = copy.copy(canonical_standard_raw_crash)
        raw_dumps = {config.dump_field: 'a_fake_dump.dump'}
        processed_crash = DotDict()
        processed_crash.product = 'Firefox'
        processed_crash.os_name = 'Windows NT'
        processed_crash.cpu_name = 'x86'
        processed_crash.signature = 'EnterBaseline'
        processed_crash['json_dump'] = {}  # note the empty json_dump
        processor_meta = self.get_basic_processor_meta()

        mocked_subprocess_handle = (
            mocked_subprocess_module.Popen.return_value)
        mocked_subprocess_handle.stdout.read.return_value = ('EXTRA-SPECIAL')
        mocked_subprocess_handle.wait.return_value = 0

        rule = JitCrashCategorizeRule(config)

        # the call to be tested
        res = rule._predicate(raw_crash, raw_dumps, processed_crash,
                              processor_meta)

        # Simply verify that no exception is raised.
        ok_(res)
コード例 #2
0
    def test_no_crashing_thread(self, mocked_subprocess_module):
        config = self.get_basic_config()
        raw_crash = copy.copy(canonical_standard_raw_crash)
        raw_dumps = {config.dump_field: 'a_fake_dump.dump'}
        processed_crash = DotDict()
        processed_crash.product = 'Firefox'
        processed_crash.os_name = 'Windows NT'
        processed_crash.cpu_name = 'x86'
        processed_crash.signature = 'EnterBaseline'
        processed_crash['json_dump'] = {}  # note the empty json_dump
        processor_meta = self.get_basic_processor_meta()

        mocked_subprocess_handle = (
            mocked_subprocess_module.Popen.return_value
        )
        mocked_subprocess_handle.stdout.read.return_value = (
            'EXTRA-SPECIAL'
        )
        mocked_subprocess_handle.wait.return_value = 0

        rule = JitCrashCategorizeRule(config)

        # the call to be tested
        res = rule._predicate(
            raw_crash, raw_dumps, processed_crash, processor_meta
        )

        # Simply verify that no exception is raised.
        ok_(res)
コード例 #3
0
    def test_predicate_no_json_dump(self):
        config = self.get_basic_config()
        processed_crash = DotDict({
            'product': 'Firefox',
            'os_name': 'Windows NT',
            'cpu_name': 'x86',
            'signature': 'EnterBaseline',
        })

        rule = JitCrashCategorizeRule(config)

        assert rule._predicate({}, {}, processed_crash, {}) is True
コード例 #4
0
    def test_predicate_no_json_dump(self):
        config = self.get_basic_config()
        processed_crash = DotDict({
            'product': 'Firefox',
            'os_name': 'Windows NT',
            'cpu_name': 'x86',
            'signature': 'EnterBaseline',
        })

        rule = JitCrashCategorizeRule(config)

        assert rule._predicate({}, {}, processed_crash, {}) is True
コード例 #5
0
    def test_predicate_empty_frames(self):
        config = self.get_basic_config()
        processed_crash = DotDict({
            'product': 'Firefox',
            'os_name': 'Windows NT',
            'cpu_name': 'x86',
            'signature': 'EnterBaseline',
            'json_dump': {
                'crashing_thread': {
                    # There is a "frames" key, but nothing in the list
                    'frames': []
                }
            },
        })

        rule = JitCrashCategorizeRule(config)

        assert rule._predicate({}, {}, processed_crash, {}) is True
コード例 #6
0
    def test_predicate_empty_frames(self):
        config = self.get_basic_config()
        processed_crash = DotDict({
            'product': 'Firefox',
            'os_name': 'Windows NT',
            'cpu_name': 'x86',
            'signature': 'EnterBaseline',

            'json_dump': {
                'crashing_thread': {
                    # There is a "frames" key, but nothing in the list
                    'frames': []
                }
            },
        })

        rule = JitCrashCategorizeRule(config)

        assert rule._predicate({}, {}, processed_crash, {}) is True