about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/extsearch.t32
-rw-r--r--t/indexlevels-mirror.t3
2 files changed, 34 insertions, 1 deletions
diff --git a/t/extsearch.t b/t/extsearch.t
index 1f62e80c..d933b948 100644
--- a/t/extsearch.t
+++ b/t/extsearch.t
@@ -422,4 +422,36 @@ for my $j (1, 3, 6) {
         like($dirs[-1], qr!/ei[0-9]+/$max\z!, '-j works');
 }
 
+SKIP: {
+        my $d = "$home/extindex-j1";
+        my $o = { 2 => \(my $err = '') };
+        ok(run_script([qw(-xcpdb -R4), $d]), 'xcpdb R4');
+        my @dirs = glob("$d/ei*/?");
+        for my $i (0..3) {
+                is(grep(m!/ei[0-9]+/$i\z!, @dirs), 1, "shard [$i] created");
+        }
+        for my $i (4..5) {
+                is(grep(m!/ei[0-9]+/$i\z!, @dirs), 0, "no shard [$i]");
+        }
+
+        ok(run_script([qw(-xcpdb -R2), $d]), 'xcpdb -R2');
+        @dirs = glob("$d/ei*/?");
+        for my $i (0..1) {
+                is(grep(m!/ei[0-9]+/$i\z!, @dirs), 1, "shard [$i] kept");
+        }
+        for my $i (2..3) {
+                is(grep(m!/ei[0-9]+/$i\z!, @dirs), 0, "no shard [$i]");
+        }
+        skip 'xapian-compact missing', 4 unless have_xapian_compact;
+        ok(run_script([qw(-compact), $d], undef, $o), 'compact');
+        # n.b. stderr contains xapian-compact output
+
+        my @d2 = glob("$d/ei*/?");
+        is_deeply(\@d2, \@dirs, 'dirs consistent after compact');
+        ok(run_script([qw(-extindex --dedupe --all), $d]),
+                '--dedupe works after compact');
+        ok(run_script([qw(-extindex --gc), $d], undef, $o),
+                '--gc works after compact');
+}
+
 done_testing;
diff --git a/t/indexlevels-mirror.t b/t/indexlevels-mirror.t
index bd140cc4..e606e79b 100644
--- a/t/indexlevels-mirror.t
+++ b/t/indexlevels-mirror.t
@@ -158,7 +158,8 @@ my $import_index_incremental = sub {
         SKIP: {
                 skip 'xapian-compact missing', 1 if !have_xapian_compact;
                 my $cmd = [ qw(-compact), $mirror ];
-                ok(run_script($cmd, undef, { 2 => \$err}), "compact $level");
+                ok(run_script($cmd, undef, { 2 => \$err}), "compact $level")
+                        or diag $err;
         }
 };