| #/////////////////////////////////////////////////////////////////////////////// |
| #// Copyright (c) 2000-2019 Ericsson Telecom AB // |
| #// // |
| #// All rights reserved. This program and the accompanying materials // |
| #// are made available under the terms of the Eclipse Public License v2.0 // |
| #// which accompanies this distribution, and is available at // |
| #// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html // |
| #/////////////////////////////////////////////////////////////////////////////// |
| BEGIN { |
| FS=":[ \t]*|[ \t]+" |
| unusedCounter=0 |
| allFunctions=0 |
| } |
| |
| #function references from TTCN3Coverage.fns: |
| /^f:/ { |
| if (fns[$3":"$4]==0) { |
| fns[$3":"$4]=$2 |
| fnLocation[++allFunctions]=$3":"$4 |
| } |
| } |
| |
| |
| /^[[:digit:]]+:/ { |
| if (fns[$2":"$3]!="") { |
| usedFns[$2":"$3]=1; |
| #print "used: "fns[$2":"$3]"\t"$2":"$3 |
| } |
| } |
| |
| END { |
| print "------------------------------" |
| print "- Unused functions -" |
| print "------------------------------" |
| n=asort(fnLocation); |
| for(i = 1; i <= n; i++) { |
| if(usedFns[fnLocation[i]]==1) { |
| continue |
| } |
| unusedCounter++; |
| print fnLocation[i]":\t`"fns[fnLocation[i]]"' unused." |
| } |
| if (allFunctions==0) { |
| unusedRatio=0 |
| print "No functions found!" |
| } else { |
| unusedRatio=unusedCounter/allFunctions |
| if (unusedCounter==0) { |
| print "All functions are used!" |
| } |
| } |
| print ("Functions not used: "unusedCounter " out of "allFunctions, |
| "("unusedRatio*100"% of all)") |
| } |