From 94eed1e1b4bc848d7646b60dc8d425d7ee30c052 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 29 Apr 2022 10:00:20 +0200 Subject: 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=, cv=) 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 () --- RPM4/t/05transaction.t | 5 +++++ 1 file changed, 5 insertions(+) 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"); -- cgit v1.2.1