From f17ed8b1be216e14e1ed38d63d6ea827c7fe198d Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Fri, 9 Mar 2018 11:24:41 +0000 Subject: [PATCH] not-truncated.t: Work correctly as an installed-test Signed-off-by: Simon McVittie --- t/not-truncated.t | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/t/not-truncated.t b/t/not-truncated.t index 15450c267..dba97c8f3 100755 --- a/t/not-truncated.t +++ b/t/not-truncated.t @@ -6,10 +6,39 @@ # -rw-r--r-- root/root 0 2018-01-06 23:20 ./usr/share/perl5/IkiWiki/Plugin/wikitext.pm use warnings; use strict; +use Cwd qw(getcwd); +use File::Find qw(find); use Test::More; my @libs="IkiWiki.pm"; -push @libs, map { chomp; $_ } `find IkiWiki -type f -name \\*.pm`; + +if ($ENV{INSTALLED_TESTS}) { + foreach my $libdir (@INC) { + my $wanted = sub { + return unless /\.pm$/; + my $name = $File::Find::name; + if ($name =~ s{^\Q$libdir/\E}{}) { + push @libs, $name; + } + }; + + if (-e "$libdir/IkiWiki.pm" && -d "$libdir/IkiWiki") { + find($wanted, "$libdir/IkiWiki"); + last; + } + } +} +else { + my $cwd = getcwd; + my $wanted = sub { + return unless /\.pm$/; + my $name = $File::Find::name; + if ($name =~ s{^\Q$cwd/\E}{}) { + push @libs, $name; + } + }; + find($wanted, "$cwd/IkiWiki"); +} plan(tests => scalar @libs);