tcp_host_port test_lei lei lei_ok $lei_out $lei_err $lei_opt
test_httpd xbail require_cmd is_xdeeply tail_f
ignore_inline_c_missing no_pollerfd no_coredump cfg_new
- strace strace_inject lsof_pid);
+ strace strace_inject lsof_pid oct_is);
require Test::More;
my @methods = grep(!/\W/, @Test::More::EXPORT);
eval(join('', map { "*$_=\\&Test::More::$_;" } @methods));
$cmd
}
+sub oct_is ($$$) {
+ my ($got, $exp, $msg) = @_;
+ @_ = (sprintf('0%03o', $got), sprintf('0%03o', $exp), $msg);
+ goto &is; # tail recursion to get lineno from callers on failure
+}
+
package PublicInbox::TestCommon::InboxWakeup;
use strict;
sub on_inbox_unlock { ${$_[0]}->($_[1]) }
$im->add($eml) or BAIL_OUT '->add';
};
umask(077) or BAIL_OUT "umask: $!";
-is(((stat("$ibx->{inboxdir}/public-inbox"))[2]) & 07777, 0755,
+oct_is(((stat("$ibx->{inboxdir}/public-inbox"))[2]) & 07777, 0755,
'sharedRepository respected for v1');
-is(((stat("$ibx->{inboxdir}/public-inbox/msgmap.sqlite3"))[2]) & 07777, 0644,
- 'sharedRepository respected for v1 msgmap');
+oct_is(((stat("$ibx->{inboxdir}/public-inbox/msgmap.sqlite3"))[2]) & 07777,
+ 0644, 'sharedRepository respected for v1 msgmap');
my @xdir = glob("$ibx->{inboxdir}/public-inbox/xap*/*");
foreach (@xdir) {
my @st = stat($_);
- is($st[2] & 07777, -f _ ? 0644 : 0755,
+ oct_is($st[2] & 07777, -f _ ? 0644 : 0755,
'sharedRepository respected on file after convert');
}
@xdir = glob("$ibx->{inboxdir}/public-inbox/xap*");
is(scalar(@xdir), 1, 'got one xapian directory after compact');
-is(((stat($xdir[0]))[2]) & 07777, 0755,
+oct_is(((stat($xdir[0]))[2]) & 07777, 0755,
'sharedRepository respected on v1 compact');
my $hwm = do {
@xdir = glob("$tmpdir/x/v2/xap*/*");
foreach (@xdir) {
my @st = stat($_);
- is($st[2] & 07777, -f _ ? 0644 : 0755,
+ oct_is($st[2] & 07777, -f _ ? 0644 : 0755,
'sharedRepository respected after convert');
}
@xdir = glob("$tmpdir/x/v2/xap*/*");
foreach (@xdir) {
my @st = stat($_);
- is($st[2] & 07777, -f _ ? 0644 : 0755,
+ oct_is($st[2] & 07777, -f _ ? 0644 : 0755,
'sharedRepository respected after v2 compact');
}
-is(((stat("$tmpdir/x/v2/msgmap.sqlite3"))[2]) & 07777, 0644,
+oct_is(((stat("$tmpdir/x/v2/msgmap.sqlite3"))[2]) & 07777, 0644,
'sharedRepository respected for v2 msgmap');
@xdir = (glob("$tmpdir/x/v2/git/*.git/objects/*/*"),
glob("$tmpdir/x/v2/git/*.git/objects/pack/*"));
foreach (@xdir) {
my @st = stat($_);
- is($st[2] & 07777, -f _ ? 0444 : 0755,
+ oct_is($st[2] & 07777, -f _ ? 0444 : 0755,
'sharedRepository respected after v2 compact');
}
my $msgs = $ibx->over->recent({limit => 1000});