1 # 2 # Copyright (C) 2016 The Android Open Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 # 16 17 18 class FileSummary(object): 19 """Summarizes structure and coverage information from GCC output. 20 21 Represents the data in .gcno and .gcda files. 22 23 Attributes: 24 functions: Dictionary of FunctionSummary objects for each function described 25 in a GCNO file (key: integer ident, value: FunctionSummary object) 26 """ 27 28 def __init__(self): 29 """Inits the object with an empty list in its functions attribute. 30 """ 31 self.functions = {} 32 33 def __str__(self): 34 """Serializes the summary as a string. 35 36 Returns: 37 String representation of the functions, blocks, arcs, and lines. 38 """ 39 output = 'Coverage Summary:\r\n' 40 for ident in self.functions: 41 output += str(self.functions[ident]) 42 return output 43