about summary refs log tree commit homepage
path: root/t/admin.t
diff options
context:
space:
mode:
Diffstat (limited to 't/admin.t')
-rw-r--r--t/admin.t16
1 files changed, 14 insertions, 2 deletions
diff --git a/t/admin.t b/t/admin.t
index 8d09bfc1..586938d0 100644
--- a/t/admin.t
+++ b/t/admin.t
@@ -1,11 +1,12 @@
 #!perl -w
-# Copyright (C) 2019-2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use v5.10.1;
 use PublicInbox::TestCommon;
 use PublicInbox::Import;
 use_ok 'PublicInbox::Admin';
+use autodie;
 my $v1 = create_inbox 'v1', -no_gc => 1, sub {};
 my ($tmpdir, $for_destroy) = tmpdir();
 my $git_dir = $v1->{inboxdir};
@@ -13,7 +14,7 @@ my ($res, $err, $v);
 my $v2ibx;
 SKIP: {
         require_mods(qw(DBD::SQLite), 5);
-        require_git(2.6, 1) or skip 5, 'git too old';
+        require_git(2.6, 5);
         $v2ibx = create_inbox 'v2', indexlevel => 'basic', version => 2,
                                 -no_gc => 1, sub {
                 my ($v2w, $ibx) = @_;
@@ -23,6 +24,17 @@ SKIP: {
 };
 
 *resolve_inboxdir = \&PublicInbox::Admin::resolve_inboxdir;
+*resolve_git_dir = \&PublicInbox::Admin::resolve_git_dir;
+
+{
+        symlink $git_dir, my $sym = "$tmpdir/v1-symlink.git";
+        for my $d ('') { # TODO: should work inside $sym/objects
+                local $ENV{PWD} = $sym.$d;
+                chdir $sym.$d;
+                is resolve_git_dir('.'), $sym,
+                        "symlink preserved from {SYMLINKDIR}.git$d";
+        }
+}
 
 # v1
 is(resolve_inboxdir($git_dir), $git_dir, 'top-level GIT_DIR resolved');