diff options
Diffstat (limited to 'buildbot_gentoo_ci/steps/logs.py')
-rw-r--r-- | buildbot_gentoo_ci/steps/logs.py | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/buildbot_gentoo_ci/steps/logs.py b/buildbot_gentoo_ci/steps/logs.py index 47112e0..d71eb99 100644 --- a/buildbot_gentoo_ci/steps/logs.py +++ b/buildbot_gentoo_ci/steps/logs.py @@ -184,18 +184,18 @@ class MakeIssue(BuildStep): def __init__(self, **kwargs): super().__init__(**kwargs) - def getNiceErrorLine(self, line): + def getNiceErrorLine(self, full_line): # strip away hex addresses, loong path names, line and time numbers and other stuff - # https://github.com/toralf/tinderbox/blob/main/bin/job.sh#L467 + # https://github.com/toralf/tinderbox/blob/main/bin/job.sh#L469 # FIXME: Add the needed line when needed - if re.search(': line', line): - line = re.sub(r"\d", "<snip>", line) - # Shorten the path - if line.startswith('/usr/'): - line = line.replace(os.path.split(line.split(' ', 1)[0])[0], '/...') - if re.search(': \d:\d: ', line): - line = re.sub(r":\d:\d: ", ": ", line) - return line + new_line = [] + for line in full_line.split(' '): + # Shorten the path + if line.startswith('/usr/') or line.startswith('/var/') or line.startswith('../'): + split_path_line = os.path.split(line) + line = line.replace(split_path_line[0], '...') + new_line.append(line) + return ' '.join(new_line) def ClassifyIssue(self): # get the title for the issue @@ -215,11 +215,12 @@ class MakeIssue(BuildStep): self.error_dict['title_found'] = True else: self.error_dict['title_issue'] = 'title_issue : None' - self.error_dict['title_nice'] = 'title_issue : None' + self.error_dict['title_issue_nice'] = 'title_issue_nice : None' self.error_dict['title_found'] = False - self.error_dict['title_phase'] = 'failed in '+ self.error_dict['phase'] + self.error_dict['title_phase'] = 'fails to '+ self.error_dict['phase'] + ':' #set the error title - self.error_dict['title'] = self.error_dict['title_phase'] + ' - ' + self.error_dict['title_issue'] + self.error_dict['title'] = ' '.join([self.error_dict['title_phase'], self.error_dict['title_issue']]) + self.error_dict['title_nice'] = ' '.join([self.error_dict['title_phase'], self.error_dict['title_issue_nice']]) @defer.inlineCallbacks def run(self): @@ -249,8 +250,6 @@ class MakeIssue(BuildStep): yield self.ClassifyIssue() print(self.error_dict) self.setProperty("status", 'failed', 'status') - #FIXME: nice description for post bug - self.error_dict['summary_log_nice'] = '' self.setProperty("error_dict", self.error_dict, 'error_dict') self.aftersteps_list.append(bugs.GetBugs()) if warning: @@ -463,7 +462,7 @@ class SetupBugReportSteps(BuildStep): bug_args['user'] = bug_config['user'] bug_args['passwd'] = yield p.render(util.Secret("bugs_password")) bug_params = {} - title = separator.join([bug_config['extra_summery'], self.getProperty('error_dict')['cpv'], self.getProperty('error_dict')['title']]) + title = separator.join([bug_config['extra_summery'], self.getProperty('error_dict')['cpv'], self.getProperty('error_dict')['title_nice']]) # bug title max 170 if len(title) >= 170: title = title[:167] + '...' |