本文整理汇总了Python中socorro.lib.util.DotDict.dump方法的典型用法代码示例。如果您正苦于以下问题:Python DotDict.dump方法的具体用法?Python DotDict.dump怎么用?Python DotDict.dump使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类socorro.lib.util.DotDict
的用法示例。
在下文中一共展示了DotDict.dump方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_action_case_4
# 需要导入模块: from socorro.lib.util import DotDict [as 别名]
# 或者: from socorro.lib.util.DotDict import dump [as 别名]
def test_action_case_4(self):
"""nothing in 1st dump, sentinel but no secondary in
upload_file_minidump_flash2 dump"""
pc = DotDict()
pc.dump = DotDict()
pijd = copy.deepcopy(cannonical_json_dump)
pc.dump.json_dump = pijd
f2jd = copy.deepcopy(cannonical_json_dump)
pc.upload_file_minidump_flash2 = DotDict()
pc.upload_file_minidump_flash2.json_dump = f2jd
pc.upload_file_minidump_flash2.json_dump['crashing_thread']['frames'][2] \
['function'] = 'NtUserSetWindowPos'
fake_processor = create_basic_fake_processor()
rc = DotDict()
rule = SetWindowPos()
action_result = rule.action(rc, pc, fake_processor)
ok_(action_result)
ok_('classifications' in pc)
ok_('skunk_works' in pc.classifications)
eq_(
pc.classifications.skunk_works.classification,
'NtUserSetWindowPos | other'
)
示例2: test_action_wrong_order
# 需要导入模块: from socorro.lib.util import DotDict [as 别名]
# 或者: from socorro.lib.util.DotDict import dump [as 别名]
def test_action_wrong_order(self):
jd = copy.deepcopy(cannonical_json_dump)
jd['crashing_thread']['frames'][4]['function'] = (
"F_1152915508___________________________________"
)
jd['crashing_thread']['frames'][3]['function'] = (
"mozilla::plugins::PluginInstanceChild::UpdateWindowAttributes"
"(bool)"
)
jd['crashing_thread']['frames'][5]['function'] = (
"mozilla::ipc::RPCChannel::Call(IPC::Message*, IPC::Message*)"
)
pc = DotDict()
pc.dump = DotDict()
pc.dump.json_dump = jd
fake_processor = create_basic_fake_processor()
rc = DotDict()
rd = {}
rule = UpdateWindowAttributes()
action_result = rule.action(rc, rd, pc, fake_processor)
ok_(not action_result)
ok_('classifications' not in pc)
示例3: test_action_case_3
# 需要导入模块: from socorro.lib.util import DotDict [as 别名]
# 或者: from socorro.lib.util.DotDict import dump [as 别名]
def test_action_case_3(self):
"""nothing in 1st dump, sentinel and secondary in
upload_file_minidump_flash2 dump"""
pc = DotDict()
pc.dump = DotDict()
pijd = copy.deepcopy(cannonical_json_dump)
pc.dump.json_dump = pijd
f2jd = copy.deepcopy(cannonical_json_dump)
pc.upload_file_minidump_flash2 = DotDict()
pc.upload_file_minidump_flash2.json_dump = f2jd
pc.upload_file_minidump_flash2.json_dump['threads'][0]['frames'][2] \
['function'] = 'NtUserSetWindowPos'
pc.upload_file_minidump_flash2.json_dump['threads'][0]['frames'][4] \
['function'] = 'F455544145'
fake_processor = create_basic_fake_processor()
rc = DotDict()
rule = SetWindowPos()
action_result = rule.action(rc, pc, fake_processor)
self.assertTrue(action_result)
self.assertTrue('classifications' in pc)
self.assertTrue('skunk_works' in pc.classifications)
self.assertEqual(
pc.classifications.skunk_works.classification,
'NtUserSetWindowPos | F455544145'
)
示例4: test_action_case_5
# 需要导入模块: from socorro.lib.util import DotDict [as 别名]
# 或者: from socorro.lib.util.DotDict import dump [as 别名]
def test_action_case_5(self):
"""nothing in either dump"""
pc = DotDict()
pc.dump = DotDict()
pijd = copy.deepcopy(cannonical_json_dump)
pc.dump.json_dump = pijd
f2jd = copy.deepcopy(cannonical_json_dump)
pc.upload_file_minidump_flash2 = DotDict()
pc.upload_file_minidump_flash2.json_dump = f2jd
fake_processor = create_basic_fake_processor()
rc = DotDict()
rule = SetWindowPos()
action_result = rule.action(rc, pc, fake_processor)
ok_(not action_result)
ok_(not "classifications" in pc)
示例5: test_action_wrong_order
# 需要导入模块: from socorro.lib.util import DotDict [as 别名]
# 或者: from socorro.lib.util.DotDict import dump [as 别名]
def test_action_wrong_order(self):
jd = copy.deepcopy(cannonical_json_dump)
jd['threads'][0]['frames'][4]['function'] = \
"F_1152915508___________________________________"
jd['threads'][0]['frames'][3]['function'] = \
"mozilla::plugins::PluginInstanceChild::UpdateWindowAttributes" \
"(bool)"
jd['threads'][0]['frames'][5]['function'] = \
"mozilla::ipc::RPCChannel::Call(IPC::Message*, IPC::Message*)"
pc = DotDict()
pc.dump = DotDict()
pc.dump.json_dump = jd
fake_processor = create_basic_fake_processor()
rc = DotDict()
rule = UpdateWindowAttributes()
action_result = rule.action(rc, pc, fake_processor)
self.assertFalse(action_result)
self.assertFalse('classifications' in pc)
示例6: test_action_case_3
# 需要导入模块: from socorro.lib.util import DotDict [as 别名]
# 或者: from socorro.lib.util.DotDict import dump [as 别名]
def test_action_case_3(self):
"""nothing in 1st dump, sentinel and secondary in
upload_file_minidump_flash2 dump"""
pc = DotDict()
pc.dump = DotDict()
pijd = copy.deepcopy(cannonical_json_dump)
pc.dump.json_dump = pijd
f2jd = copy.deepcopy(cannonical_json_dump)
pc.upload_file_minidump_flash2 = DotDict()
pc.upload_file_minidump_flash2.json_dump = f2jd
pc.upload_file_minidump_flash2.json_dump["crashing_thread"]["frames"][2]["function"] = "NtUserSetWindowPos"
pc.upload_file_minidump_flash2.json_dump["crashing_thread"]["frames"][4]["function"] = "F455544145"
fake_processor = create_basic_fake_processor()
rc = DotDict()
rule = SetWindowPos()
action_result = rule.action(rc, pc, fake_processor)
ok_(action_result)
ok_("classifications" in pc)
ok_("skunk_works" in pc.classifications)
eq_(pc.classifications.skunk_works.classification, "NtUserSetWindowPos | F455544145")
示例7: test_action_predicate_accept
# 需要导入模块: from socorro.lib.util import DotDict [as 别名]
# 或者: from socorro.lib.util.DotDict import dump [as 别名]
#.........这里部分代码省略.........
# find crashes with 18 version but build date less than 2012-10-23
test_raw_crash = DotDict()
test_raw_crash.PluginHang = "1"
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = "18"
test_raw_crash.BuildID = "20121015"
ok_(filter_rule.predicate(test_raw_crash, DotDict(), fake_processor))
# find crashes with build date less than 2012-10-17
# and version 17 or above
test_raw_crash = DotDict()
test_raw_crash.PluginHang = "1"
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = "17"
test_raw_crash.BuildID = "20121015"
ok_(filter_rule.predicate(test_raw_crash, DotDict(), fake_processor))
# find crashes with no default dump
test_raw_crash = DotDict()
test_raw_crash.PluginHang = "1"
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = "19"
test_raw_crash.BuildID = "20121031"
test_processed_crash = DotDict()
ok_(filter_rule.predicate(test_raw_crash, test_processed_crash, fake_processor))
# find crashes with no architecture info
test_raw_crash = DotDict()
test_raw_crash.PluginHang = "1"
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = "19"
test_raw_crash.BuildID = "20121031"
test_processed_crash = DotDict()
test_processed_crash.dump = "fake dump"
test_processed_crash.json_dump = DotDict()
ok_(filter_rule.predicate(test_raw_crash, test_processed_crash, fake_processor))
# find crashes with amd64 architecture info
test_raw_crash = DotDict()
test_raw_crash.PluginHang = "1"
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = "19"
test_raw_crash.BuildID = "20121031"
test_processed_crash = DotDict()
test_processed_crash.dump = "fake dump"
test_processed_crash.json_dump = DotDict()
test_processed_crash.json_dump.system_info = DotDict()
test_processed_crash.json_dump.cpu_arch = "amd64"
ok_(filter_rule.predicate(test_raw_crash, test_processed_crash, fake_processor))
# find crashes with main dump processing errors
test_raw_crash = DotDict()
test_raw_crash.PluginHang = "1"
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = "19"
test_raw_crash.BuildID = "20121031"
test_processed_crash = DotDict()
test_processed_crash.dump = "fake dump"
test_processed_crash.json_dump = DotDict()
test_processed_crash.json_dump.system_info = DotDict()
test_processed_crash.json_dump.system_info.cpu_arch = "x86"
test_processed_crash.success = False
ok_(filter_rule.predicate(test_raw_crash, test_processed_crash, fake_processor))
# find crashes with extra dump processing errors
test_raw_crash = DotDict()
示例8: _create_basic_processed_crash
# 需要导入模块: from socorro.lib.util import DotDict [as 别名]
# 或者: from socorro.lib.util.DotDict import dump [as 别名]
#.........这里部分代码省略.........
# ++++++++++++++++++++
# date transformations
processed_crash.date_processed = submitted_timestamp
# defaultCrashTime: must have crashed before date processed
submitted_timestamp_as_epoch = int(
time.mktime(submitted_timestamp.timetuple())
)
timestampTime = int(
raw_crash.get('timestamp', submitted_timestamp_as_epoch)
) # the old name for crash time
crash_time = int(
self._get_truncate_or_warn(
raw_crash,
'CrashTime',
processor_notes,
timestampTime,
10
)
)
processed_crash.crash_time = crash_time
if crash_time == submitted_timestamp_as_epoch:
processor_notes.append(
"WARNING: No 'client_crash_date' "
"could be determined from the raw_crash"
)
# StartupTime: must have started up some time before crash
startupTime = int(raw_crash.get('StartupTime', crash_time))
# InstallTime: must have installed some time before startup
installTime = int(raw_crash.get('InstallTime', startupTime))
processed_crash.client_crash_date = datetime.datetime.fromtimestamp(
crash_time,
UTC
)
processed_crash.install_age = crash_time - installTime
processed_crash.uptime = max(0, crash_time - startupTime)
try:
last_crash = int(raw_crash.SecondsSinceLastCrash)
except:
last_crash = None
processed_crash.last_crash = last_crash
# TODO: not sure how to reimplemnt this
#if crash_id in self.priority_job_set:
#processor_notes.append('Priority Job')
#self.priority_job_set.remove(crash_id)
# can't get report id because we don't have the database here
#reportId = processed_crash["id"]
processed_crash.dump = ''
try:
processed_crash.ReleaseChannel = \
raw_crash.ReleaseChannel
except KeyError:
processed_crash.ReleaseChannel = 'unknown'
if self.config.collect_addon:
#logger.debug("collecting Addons")
# formerly 'insertAdddonsIntoDatabase'
addons_as_a_list_of_tuples = self._process_list_of_addons(
raw_crash,
processor_notes
)
processed_crash.addons = addons_as_a_list_of_tuples
if self.config.collect_crash_process:
#logger.debug("collecting Crash Process")
# formerly insertCrashProcess
processed_crash.update(
self._add_process_type_to_processed_crash(raw_crash)
)
processed_crash.addons_checked = None
try:
addons_checked_txt = raw_crash.EMCheckCompatibility.lower()
processed_crash.addons_checked = False
if addons_checked_txt == 'true':
processed_crash.addons_checked = True
except KeyError:
pass # leaving it as None if not in the document
if int(raw_crash.get('PluginHang', False)):
processed_crash.hangid = 'fake-' + uuid
else:
processed_crash.hangid = raw_crash.get('HangID', None)
if int(raw_crash.get('Hang', False)):
processed_crash.hang_type = 1
elif int(raw_crash.get('PluginHang', False)):
processed_crash.hang_type = -1
elif processed_crash.hangid:
processed_crash.hang_type = -1
else:
processed_crash.hang_type = 0
processed_crash.java_stack_trace = \
raw_crash.setdefault('JavaStackTrace', None)
return processed_crash
示例9: test_action_predicate_accept
# 需要导入模块: from socorro.lib.util import DotDict [as 别名]
# 或者: from socorro.lib.util.DotDict import dump [as 别名]
def test_action_predicate_accept(self):
"""test all of the case where the predicate should return True"""
filter_rule = DontConsiderTheseFilter()
fake_processor = create_basic_fake_processor()
# find non-plugin crashes
test_raw_crash = DotDict()
test_raw_crash.PluginHang = '0'
test_raw_dumps = {}
ok_(filter_rule.predicate(
test_raw_crash,
test_raw_dumps,
DotDict(),
fake_processor
))
# find non-Firefox crashes
test_raw_crash = DotDict()
test_raw_crash.PluginHang = '1'
test_raw_crash.ProductName = "Internet Explorer"
ok_(filter_rule.predicate(
test_raw_crash,
test_raw_dumps,
DotDict(),
fake_processor
))
# find crashes with no Version info
test_raw_crash = DotDict()
test_raw_crash.PluginHang = '1'
test_raw_crash.ProductName = "Firefox"
ok_(filter_rule.predicate(
test_raw_crash,
test_raw_dumps,
DotDict(),
fake_processor
))
# find crashes with faulty Version info
test_raw_crash = DotDict()
test_raw_crash.PluginHang = '1'
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = 'dwight'
ok_(filter_rule.predicate(
test_raw_crash,
test_raw_dumps,
DotDict(),
fake_processor
))
# find crashes with no BuildID info
test_raw_crash = DotDict()
test_raw_crash.PluginHang = '1'
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = '17.1'
ok_(filter_rule.predicate(
test_raw_crash,
test_raw_dumps,
DotDict(),
fake_processor
))
# find crashes with faulty BuildID info
test_raw_crash = DotDict()
test_raw_crash.PluginHang = '1'
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = '17.1'
test_raw_crash.BuildID = '201307E2'
ok_(filter_rule.predicate(
test_raw_crash,
test_raw_dumps,
DotDict(),
fake_processor
))
# find crashes with faulty BuildID info (not integer)
test_raw_crash = DotDict()
test_raw_crash.PluginHang = '1'
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = '17.1'
test_raw_crash.BuildID = '201307E2'
ok_(filter_rule.predicate(
test_raw_crash,
test_raw_dumps,
DotDict(),
fake_processor
))
# find crashes with faulty BuildID info (bad month & day)
test_raw_crash = DotDict()
test_raw_crash.PluginHang = '1'
test_raw_crash.ProductName = "Firefox"
test_raw_crash.Version = '17.1'
test_raw_crash.BuildID = '20131458'
ok_(filter_rule.predicate(
test_raw_crash,
test_raw_dumps,
DotDict(),
fake_processor
#.........这里部分代码省略.........