mirror of
https://github.com/MariaDB/server.git
synced 2025-01-15 19:42:28 +01:00
MDEV-26102 followup
* update README * fix version regex to support versions with two digits * die if the version cannot be parsed * support gcc versions 11+ * require JSON::PP not use, to avoid introducing new rpm dependency into MariaDB-test
This commit is contained in:
parent
43173ef261
commit
7baf24a0f8
2 changed files with 9 additions and 15 deletions
|
@ -2,14 +2,7 @@ To be able to see the level of coverage with the current test suite,
|
|||
do the following:
|
||||
|
||||
- Make sure gcov is installed
|
||||
- Compile the MySQL distribution with BUILD/compile-pentium64-gcov (if your
|
||||
machine does not have a pentium CPU, hack this script, or just live with
|
||||
the pentium-specific stuff)
|
||||
- In the mysql-test directory, run this command: ./mysql-test-run -gcov
|
||||
- To see the level of coverage for a given source file:
|
||||
grep -1 source_file_name ../mysql-test-gcov.msg
|
||||
- To see which lines are not yet covered, look at source_file_name.gcov in
|
||||
the source tree. You can find this by doing something like:
|
||||
find source-directory -name "mysqld.cc.gcov"
|
||||
Then think hard about a test case that will cover those lines, and write
|
||||
one!
|
||||
- Compile the MariaDB distribution with -DENABLE_GCOV=1
|
||||
- In the mysql-test directory, run this command: `./mysql-test-run --gcov`
|
||||
- see var/last_changes.dgcov for the coverage of uncommitted code
|
||||
- see `./dgcov -h` for more options
|
||||
|
|
|
@ -63,14 +63,14 @@ my $cmd;
|
|||
if ($opt_purge)
|
||||
{
|
||||
$cmd= "find . -name '*.da' -o -name '*.gcda*' -o -name '*.gcov' -o ".
|
||||
"-name '*.dgcov' | grep -v 'README\.gcov' | xargs rm -f ''";
|
||||
"-name '*.dgcov' | xargs rm -f ''";
|
||||
logv "Running: $cmd";
|
||||
system($cmd)==0 or die "system($cmd): $? $!";
|
||||
exit 0;
|
||||
}
|
||||
|
||||
my $gcc_version= `gcc -dumpversion`;
|
||||
$gcc_version=~ s/(\d).*$/$1/;
|
||||
$gcc_version=~ s/^(\d+)\..*$/$1/ or die "Cannot parse gcc -dumpversion: $gcc_version";
|
||||
|
||||
find(\&gcov_one_file, $root);
|
||||
find(\&write_coverage, $root) if $opt_generate;
|
||||
|
@ -189,11 +189,12 @@ sub gcov_one_file {
|
|||
}
|
||||
} else {
|
||||
use IO::Uncompress::Gunzip qw(gunzip $GunzipError);
|
||||
use JSON::PP;
|
||||
require JSON::PP;
|
||||
my $gcov_file_json;
|
||||
my $fname;
|
||||
s/\.gcda$// if $gcc_version >= 11;
|
||||
gunzip "$_.gcov.json.gz" => \$gcov_file_json or die "gunzip($_.gcov.json.gz): $GunzipError";
|
||||
my $obj= decode_json $gcov_file_json;
|
||||
my $obj= JSON::PP::decode_json $gcov_file_json;
|
||||
for my $file (@{$obj->{files}}) {
|
||||
$fname= $file->{file};
|
||||
for my $line (@{$file->{lines}}){
|
||||
|
|
Loading…
Reference in a new issue