#
#    Copyright 2015-2016 Nest Labs Inc. All Rights Reserved.
#
#    Licensed under the Apache License, Version 2.0 (the "License");
#    you may not use this file except in compliance with the License.
#    You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.
#

#
#    Description:
#      This file is an lcov configuration file based on the default
#      from /etc/lcovrc. The key difference is the inclusion of
#      'genhtml_branch_coverage = 1' and lcov_branch_coverage = 1' to
#      ensure that branch coverage is reported.
#

# External style sheet file
#genhtml_css_file = gcov.css

# Coverage rate limits
genhtml_hi_limit = 90
genhtml_med_limit = 75

# Width of line coverage field in source code view
genhtml_line_field_width = 12

# Width of branch coverage field in source code view
genhtml_branch_field_width = 16

# Width of overview image
genhtml_overview_width = 80

# Resolution of overview navigation
genhtml_nav_resolution = 4

# Offset for source code navigation
genhtml_nav_offset = 10

# Do not remove unused test descriptions if non-zero
genhtml_keep_descriptions = 0

# Do not remove prefix from directory names if non-zero
genhtml_no_prefix = 0

# Do not create source code view if non-zero
genhtml_no_source = 0

# Specify size of tabs
genhtml_num_spaces = 8

# Highlight lines with converted-only data if non-zero
genhtml_highlight = 0

# Include color legend in HTML output if non-zero
genhtml_legend = 0

# Include HTML file at start of HTML output
#genhtml_html_prolog = prolog.php

# Include HTML file at end of HTML output
#genhtml_html_epilog = epilog.php

# Use custom HTML file extension
#genhtml_html_extension = html

# Compress all generated html files with gzip.
#genhtml_html_gzip = 1

# Include sorted overview pages
genhtml_sort = 1

# Include function coverage data display
#genhtml_function_coverage = 1

# Include branch coverage data display
genhtml_branch_coverage = 1

# Specify the character set of all generated HTML pages
genhtml_charset=UTF-8

# Allow HTML markup in test case description text if non-zero
genhtml_desc_html=0

# Location of the gcov tool
#geninfo_gcov_tool = gcov

# Adjust test names if non-zero
#geninfo_adjust_testname = 0

# Calculate a checksum for each line if non-zero
geninfo_checksum = 0

# Enable libtool compatibility mode if non-zero
geninfo_compat_libtool = 0

# Specify whether to capture coverage data for external source
# files
#geninfo_external = 1

# Use gcov’s --all-blocks option if non-zero
#geninfo_gcov_all_blocks = 1

# Specify compatiblity modes (same as --compat option
# of geninfo)
#geninfo_compat = libtool=on, hammer=auto, split_crc=auto

# Adjust path to source files by removing or changing path
# components that match the specified pattern (Perl regular
# expression format)
#geninfo_adjust_src_path = /tmp/build => /usr/src

# Specify if geninfo should try to automatically determine
# the base-directory when collecting coverage data.
geninfo_auto_base = 1

# Directory containing gcov kernel files
lcov_gcov_dir = /proc/gcov

# Location for temporary directories
lcov_tmp_dir = /tmp

# Show full paths during list operation if non-zero
lcov_list_full_path = 0

# Specify the maximum width for list output. This value is
# ignored when lcov_list_full_path is non-zero.
lcov_list_width = 80

# Specify the maximum percentage of file names which may be
# truncated when choosing a directory prefix in list output.
# This value is ignored when lcov_list_full_path is non-zero.
lcov_list_truncate_max = 20

# Specify if function coverage data should be collected and
# processed.
lcov_function_coverage = 1

# Specify if branch coverage data should be collected and
# processed.
lcov_branch_coverage = 1
