From 984c21dda421c4d2c104d72e4954e8ee44a815f3 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 31 Jan 2017 22:55:58 +0000 Subject: search: hoist out git directory search index helper We will be reusing this for indexing normal (code) repositories using git and Xapian, too. --- t/git_idx.t | 24 ++++++++++++++++++++++++ t/search.t | 25 ------------------------- 2 files changed, 24 insertions(+), 25 deletions(-) create mode 100644 t/git_idx.t (limited to 't') diff --git a/t/git_idx.t b/t/git_idx.t new file mode 100644 index 00000000..65667cfc --- /dev/null +++ b/t/git_idx.t @@ -0,0 +1,24 @@ +# Copyright (C) 2015 all contributors +# License: AGPLv3 or later (https://www.gnu.org/licenses/agpl-3.0.txt) +use strict; +use warnings; +use Test::More; +use File::Temp qw/tempdir/; +use Email::MIME; +my $tmpdir = tempdir('pi-git-idx-XXXXXX', TMPDIR => 1, CLEANUP => 1); +my $git_dir = "$tmpdir/a.git"; +use_ok 'PublicInbox::Git'; +use_ok 'PublicInbox::GitIdx'; +my $git = PublicInbox::Git->new($git_dir); +is(0, system(qw(git init -q --bare), $git_dir), "git init (main)"); + +$git->qx(qw(config core.sharedRepository 0644)); +is(git_umask_for($git_dir), oct '022', 'umask is correct for 644'); + +$git->qx(qw(config core.sharedRepository 0664)); +is(git_umask_for($git_dir), oct '002', 'umask is correct for 664'); + +$git->qx(qw(config core.sharedRepository group)); +is(git_umask_for($git_dir), oct '007', 'umask is correct for "group"'); + +done_testing(); diff --git a/t/search.t b/t/search.t index c9c4e346..2e29b827 100644 --- a/t/search.t +++ b/t/search.t @@ -26,31 +26,6 @@ my $rw_commit = sub { $rw->_xdb_acquire->begin_transaction; }; -{ - # git repository perms - is(PublicInbox::SearchIdx->_git_config_perm(undef), - &PublicInbox::SearchIdx::PERM_GROUP, - "undefined permission is group"); - is(PublicInbox::SearchIdx::_umask_for( - PublicInbox::SearchIdx->_git_config_perm('0644')), - 0022, "644 => umask(0022)"); - is(PublicInbox::SearchIdx::_umask_for( - PublicInbox::SearchIdx->_git_config_perm('0600')), - 0077, "600 => umask(0077)"); - is(PublicInbox::SearchIdx::_umask_for( - PublicInbox::SearchIdx->_git_config_perm('0640')), - 0027, "640 => umask(0027)"); - is(PublicInbox::SearchIdx::_umask_for( - PublicInbox::SearchIdx->_git_config_perm('group')), - 0007, 'group => umask(0007)'); - is(PublicInbox::SearchIdx::_umask_for( - PublicInbox::SearchIdx->_git_config_perm('everybody')), - 0002, 'everybody => umask(0002)'); - is(PublicInbox::SearchIdx::_umask_for( - PublicInbox::SearchIdx->_git_config_perm('umask')), - umask, 'umask => existing umask'); -} - { my $root = Email::MIME->create( header_str => [ -- cgit v1.2.3-24-ge0c7