Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(661)

Unified Diff: compiler/lib/coverage.dart

Issue 9702034: Removes dartc reliance on its own libraries, now can be targeted at any implementation's libraries (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: junit tests fixed Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « compiler/lib/corelib_impl.dart ('k') | compiler/lib/error.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: compiler/lib/coverage.dart
diff --git a/compiler/lib/coverage.dart b/compiler/lib/coverage.dart
deleted file mode 100644
index cfbd1458772f6d13b85fd32b66c31a2df4a394ac..0000000000000000000000000000000000000000
--- a/compiler/lib/coverage.dart
+++ /dev/null
@@ -1,213 +0,0 @@
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-//#library("coverage");
-
-// Dart coverage test
-class Coverage{
- static Map<String, Set<String>> coveredFunctions;
- static Map<String, Set<int>> coveredStatements;
- static Map<String, Map<int, Set<int>>> coveredBranches;
- static Set<String> loopBranchTracker;
- static Map<String, int> totalFunctions, totalStatements, totalBranches;
-
- static void init() {
- coveredFunctions = new HashMap<String, Set<String>>();
- coveredStatements = new HashMap<String, Set<int>>();
- coveredBranches = new HashMap<String, Map<int, Set<int>>>();
- loopBranchTracker = new Set<String>();
- totalFunctions = new HashMap<String, int>();
- totalStatements = new HashMap<String, int>();
- totalBranches = new HashMap<String, int>();
- }
-
-}
-
-// Call for each Dart Unit
-void setCoverageTotals(String unit, int numFunctions, int numStatements,
- int numBranches) {
- if(Coverage.totalFunctions == null){
- Coverage.init();
- }
- Coverage.totalFunctions[unit] = numFunctions;
- Coverage.totalStatements[unit] = numStatements;
- Coverage.totalBranches[unit] = numBranches;
-}
-
-void coverFunction(String unitName, String funcName) {
- if(Coverage.coveredFunctions == null) {
- Coverage.init();
- }
- if(Coverage.coveredFunctions[unitName] == null) {
- Coverage.coveredFunctions[unitName] = new Set<String>();
- }
- Coverage.coveredFunctions[unitName].add(funcName);
-}
-
-void coverStatement(String unitName, int lineNum) {
- if(Coverage.coveredStatements == null) {
- Coverage.init();
- }
- if(Coverage.coveredStatements[unitName] == null) {
- Coverage.coveredStatements[unitName] = new Set<int>();
- }
- Coverage.coveredStatements[unitName].add(lineNum);
-}
-
-void coverBranch(String unitName, int lineNum, int startPos) {
- if(Coverage.coveredBranches == null) {
- Coverage.init();
- }
- if(Coverage.coveredBranches[unitName] == null) {
- Coverage.coveredBranches[unitName] = new HashMap<int, Set<int>>();
- }
- if(Coverage.coveredBranches[unitName][lineNum] == null) {
- Coverage.coveredBranches[unitName][lineNum] = new Set<int>();
- }
- Coverage.coveredBranches[unitName][lineNum].add(startPos);
-}
-
-void loopBranchBefore(String unitName, int lineNum, int startPos) {
- Coverage.loopBranchTracker.remove('$unitName,$lineNum,$startPos');
-}
-
-void loopBranchInside(String unitName, int lineNum, int startPos) {
- Coverage.loopBranchTracker.add('$unitName,$lineNum,$startPos');
-}
-
-void coverLoopBranch(String unitName, int lineNum, int startPos, int endPos) {
- if(Coverage.coveredBranches == null) {
- Coverage.init();
- }
- if(Coverage.coveredBranches[unitName] == null) {
- Coverage.coveredBranches[unitName] = new HashMap<int, Set<int>>();
- }
- if(Coverage.coveredBranches[unitName][lineNum] == null) {
- Coverage.coveredBranches[unitName][lineNum] = new Set<int>();
- }
-
- if(Coverage.loopBranchTracker.contains('$unitName,$lineNum,$startPos')) {
- // Branch that enters loop.
- Coverage.coveredBranches[unitName][lineNum].add(startPos);
- } else {
- // Branch that doesn't enter loop.
- Coverage.coveredBranches[unitName][lineNum].add(endPos);
- }
-
-}
-
-void printCoverageSummary() {
- print(getCoverageSummary());
-}
-
-String getCoverageSummary() {
- int covFunc = 0, totFunc = 0, covStmt = 0, totStmt = 0, covBr = 0, totBr = 0;
- if(Coverage.totalFunctions != null) {
- for(String unit in Coverage.totalFunctions.getKeys()) {
- if(Coverage.coveredFunctions.containsKey(unit)) {
- covFunc += Coverage.coveredFunctions[unit].length;
- }
- if(Coverage.totalFunctions.containsKey(unit)) {
- totFunc += Coverage.totalFunctions[unit];
- }
- }
- }
-
- if(Coverage.totalStatements != null) {
- for(String unit in Coverage.totalStatements.getKeys()) {
- if(Coverage.coveredStatements.containsKey(unit)) {
- covStmt += Coverage.coveredStatements[unit].length;
- }
- if(Coverage.totalStatements.containsKey(unit)) {
- totStmt += Coverage.totalStatements[unit];
- }
- }
- }
-
- if(Coverage.totalBranches != null) {
- for(String unit in Coverage.totalBranches.getKeys()) {
- if(Coverage.coveredBranches.containsKey(unit)) {
- Map<int, Set<int>> brn = Coverage.coveredBranches[unit];
- for(int line in brn.getKeys()) {
- for(int st in brn[line]) {
- covBr++;
- }
- }
- }
- if(Coverage.totalBranches.containsKey(unit)) {
- totBr += Coverage.totalBranches[unit];
- }
- }
- }
-
- StringBuffer output = new StringBuffer('COVERAGE SUMMARY:\n');
- output.add('Function Coverage = ');
- output.add('$covFunc/$totFunc (${calculatePercent(covFunc,totFunc)}%)\n');
- output.add('Statement Coverage = ');
- output.add('$covStmt/$totStmt (${calculatePercent(covStmt,totStmt)}%)\n');
- output.add('Branch Coverage = ');
- output.add('$covBr/$totBr (${calculatePercent(covBr,totBr)}%)');
- return output.toString();
-}
-
-String getCoverageDetails(){
- Set<String> allUnits = new HashSet<String>();
- if(Coverage.totalFunctions != null) {
- allUnits.addAll(Coverage.totalFunctions.getKeys());
- }
- if(Coverage.totalStatements != null) {
- allUnits.addAll(Coverage.totalStatements.getKeys());
- }
- if(Coverage.totalBranches != null) {
- allUnits.addAll(Coverage.totalBranches.getKeys());
- }
-
- StringBuffer coverageDetails = new StringBuffer();
- for(String unit in allUnits) {
- int covFunc = 0, totFunc = 0, covStmt = 0, totStmt = 0, covBr = 0, totBr = 0;
- if(Coverage.totalFunctions != null &&
- Coverage.totalFunctions.containsKey(unit)) {
- if(Coverage.coveredFunctions.containsKey(unit)){
- covFunc = Coverage.coveredFunctions[unit].length;
- }
- totFunc = Coverage.totalFunctions[unit];
- }
- if(Coverage.totalStatements != null &&
- Coverage.totalStatements.containsKey(unit)) {
- if(Coverage.coveredStatements.containsKey(unit)){
- covStmt = Coverage.coveredStatements[unit].length;
- }
- totStmt = Coverage.totalStatements[unit];
- }
- if(Coverage.totalBranches != null &&
- Coverage.totalBranches.containsKey(unit)) {
- if(Coverage.coveredBranches.containsKey(unit)){
- Map<int, Set<int>> brn = Coverage.coveredBranches[unit];
- for(int line in brn.getKeys()) {
- for(int st in brn[line]) {
- covBr++;
- }
- }
- }
- totBr = Coverage.totalBranches[unit];
- }
- coverageDetails.add('<tr> <td>$unit <td> $covFunc/$totFunc ');
- coverageDetails.add('<td> $covStmt/$totStmt <td> $covBr/$totBr\n');
- }
- return coverageDetails.toString();
-}
-
-String calculatePercent(int val, int total){
- return (val/total*100).toStringAsPrecision(3);
-}
-
-String getString(Map m){
- StringBuffer o = new StringBuffer();
- if(m != null) {
- for(String key in m.getKeys()){
- o.add('$key:${m[key]}\n');
- }
- }
- return o.toString();
-}
« no previous file with comments | « compiler/lib/corelib_impl.dart ('k') | compiler/lib/error.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698