summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2022-04-29 10:00:20 +0200
committerThierry Vignaud <thierry.vignaud@gmail.com>2022-04-29 13:15:09 +0200
commit94eed1e1b4bc848d7646b60dc8d425d7ee30c052 (patch)
tree0f969332ac569868b44ee8850c7fafa1a2bb3b0d
parent530c37ba0a008147ca471921cc69b058e4b8a12b (diff)
downloadperl-RPM4-94eed1e1b4bc848d7646b60dc8d425d7ee30c052.tar
perl-RPM4-94eed1e1b4bc848d7646b60dc8d425d7ee30c052.tar.gz
perl-RPM4-94eed1e1b4bc848d7646b60dc8d425d7ee30c052.tar.bz2
perl-RPM4-94eed1e1b4bc848d7646b60dc8d425d7ee30c052.tar.xz
perl-RPM4-94eed1e1b4bc848d7646b60dc8d425d7ee30c052.zip
Skip a failing test on known broken rpms
It was recently re-enabled in commit e2c45e167796ffb6d6d5c21e0fadfec82d2d4ebf It worked fine on mga9 but it makes several freebsd & mga[3-7] to choke on that test perl: rpmal.c:293: rpmalAdd: Assertion `dspool == ((void *)0) || dspool == al->pool' failed. That assertion was removed in later rpms The stack trace is: Program received signal SIGABRT, Aborted. 0x00007ffff7b21a7a in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007ffff7b21a7a in raise () from /lib64/libc.so.6 #1 0x00007ffff7b0a524 in abort () from /lib64/libc.so.6 #2 0x00007ffff7b0a40f in __assert_fail_base.cold.0 () from /lib64/libc.so.6 #3 0x00007ffff7b169a2 in __assert_fail () from /lib64/libc.so.6 #4 0x00007ffff788b682 in rpmalAdd () from /lib/../lib64/librpm.so.8 #5 0x00007ffff787c74b in rpmtsCreateAl () from /lib/../lib64/librpm.so.8 #6 0x00007ffff787d99f in rpmtsOrder () from /lib/../lib64/librpm.so.8 #7 0x00007ffff78ddde8 in XS_RPM4__Transaction_transorder (my_perl=<optimized out>, cv=<optimized out>) at RPM4.xs:1718 #8 0x00007ffff7da1b21 in Perl_pp_entersub () from /lib64/libperl.so.5.28 #9 0x00007ffff7d97e16 in Perl_runops_standard () from /lib64/libperl.so.5.28 #10 0x00007ffff7d15a17 in perl_run () from /lib64/libperl.so.5.28 #11 0x000000000040125a in main ()
-rw-r--r--RPM4/t/05transaction.t5
1 files changed, 5 insertions, 0 deletions
diff --git a/RPM4/t/05transaction.t b/RPM4/t/05transaction.t
index 18c8c17..1a319b3 100644
--- a/RPM4/t/05transaction.t
+++ b/RPM4/t/05transaction.t
@@ -108,6 +108,10 @@ ok($ts->transremove($roffset), "Removing pkg from header and offset");
ok($ts->transorder == 0, "Run transaction order");
ok($ts->transcheck == 0, "Checking transaction works");
ok(defined($ts->transflag([qw(JUSTDB)])), "Set transflags");
+SKIP: {
+# rpmal.c:293: rpmalAdd: Assertion `dspool == ((void *)0) || dspool == al->pool' failed.
+# on at least mga[3-7], aka with rpm-4.1[14], status is unknown for 4.10 & 4.15
+skip 'assertion failure on older rpm', 1 if `rpm --version` =~ /4\.1[0-5]\./;
ok($ts->transrun(\&callback) == 0, "Running transaction justdb");
process_problems();
@@ -123,6 +127,7 @@ ok($ts->traverse(sub {
}), "Running traverse");
ok($found == 0, "The previously removed rpm is not found");
+};
ok($ts->transadd($h, "test-rpm-1.0-1mdk.noarch.rpm", 1, "/usr", 1) == 0, "Adding a package to transaction with prefix");
ok($ts->transorder == 0, "Run transaction order");