def get_arch_state_results(arch, current_details, previous_details, output_state_results=False):
result_re = re.compile(arch + '_')
test_results = current_details.find_all('td', id=result_re)
test_results_previous = previous_details.find_all('td', id=result_re)
# find differences from previous to current (result_X)
test_results_dict = {i['id']: i for i in test_results}
test_results_previous_dict = {i['id']: i for i in test_results_previous if i['id'] in test_results_dict.keys()}
states = SortedDict(get_state(v, test_results_previous_dict) for k, v in iteritems(test_results_dict))
# intermediate step:
# - print report of differences
interesting_states = SortedDict({k.split(arch + '_')[1]: v for k, v in iteritems(states) if v['state'] != 'STABLE'})
if output_state_results:
print("arch: %s" % arch)
for state in interesting_states_names:
print("\n%s:\n\t%s\n" % (state, ', '.join(k for k, v in iteritems(interesting_states) if v['state'] == state)))
return interesting_states
评论列表
文章目录