From: Eric Wong Date: Sun, 26 Oct 2025 20:59:00 +0000 (+0000) Subject: t/cindex: fix broken size checks X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=166f0dd5c6ed608edd88749380410e79e0aef9aa;p=thirdparty%2Fpublic-inbox.git t/cindex: fix broken size checks Xapian size checks aren't accurate unless the shards are compacted. Unfortunately, I commented out the -compact calls while working on --split-shards but forgot to re-add them :x So re-enable the -compact calls and add an extra flag so we can skip size checks when xapian-compact(1) is missing. Fixes: 622e8c89 (*search: introduce open.lock for reader safety, 2025-10-08) --- diff --git a/t/cindex.t b/t/cindex.t index de61ae0cd..6e651a9aa 100644 --- a/t/cindex.t +++ b/t/cindex.t @@ -78,10 +78,13 @@ ok(run_script([qw(-cindex -L medium --dangerous -q -d), "$tmp/med", '-g', $zp, '-g', "$tmp/wt0"]), 'cindex external medium'); +my $compact_ok; SKIP: { have_xapian_compact 2; - # ok(run_script([qw(-compact -q), "$tmp/ext"]), 'compact on full'); - # ok(run_script([qw(-compact -q), "$tmp/med"]), 'compact on medium'); + $compact_ok = ok(run_script([qw(-compact -q), "$tmp/ext"]), + 'compact on full') && + ok(run_script([qw(-compact -q), "$tmp/med"]), + 'compact on medium'); } my $no_metadata_set = sub { @@ -95,7 +98,8 @@ my $no_metadata_set = sub { } }; -{ +SKIP: { + skip 'xapian-compact missing or broken', 1 if !$compact_ok; my $mid_size = sum(map { -s $_ } glob("$tmp/med/cidx*/*/*")); my $full_size = sum(map { -s $_ } glob("$tmp/ext/cidx*/*/*")); ok($full_size > $mid_size, 'full size > mid size') or @@ -108,6 +112,8 @@ my $no_metadata_set = sub { $full_size = sum(map { -s $_ } glob("$tmp/ext/cidx*/*/*")); ok($full_size > $mid_size, 'full size > mid size after reindex') or diag "full=$full_size mid=$mid_size"; +} +{ my $csrch = PublicInbox::CodeSearch->new("$tmp/med"); my ($xdb0, @xdb) = $csrch->xdb_shards_flat; $no_metadata_set->(0, [], [ $xdb0 ]);