diff options
author | Eric Wong <e@80x24.org> | 2023-12-08 03:54:37 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-12-09 02:03:51 +0000 |
commit | 2ebbc92688ec061cefd3ec374f2e4c2937e330f9 (patch) | |
tree | 511d54fb76dc5a264f0e682cb039c3c214ae1c3f /t | |
parent | 352c78a9a1ec3bfc6743b3217aa5964aa09a3829 (diff) | |
download | public-inbox-2ebbc92688ec061cefd3ec374f2e4c2937e330f9.tar.gz |
This will allow us to use p2q-compatible specifications such as "dfpost7" to only capture blob OIDs which are 7 characters in length (the indexer will always index down to 7 characters)
Diffstat (limited to 't')
-rw-r--r-- | t/xap_helper.t | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/t/xap_helper.t b/t/xap_helper.t index ec78998c..be010c75 100644 --- a/t/xap_helper.t +++ b/t/xap_helper.t @@ -241,6 +241,39 @@ for my $n (@NO_CXX) { "#$docid $pfx as expected ($xhc->{impl})"; } } + my $nr; + for my $i (7, 8, 39, 40) { + pipe($err_r, $err_w); + $r = $xhc->mkreq([ undef, $err_w ], qw(dump_roots -c -A), + "XDFPOST$i", (map { ('-d', $_) } @int), + $root2id_file, 'dt:19700101'.'000000..'); + close $err_w; + @res = <$r>; + my @err = <$err_r>; + if (defined $nr) { + is scalar(@res), $nr, + "got expected results ($xhc->{impl})"; + } else { + $nr //= scalar @res; + ok $nr, "got initial results ($xhc->{impl})"; + } + my @oids = (join('', @res) =~ /^([a-f0-9]+) /gms); + is_deeply [grep { length == $i } @oids], \@oids, + "all OIDs match expected length ($xhc->{impl})"; + my ($nr_out) = ("@err" =~ /nr_out=(\d+)/); + is $nr_out, scalar(@oids), "output count matches $xhc->{impl}" + or diag explain(\@res, \@err); + } + pipe($err_r, $err_w); + $r = $xhc->mkreq([ undef, $err_w ], qw(dump_ibx -A XDFPOST7), + @ibx_shard_args, qw(13 rt:0..)); + close $err_w; + @res = <$r>; + my @err = <$err_r>; + my ($nr_out) = ("@err" =~ /nr_out=(\d+)/); + my @oids = (join('', @res) =~ /^([a-f0-9]{7}) /gms); + is $nr_out, scalar(@oids), "output count matches $xhc->{impl}" or + diag explain(\@res, \@err); } done_testing; |