diff options
author | Sergei Golubchik <serg@mariadb.org> | 2022-12-01 20:24:12 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2022-12-02 16:19:13 +0100 |
commit | 7baf24a0f8e9491a55e47734d5242821a360f1bc (patch) | |
tree | 46495a68967af14a2ce5082e6789ffa74910098b /mysql-test/dgcov.pl | |
parent | 43173ef2614030afbf0d393a93932e7e8bab1d3e (diff) | |
download | mariadb-git-7baf24a0f8e9491a55e47734d5242821a360f1bc.tar.gz |
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
Diffstat (limited to 'mysql-test/dgcov.pl')
-rwxr-xr-x | mysql-test/dgcov.pl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mysql-test/dgcov.pl b/mysql-test/dgcov.pl index 7ef0a918a96..4adafd552fa 100755 --- a/mysql-test/dgcov.pl +++ b/mysql-test/dgcov.pl @@ -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}}){ |