-# Copyright (C) 2014-2021 all contributors <meta@public-inbox.org>
+#!perl -w
+# Copyright (C) all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict;
-use warnings;
-use Test::More;
+use v5.10.1;
use PublicInbox::Config;
use PublicInbox::TestCommon;
use PublicInbox::Admin;
$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');
- is(PublicInbox::Inbox::try_cat("$tmpdir/a/b/c/d/description"),
+ my $desc = "$tmpdir/a/b/c/d/description";
+ is(PublicInbox::Git::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;
SKIP: {
require_mods(qw(DBD::SQLite Search::Xapian), 2);
- require_git(2.6, 1) or skip "git 2.6+ required", 2;
+ require_git(2.6, 2);
use_ok 'PublicInbox::Msgmap';
local $ENV{PI_DIR} = "$tmpdir/.public-inbox/";
local $ENV{PI_EMERGENCY} = "$tmpdir/.public-inbox/emergency";
$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');
}