use PublicInbox::Config;
use PublicInbox::TestCommon;
use PublicInbox::Admin;
-use File::Basename;
my ($tmpdir, $for_destroy) = tmpdir();
sub quiet_fail {
my ($cmd, $msg) = @_;
$cmd = [ '-init', 'deep-non-existent', "$tmpdir/a/b/c/d",
qw(http://example.com/abcd abcd@example.com) ];
$err = '';
+ my $umask = umask(022) // xbail "umask: $!";
ok(run_script($cmd, $env, $rdr), 'initializes non-existent hierarchy');
+ umask($umask) // xbail "umask: $!";
ok(-d "$tmpdir/a/b/c/d", 'directory created');
+ my $desc = "$tmpdir/a/b/c/d/description";
+ is(PublicInbox::Inbox::try_cat($desc),
+ "public inbox for abcd\@example.com\n", 'description set');
+ my $mode = (stat($desc))[2];
+ is(sprintf('0%03o', $mode & 0777), '0644',
+ 'description respects umask');
+
open my $fh, '>', "$tmpdir/d" or BAIL_OUT "open: $!";
close $fh;
$cmd = [ '-init', 'd-f-conflict', "$tmpdir/d/f/conflict",
$err = '';
ok(run_script([qw(-mda --no-precheck)], $env, $rdr), 'deliver V1');
diag "err=$err" if $err;
- $mm = PublicInbox::Msgmap->new("$tmpdir/skip4");
+ $mm = PublicInbox::Msgmap->new_file(
+ "$tmpdir/skip4/public-inbox/msgmap.sqlite3");
$n = $mm->num_for($mid);
is($n, 13, 'V1 NNTP article numbers skipped via --skip-artnum');
}