On Sat, Jul 08, 2023 at 12:09:01PM -0700, Andrew Hewus Fresh wrote: > On Sat, Jul 08, 2023 at 11:18:00AM +0200, Marc Espie wrote: > > Hey, Philip, you wrote this a long time ago. > > > > Now, I'm trying to get some coverage out of Devel::Cover on pkg_add, > > and somehow, it gets in the way. > > > > # perl -MDevel::Cover=+select,OpenBSD/.* /usr/sbin/pkg_add random_run > <snip> > > the problem was: > > > > Found type 9 GLOB(0x64a7292fc10), but it is not representable by the Sereal > > encoding format at > > /usr/local/libdata/perl5/site_perl/amd64-openbsd/Devel/Cover/DB/IO/Sereal.pm > > line 46. > > > > > > I have zero idea if Devel::Cover is to blame or if OpenBSD::MkTemp is > > missing > > some magic annotation to cover for _GEN_1, _GEN_2, but the end result is > > that NO coverage data gets written, none at all (I suspect some missing > > annotations, see below) > > Same, especially when I can't reproduce on my laptop that needs to be > updated or on my sparc64 that just got updated today:
I take that back, running the same command as root I see the same problem. However, trying to reproduce with a simple case doesn't show me the same issue, so not quite sure what Devel::Cover is trying to store. $ cat mktemp.pl #!/usr/bin/perl use v5.36; use OpenBSD::MkTemp qw< mkstemp mkdtemp >; sub output($fh, $content) { print $fh $content; } my $d = mkdtemp("fooXXXXXXXXX"); my ($fh, $file) = mkstemp("fooXXXXXXXXX"); output($fh, "Hello World\n"); close $fh; $ doas perl -MDevel::Cover=+select,OpenBSD.* ./mktemp.pl This version of Devel::Cover was built with Perl version 5.036000. It is now being run with Perl version 5.036001. Attempting to make adjustments, but you may find that some of your modules do not have coverage data collected. You may need to alter the +-inc, +-ignore and +-select options. Devel::Cover 1.40: Collecting coverage data for branch, condition, pod, statement, subroutine and time. Selecting packages matching: OpenBSD.* Ignoring packages matching: /Devel/Cover[./] Ignoring packages in: /usr/local/libdata/perl5/site_perl/sparc64-openbsd /usr/local/libdata/perl5/site_perl /usr/libdata/perl5/sparc64-openbsd /usr/libdata/perl5 Devel::Cover: Deleting old coverage for changed file mktemp.pl Devel::Cover: getting BEGIN block coverage Devel::Cover: 100% - 0s taken Devel::Cover: getting CHECK block coverage Devel::Cover: 100% - 0s taken Devel::Cover: getting END/INIT block coverage Devel::Cover: 100% - 0s taken Devel::Cover: getting CV coverage Devel::Cover: 100% - 0s taken Devel::Cover: Writing coverage database to /tmp/x/cover_db/runs/1688930470.15647.20075 ---------------------------- ------ ------ ------ ------ ------ ------ ------ File stmt bran cond sub pod time total ---------------------------- ------ ------ ------ ------ ------ ------ ------ ...openbsd/OpenBSD/MkTemp.pm 77.7 25.0 25.0 83.3 0.0 0.7 61.7 mktemp.pl 100.0 n/a n/a 100.0 n/a 99.3 100.0 Total 87.5 25.0 25.0 88.8 0.0 100.0 74.5 ---------------------------- ------ ------ ------ ------ ------ ------ ------