X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Finit.t;h=6f4c9dceeb33e60afcffe2f7ea242abc306add65;hb=HEAD;hp=4bec6a2f31311a66e0ea5777440aec30c67b68e1;hpb=9f02576da775abf208f5a03c03b6f7abd72596d0;p=public-inbox.git diff --git a/t/init.t b/t/init.t index 4bec6a2f..46258e45 100644 --- a/t/init.t +++ b/t/init.t @@ -1,8 +1,8 @@ -# 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; @@ -97,10 +97,16 @@ 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'); - 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; @@ -111,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";