This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.5 KiB
45 lines
1.5 KiB
/* |
|
Copyright 2012-2015, Yahoo Inc. |
|
Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. |
|
*/ |
|
"use strict"; |
|
|
|
function TeamcityReport(opts) { |
|
opts = opts || {}; |
|
this.file = opts.file || null; |
|
this.blockName = opts.blockName || 'Code Coverage Summary'; |
|
} |
|
|
|
function lineForKey(value, teamcityVar) { |
|
return '##teamcity[buildStatisticValue key=\'' + teamcityVar + '\' value=\'' + value + '\']'; |
|
} |
|
|
|
TeamcityReport.prototype.onStart = function (node, context) { |
|
var metrics = node.getCoverageSummary(), |
|
cw; |
|
|
|
cw = context.writer.writeFile(this.file); |
|
cw.println(''); |
|
cw.println('##teamcity[blockOpened name=\''+ this.blockName +'\']'); |
|
|
|
//Statements Covered |
|
cw.println(lineForKey(metrics.statements.covered, 'CodeCoverageAbsBCovered')); |
|
cw.println(lineForKey(metrics.statements.total, 'CodeCoverageAbsBTotal')); |
|
|
|
//Branches Covered |
|
cw.println(lineForKey(metrics.branches.covered, 'CodeCoverageAbsRCovered')); |
|
cw.println(lineForKey(metrics.branches.total, 'CodeCoverageAbsRTotal')); |
|
|
|
//Functions Covered |
|
cw.println(lineForKey(metrics.functions.covered, 'CodeCoverageAbsMCovered')); |
|
cw.println(lineForKey(metrics.functions.total, 'CodeCoverageAbsMTotal')); |
|
|
|
//Lines Covered |
|
cw.println(lineForKey(metrics.lines.covered, 'CodeCoverageAbsLCovered')); |
|
cw.println(lineForKey(metrics.lines.total, 'CodeCoverageAbsLTotal')); |
|
|
|
cw.println('##teamcity[blockClosed name=\''+ this.blockName +'\']'); |
|
cw.close(); |
|
}; |
|
|
|
module.exports = TeamcityReport;
|
|
|