Support LCOV 2.0
LCOV 2.0, a GCOV frontend, seems to have stricter error checking
This commit is contained in:
parent
47364c147d
commit
ac9e84df3d
@ -3823,7 +3823,7 @@ AC_ARG_ENABLE(gcov,
|
|||||||
AS_HELP_STRING([--enable-gcov], [enable coverage measurement by gcov]),
|
AS_HELP_STRING([--enable-gcov], [enable coverage measurement by gcov]),
|
||||||
[gcov=yes])
|
[gcov=yes])
|
||||||
AS_IF([test x"$gcov" = xyes], [
|
AS_IF([test x"$gcov" = xyes], [
|
||||||
CFLAGS="$CFLAGS -coverage"
|
CFLAGS="$CFLAGS -coverage -fprofile-update=atomic"
|
||||||
LDFLAGS="$LDFLAGS -coverage"
|
LDFLAGS="$LDFLAGS -coverage"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@ -47,7 +47,8 @@ Pathname.glob("**/*.gcda").sort.each do |gcda|
|
|||||||
)?
|
)?
|
||||||
Creating\ .*\n
|
Creating\ .*\n
|
||||||
\n
|
\n
|
||||||
)+\z
|
)+
|
||||||
|
(Lines\ executed:.*\n)?\z
|
||||||
)x
|
)x
|
||||||
raise "Unexpected gcov output"
|
raise "Unexpected gcov output"
|
||||||
end
|
end
|
||||||
|
@ -20,7 +20,7 @@ def backup_gcda_files(gcda_files)
|
|||||||
end
|
end
|
||||||
|
|
||||||
def run_lcov(*args)
|
def run_lcov(*args)
|
||||||
system("lcov", "--rc", "lcov_branch_coverage=1", *args)
|
system("lcov", "--rc", "geninfo_unexecuted_blocks=1", "--rc", "lcov_branch_coverage=1", *args, exception: true)
|
||||||
end
|
end
|
||||||
|
|
||||||
$info_files = []
|
$info_files = []
|
||||||
@ -41,11 +41,19 @@ def run_lcov_remove(info_src, info_out)
|
|||||||
ext/-test-/*
|
ext/-test-/*
|
||||||
ext/nkf/nkf-utf8/nkf.c
|
ext/nkf/nkf-utf8/nkf.c
|
||||||
).each {|f| dirs << File.join(File.dirname(__dir__), f) }
|
).each {|f| dirs << File.join(File.dirname(__dir__), f) }
|
||||||
run_lcov("--remove", info_src, *dirs, "-o", info_out)
|
run_lcov("--ignore-errors", "unused", "--remove", info_src, *dirs, "-o", info_out)
|
||||||
end
|
end
|
||||||
|
|
||||||
def run_genhtml(info, out)
|
def run_genhtml(info, out)
|
||||||
system("genhtml", "--branch-coverage", "--ignore-errors", "source", info, "-o", out)
|
base_dir = File.dirname(File.dirname(__dir__))
|
||||||
|
ignore_errors = %w(source unmapped category).reject do |a|
|
||||||
|
Open3.capture3("genhtml", "--ignore-errors", a)[1].include?("unknown argument for --ignore-errors")
|
||||||
|
end
|
||||||
|
system("genhtml",
|
||||||
|
"--branch-coverage",
|
||||||
|
"--prefix", base_dir,
|
||||||
|
*ignore_errors.flat_map {|a| ["--ignore-errors", a] },
|
||||||
|
info, "-o", out, exception: true)
|
||||||
end
|
end
|
||||||
|
|
||||||
def gen_rb_lcov(file)
|
def gen_rb_lcov(file)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user