Enable MFHD tests to find their testdata
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 14 Feb 2011 07:22:11 +0000 (07:22 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 14 Feb 2011 07:22:11 +0000 (07:22 +0000)
When the MFHD tests wrapped in mfhd.t are invoked from outside of the directory,
they tests failed to find the mfhddata.txt file. Judicious use of the __FILE__
special literal and File::Basename::dirname() avoids that problem. Now we just
need to munge @INC to ensure that testlib.pm can be resolved (and hope that
no conflicts ever turn up).

git-svn-id: svn://svn.open-ils.org/ILS/trunk@19442 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/lib/OpenILS/Utils/MFHD/test/mfhd.t

index 35d86cd..e6dcf44 100644 (file)
@@ -4,6 +4,7 @@ use strict;
 use warnings;
 use Data::Dumper;
 use Test::More 'no_plan';
+use File::Basename qw(dirname);
 
 use MARC::Record;
 use OpenILS::Utils::MFHD;
@@ -30,7 +31,8 @@ sub right_answer {
 my $rec;
 my @captions;
 
-open(my $testdata, "<mfhddata.txt") or die("Cannot open 'mfhddata.txt': $!");
+my $testfile = dirname(__FILE__) . "/mfhddata.txt";
+open(my $testdata, "<", $testfile) or die("Cannot open '$testfile': $!");
 
 while ($rec = testlib::load_MARC_rec($testdata, $testno++)) {
     $rec = MFHD->new($rec);