lcov 绝对路径与相对路径
lcov absolute versus relative paths
lcov 如何决定何时使用绝对路径与相对路径?
我有一个 app
目录,其中包含我产品的每个共享库的子目录和多个二进制文件的子目录。像这样:
/home/user/app/libfoo/bar
/home/user/app/libfoo/baz
/home/user/app/libqux
/home/user/app/testsuite
/home/user/app/product
但是,当 运行 到 lcov
和 genhtml
时,目录如下所示:
/home/user/app/libqux
/home/user/app/testsuite
/home/user/app/product
bar
baz
换句话说,我的一个共享库目录中的所有内容都使用相对路径,而其他所有内容都使用绝对路径。 为什么?
我对 lcov
和 genhtml
的调用非常简单:
cd ~/app
testsuite/run_tests
lcov --capture --directory . --output-file coverage.info --gcov-tool gcov-5 --no-external
genhtml coverage.info --output-directory coverage
这是 genhtml
的 --prefix
功能的结果。
-p prefix
--prefix prefix
Remove prefix from all directory names.
Because lists containing long filenames are difficult to read,
there is a mechanism implemented that will automatically try to
shorten all directory names on the overview page beginning with
a common prefix. By default, this is done using an algorithm
that tries to find the prefix which, when applied, will minimize
the resulting sum of characters of all directory names.
Use this option to specify the prefix to be removed by yourself.
在我的案例中,/home/user/app/libfoo
库层次结构涉及到足够多,以至于 genhtml
决定通过剥离它来保存更多字符,而不是更明显的剥离方法 /home/user/app
。
传递一个明确的 --prefix /home/user/app
选项可以解决这个问题。
lcov 如何决定何时使用绝对路径与相对路径?
我有一个 app
目录,其中包含我产品的每个共享库的子目录和多个二进制文件的子目录。像这样:
/home/user/app/libfoo/bar
/home/user/app/libfoo/baz
/home/user/app/libqux
/home/user/app/testsuite
/home/user/app/product
但是,当 运行 到 lcov
和 genhtml
时,目录如下所示:
/home/user/app/libqux
/home/user/app/testsuite
/home/user/app/product
bar
baz
换句话说,我的一个共享库目录中的所有内容都使用相对路径,而其他所有内容都使用绝对路径。 为什么?
我对 lcov
和 genhtml
的调用非常简单:
cd ~/app
testsuite/run_tests
lcov --capture --directory . --output-file coverage.info --gcov-tool gcov-5 --no-external
genhtml coverage.info --output-directory coverage
这是 genhtml
的 --prefix
功能的结果。
-p prefix
--prefix prefix
Remove prefix from all directory names.
Because lists containing long filenames are difficult to read,
there is a mechanism implemented that will automatically try to
shorten all directory names on the overview page beginning with
a common prefix. By default, this is done using an algorithm
that tries to find the prefix which, when applied, will minimize
the resulting sum of characters of all directory names.
Use this option to specify the prefix to be removed by yourself.
在我的案例中,/home/user/app/libfoo
库层次结构涉及到足够多,以至于 genhtml
决定通过剥离它来保存更多字符,而不是更明显的剥离方法 /home/user/app
。
传递一个明确的 --prefix /home/user/app
选项可以解决这个问题。