action #162866
openCompile test does not work without TEST_PG set on current Tumbleweed 20240622
Description
Observation¶
Compile test fails
Reproducer¶
From within the openQA checkout
# podman run --rm -ti -v .:/work -w /work opensuse/leap:15.6 bash -c 'zypper in -y openQA-devel &>/dev/null && perl -I lib -c t/basic.t'
t/basic.t syntax OK
podman run --rm -ti -v .:/work -w /work opensuse/tumbleweed:latest bash -c 'zypper in -y openQA-devel &>/dev/null && perl -I lib -c t/basic.t'
Updated by tinita 4 days ago
- Status changed from New to In Progress
- Assignee set to tinita
I asked in the #toolchain
channel on irc.perl.org
reproducer shows it changed in 5.38: https://gist.github.com/perlpunk/3042dcdd67c81fb404fe4e2395bb0b49 and it doesn't seem to be Test::More. Couldn't find anything in https://metacpan.org/release/PEVANS/perl-5.38.2/view/pod/perl5380delta.pod
Meanwhile, a simple workaround for use can be to use use_ok 'OpenQA::Test::Database'
or require OpenQA::Test::Database
instead of use OpenQA::Test::Database
.
Updated by tinita 4 days ago
Fast answer: https://perldoc.perl.org/perl5380delta#INIT-blocks-no-longer-run-after-an-exit()-in-BEGIN
INIT blocks no longer run after an exit() in BEGIN INIT blocks will no longer run after an exit() performed inside of a BEGIN. This means that the combination of the -v option and the -c option no longer executes a compile check as well as showing the perl version. The -v > option executes an exit(0) after printing the version information inside of a BEGIN block, and the -c check is implemented by using INIT hooks, resulting in the -v option taking precedence.
< ilmari> because skip_all does exit, and use is BEGIN, the -c test in INIT doesn't run
Updated by openqa_review 3 days ago
- Due date set to 2024-07-11
Setting due date based on mean cycle time of SUSE QE Tools