本文整理汇总了Python中webkitpy.common.checkout.scm.detection.SCMDetector.commit_position方法的典型用法代码示例。如果您正苦于以下问题:Python SCMDetector.commit_position方法的具体用法?Python SCMDetector.commit_position怎么用?Python SCMDetector.commit_position使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webkitpy.common.checkout.scm.detection.SCMDetector
的用法示例。
在下文中一共展示了SCMDetector.commit_position方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _generate_results_dict
# 需要导入模块: from webkitpy.common.checkout.scm.detection import SCMDetector [as 别名]
# 或者: from webkitpy.common.checkout.scm.detection.SCMDetector import commit_position [as 别名]
def _generate_results_dict(self, timestamp, description, platform, builder_name, build_number):
revisions = {}
path = self._port.repository_path()
scm = SCMDetector(self._host.filesystem, self._host.executive).detect_scm_system(path) or self._host.scm()
revision = str(scm.commit_position(path))
revisions['chromium'] = {'revision': revision, 'timestamp': scm.timestamp_of_revision(path, revision)}
meta_info = {
'description': description,
'buildTime': self._datetime_in_ES5_compatible_iso_format(self._utc_timestamp),
'platform': platform,
'revisions': revisions,
'builderName': builder_name,
'buildNumber': int(build_number) if build_number else None}
contents = {'tests': {}}
for key, value in meta_info.items():
if value:
contents[key] = value
for test, metrics in self._results:
for metric_name, iteration_values in metrics.iteritems():
if not isinstance(iteration_values, list): # We can't reports results without individual measurements.
continue
tests = contents['tests']
path = test.test_name_without_file_extension().split('/')
for i in range(0, len(path)):
is_last_token = i + 1 == len(path)
url = self.view_source_url(
'PerformanceTests/' + (test.test_name() if is_last_token else '/'.join(path[0:i + 1])))
tests.setdefault(path[i], {'url': url})
current_test = tests[path[i]]
if is_last_token:
current_test.setdefault('metrics', {})
assert metric_name not in current_test['metrics']
current_test['metrics'][metric_name] = {'current': iteration_values}
else:
current_test.setdefault('tests', {})
tests = current_test['tests']
return contents