X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Finit.t;h=46258e45df4c733d7f52c164331ac3158d64c623;hb=refs%2Fheads%2Fmaster;hp=7382e05bc99e2987656f5bd5c831f3e938f938ab;hpb=7e1c18af5468c7708e28de759911ec5542d23c4b;p=public-inbox.git
diff --git a/t/init.t b/t/init.t
index 7382e05b..46258e45 100644
--- a/t/init.t
+++ b/t/init.t
@@ -1,12 +1,11 @@
-# Copyright (C) 2014-2021 all contributors
+#!perl -w
+# Copyright (C) all contributors
# License: AGPL-3.0+
use strict;
-use warnings;
-use Test::More;
+use v5.10.1;
use PublicInbox::Config;
use PublicInbox::TestCommon;
use PublicInbox::Admin;
-use File::Basename;
my ($tmpdir, $for_destroy) = tmpdir();
sub quiet_fail {
my ($cmd, $msg) = @_;
@@ -98,8 +97,17 @@ sub quiet_fail {
$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::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;
$cmd = [ '-init', 'd-f-conflict', "$tmpdir/d/f/conflict",
@@ -109,7 +117,7 @@ sub quiet_fail {
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";
@@ -197,7 +205,8 @@ SKIP: {
$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');
}