Changeset View
Changeset View
Standalone View
Standalone View
contrib/teamcity/nanobench_json_to_teamcity_messages.py
Show All 27 Lines | |||||
teamcity_messages = TeamcityServiceMessages() | teamcity_messages = TeamcityServiceMessages() | ||||
teamcity_messages.testSuiteStarted( | teamcity_messages.testSuiteStarted( | ||||
suite_name | suite_name | ||||
) | ) | ||||
def testMeta_number_message(test_name, param_name, param_value): | def testMetadata_number_message(test_name, param_name, param_value): | ||||
teamcity_messages.message( | teamcity_messages.message( | ||||
'testMeta', | 'testMetadata', | ||||
type='number', | type='number', | ||||
testName=test_name, | testName=test_name, | ||||
name=param_name, | name=param_name, | ||||
value='{:.2f}'.format(param_value), | value='{:.2f}'.format(param_value), | ||||
) | ) | ||||
for result in json_results.get('results', []): | for result in json_results.get('results', []): | ||||
test_name = result['name'] | test_name = result['name'] | ||||
teamcity_messages.testStarted( | teamcity_messages.testStarted( | ||||
test_name | test_name | ||||
) | ) | ||||
testMeta_number_message( | testMetadata_number_message( | ||||
test_name, | test_name, | ||||
'ns/{}'.format(result['unit']), | 'ns/{}'.format(result['unit']), | ||||
1e9 * result['median(elapsed)'] / result['batch'], | 1e9 * result['median(elapsed)'] / result['batch'], | ||||
) | ) | ||||
testMeta_number_message( | testMetadata_number_message( | ||||
test_name, | test_name, | ||||
'{}/s'.format(result['unit']), | '{}/s'.format(result['unit']), | ||||
result['batch'] / result['median(elapsed)'], | result['batch'] / result['median(elapsed)'], | ||||
) | ) | ||||
testMeta_number_message( | testMetadata_number_message( | ||||
test_name, | test_name, | ||||
'err%', | 'err%', | ||||
100 * result['medianAbsolutePercentError(elapsed)'], | 100 * result['medianAbsolutePercentError(elapsed)'], | ||||
) | ) | ||||
testMeta_number_message( | testMetadata_number_message( | ||||
test_name, | test_name, | ||||
'ins/{}'.format(result['unit']), | 'ins/{}'.format(result['unit']), | ||||
result['median(instructions)'] / result['batch'], | result['median(instructions)'] / result['batch'], | ||||
) | ) | ||||
teamcity_messages.testFinished( | teamcity_messages.testFinished( | ||||
test_name, | test_name, | ||||
testDuration=timedelta(seconds=result['totalTime']), | testDuration=timedelta(seconds=result['totalTime']), | ||||
) | ) | ||||
teamcity_messages.testSuiteFinished( | teamcity_messages.testSuiteFinished( | ||||
suite_name | suite_name | ||||
) | ) |