Include accurate build time in CDash report
This commit is contained in:
parent
8d0872083c
commit
6355ee208c
@ -63,10 +63,10 @@ def __init__(self, args):
|
||||
self.buildname = args.cdash_build or self.install_command
|
||||
self.site = args.cdash_site or socket.gethostname()
|
||||
self.osname = platform.system()
|
||||
self.starttime = int(time.time())
|
||||
self.endtime = int(time.time())
|
||||
buildstamp_format = "%Y%m%d-%H%M-{0}".format(args.cdash_track)
|
||||
self.buildstamp = time.strftime(buildstamp_format,
|
||||
time.localtime(self.starttime))
|
||||
time.localtime(self.endtime))
|
||||
self.buildId = None
|
||||
self.revision = ''
|
||||
git = which('git')
|
||||
@ -80,16 +80,18 @@ def build_report(self, filename, report_data):
|
||||
report_data[phase] = {}
|
||||
report_data[phase]['log'] = ""
|
||||
report_data[phase]['status'] = 0
|
||||
report_data[phase]['starttime'] = self.starttime
|
||||
report_data[phase]['endtime'] = self.starttime
|
||||
report_data[phase]['endtime'] = self.endtime
|
||||
|
||||
# Track the phases we perform so we know what reports to create.
|
||||
phases_encountered = []
|
||||
total_duration = 0
|
||||
|
||||
# Parse output phase-by-phase.
|
||||
phase_regexp = re.compile(r"Executing phase: '(.*)'")
|
||||
cdash_phase = ''
|
||||
for spec in report_data['specs']:
|
||||
if 'time' in spec:
|
||||
total_duration += int(spec['time'])
|
||||
for package in spec['packages']:
|
||||
if 'stdout' in package:
|
||||
current_phase = ''
|
||||
@ -121,7 +123,9 @@ def build_report(self, filename, report_data):
|
||||
build_pos = phases_encountered.index("build")
|
||||
phases_encountered.insert(0, phases_encountered.pop(build_pos))
|
||||
|
||||
self.starttime = self.endtime - total_duration
|
||||
for phase in phases_encountered:
|
||||
report_data[phase]['starttime'] = self.starttime
|
||||
errors, warnings = parse_log_events(
|
||||
report_data[phase]['log'].splitlines())
|
||||
nerrors = len(errors)
|
||||
@ -182,8 +186,8 @@ def concretization_report(self, filename, msg):
|
||||
report_data = {}
|
||||
self.initialize_report(filename, report_data)
|
||||
report_data['update'] = {}
|
||||
report_data['update']['starttime'] = self.starttime
|
||||
report_data['update']['endtime'] = self.starttime
|
||||
report_data['update']['starttime'] = self.endtime
|
||||
report_data['update']['endtime'] = self.endtime
|
||||
report_data['update']['revision'] = self.revision
|
||||
report_data['update']['log'] = msg
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user