action #182402
open
[ci] Warning in test output about Devel::Cover: It was not rebuilt for a perl patch version update size:S
Added by gpuliti 11 days ago.
Updated 3 days ago.
Category:
Regressions/Crashes
Description
Observation¶
During ticket #181358 I've found that container run an old version of Devel::Cover
so I've mitigate the issue by hardcoding the installation of that module (see os-autoinst#2071).
The unhandled output:
This version of Devel::Cover was built with Perl version 5.040000.
It is now being run with Perl version 5.040002.
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.
Acceptance criteria¶
-
AC1: os-autoinst CI runs are ensured to not have any output between "… ok" lines relating to Devel::Cover version mismatch
-
AC2: We still have code coverage reports (so don't just remove Devel::Cover)
Rollback actions¶
Suggestions¶
- Description updated (diff)
- Category set to Regressions/Crashes
- Target version set to future
- Related to action #181358: [openQA][CI] Prevent unhandled output in prove test calls with automatic checks in os-autoinst added
- Description updated (diff)
- Related to action #152855: ci: Warning in test output about Devel::Cover: This version of Devel::Cover was built with Perl version 5.038000. size:M added
- Target version deleted (
future)
- Target version set to Tools - Next
@tinita why did you delete target version "future"? Let's try with "Next" -hen :)
Because we are currently implementing a temporary workaround for this, so a ticket in future will likely be forgotten. So I thought it's best to let you decide about Next or Ready.
@gpuliti please refer here to the actual code change in a Rollback Steps section.
- Description updated (diff)
- Priority changed from Normal to High
- Target version changed from Tools - Next to Ready
- Subject changed from Perl version mismatch on container to [ci] Warning in test output about Devel::Cover: It was not rebuilt for a perl patch version update
- Description updated (diff)
- Status changed from New to In Progress
- Assignee set to tinita
Perl patch versions are binary compatible, meaning, between perl 5.40.0 and 5.40.2 XS modules don't have to be rebuilt. However, Devel::Cover is special, because it can run coverage on all installed perl modules, and the paths are built into the module on build time, e.g. /usr/lib/perl5/vendor_perl/5.40.0/Some/Module.pm
.
And if it's run with 5.40.2, it has to adjust these paths by doing a good guess, hence the warning.
It wouldn't affect us IMHO, because we only collect coverage for our modules, not CPAN / vendor modules already installed.
So I asked the author if he's open for a PR to silence the warning with an environment variable, but he says the module should rather be rebuilt on any perl version update.
- Description updated (diff)
- Status changed from In Progress to Feedback
- Description updated (diff)
It was suggested that I use %{requires_eq perl}
. That expands to Requires: perl = current.version
, which would change with a perl version update and rebuild.
I added this to the spec file in a branch, and it builds successfully. Of course this can only be verified with the next perl patch version update, if there will be any.
I will make the submit request after the regular Devel-Cover update.
- Subject changed from [ci] Warning in test output about Devel::Cover: It was not rebuilt for a perl patch version update to [ci] Warning in test output about Devel::Cover: It was not rebuilt for a perl patch version update size:S
- Description updated (diff)
https://build.opensuse.org/requests/1279289 home:tinita:branches:devel:languages:perl / perl-Devel-Cover -> devel:languages:perl / perl-Devel-Cover
accepted.
Now I would wait until the new version is in Tumbleweed and remove the cpanm Devel::Cover
Also available in: Atom
PDF