# -*- Perl -*- # DESCRIPTION: Verilator: Internal C++ code lcov control file # # Copyright 2019-2020 by Wilson Snyder. This program is free software; you # can redistribute it and/or modify it under the terms of either the GNU # Lesser General Public License Version 3 or the Perl Artistic License # Version 2.0. # SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0 source_globs("src/*.cpp", "src/*.h", "src/*.l", "src/*.y", "src/obj_dbg/*.h", "src/obj_dbg/*.cpp", "include/*.c", "include/*.cpp", "include/*.h", "include/*/*.h", "include/*/*.cpp", "include/*/*.c", ); # Note *'s are removed when using fastcov remove_source("/usr/*"); remove_source("*/include/sysc/*"); remove_source("*/V3ClkGater.cpp"); remove_source("*/V3ClkGater.h"); remove_source("*/V3GraphDfa.cpp"); remove_source("*/V3GraphDfa.h"); remove_source("*/V3Lexer_pregen.yy.cpp"); remove_source("*/V3PreLex_pregen.yy.cpp"); remove_source("*/verilog.c"); remove_source("*include/gtkwave/*"); # Something wrong in generation, unfortunately as would like this #genhtml: ERROR: cannot read /svaha/wsnyder/SandBox/homecvs/v4/verilator/src/obj_dbg/verilog.y #remove_source("*/src/obj_dbg/verilog.y"); remove_source("*test_regress/*"); remove_source("*examples/*"); # Remove collected coverage on each little test main file # Would just be removed with remove_source in later step remove_gcda_regexp(qr!test_regress/.*/(Vt_|Vtop_).*\.gcda!); # Exclude line entirely, also excludes from function and branch coverage exclude_line_regexp(qr/(\bv3fatalSrc\b |\bfatalSrc\b |\bVL_UNCOVERABLE\b |\bVL_UNREACHABLE\b |\bVL_FATAL |\bUASSERT |\bNUM_ASSERT |\bERROR_RSVD_WORD |\bV3ERROR_NA |\bUINFO\b)/x); # Exclude for branch coverage only exclude_branch_regexp(qr/(\bdebug\(\) |\bassert\( |\bBROKEN_RTK\( |\bSELF_CHECK)/x); 1;