From: Eric Wong Date: Wed, 6 Dec 2023 21:12:24 +0000 (+0000) Subject: t/cindex: fix test when worktree PWD is a symlink X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=499ceaa18ac3fe5135f683938cb471df96e22c8b;p=thirdparty%2Fpublic-inbox.git t/cindex: fix test when worktree PWD is a symlink Our code aims to respect $ENV{PWD} (and therefore symlinks) as much as possible to ensure portability across devices when repos and indices are on portable or shared storage. Thus we can't rely on Cwd::abs_path and ought to favor File::Spec->rel2abs whenever absolute paths are required. I noticed this when working on a VM where my worktree is a symlink to a more reliable device. --- diff --git a/t/cindex.t b/t/cindex.t index 716e59847..15c860e13 100644 --- a/t/cindex.t +++ b/t/cindex.t @@ -3,7 +3,7 @@ # License: AGPL-3.0+ use v5.12; use PublicInbox::TestCommon; -use Cwd qw(getcwd abs_path); +use Cwd qw(getcwd); use List::Util qw(sum); use autodie qw(close mkdir open rename); require_mods(qw(json Xapian +SCM_RIGHTS)); @@ -67,6 +67,7 @@ git gc -q EOM }; # /create_coderepo +$zp = File::Spec->rel2abs($zp); ok(run_script([qw(-cindex --dangerous -q -d), "$tmp/ext", '-g', $zp, '-g', "$tmp/wt0" ]), 'cindex external'); @@ -125,7 +126,7 @@ use_ok 'PublicInbox::CodeSearch'; my @xh_args; my $exp = [ 'initial with NUL character', 'remove NUL character' ]; -my $zp_git = abs_path("$zp/.git"); +my $zp_git = "$zp/.git"; if ('multi-repo search') { my $csrch = PublicInbox::CodeSearch->new("$tmp/ext"); my $mset = $csrch->mset('NUL');