bug 8649: create a temp directory for Zebra for C4::Search tests
authorGalen Charlton <gmc@esilibrary.com>
Thu, 16 Aug 2012 18:38:32 +0000 (14:38 -0400)
committerPaul Poulain <paul.poulain@biblibre.com>
Thu, 13 Sep 2012 09:55:48 +0000 (11:55 +0200)
The Zebra test uses Unix-domain sockets, which won't work if
Koha is being installed or tested from an NFS- or SSHFS-mounted
clone.  Therefore, create (and clenaup) a temporary directory on
(hopefully) a normal filesytem to run the test.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
14 files changed:
t/db_dependent/Search.t
t/db_dependent/data/var/lib/zebradb/authorities/key/README [deleted file]
t/db_dependent/data/var/lib/zebradb/authorities/register/README [deleted file]
t/db_dependent/data/var/lib/zebradb/authorities/shadow/README [deleted file]
t/db_dependent/data/var/lib/zebradb/authorities/tmp/README [deleted file]
t/db_dependent/data/var/lib/zebradb/biblios/key/README [deleted file]
t/db_dependent/data/var/lib/zebradb/biblios/register/README [deleted file]
t/db_dependent/data/var/lib/zebradb/biblios/shadow/README [deleted file]
t/db_dependent/data/var/lib/zebradb/biblios/tmp/README [deleted file]
t/db_dependent/data/var/lock/zebradb/authorities/README [deleted file]
t/db_dependent/data/var/lock/zebradb/biblios/README [deleted file]
t/db_dependent/data/var/log/README [deleted file]
t/db_dependent/data/var/run/zebradb/README [deleted file]
t/db_dependent/zebra_config.pl

index e949050..3e7abad 100644 (file)
@@ -19,9 +19,12 @@ use File::Spec;
 use File::Basename;
 use File::Find;
 use Test::Warn;
+use File::Temp qw/ tempdir /;
+use File::Path;
 
-system(dirname(__FILE__) . "/zebra_config.pl");
-my $datadir = dirname(__FILE__) . "/data";
+my $datadir = tempdir();
+system(dirname(__FILE__) . "/zebra_config.pl $datadir");
+my $sourcedir = dirname(__FILE__) . "/data";
 
 my $QueryStemming = 0;
 my $QueryAutoTruncate = 0;
@@ -197,7 +200,7 @@ my %itemtypes = (
 
 unlink("$datadir/zebra.log");
 system("zebraidx -c $datadir/etc/koha/zebradb/zebra-biblios.cfg  -v none,fatal,warn  -g iso2709 -d biblios init");
-system("zebraidx -c $datadir/etc/koha/zebradb/zebra-biblios.cfg  -v none,fatal,warn   -g iso2709 -d biblios update $datadir/zebraexport/biblio");
+system("zebraidx -c $datadir/etc/koha/zebradb/zebra-biblios.cfg  -v none,fatal,warn   -g iso2709 -d biblios update $sourcedir/zebraexport/biblio");
 system("zebraidx -c $datadir/etc/koha/zebradb/zebra-biblios.cfg  -v none,fatal,warn  -g iso2709 -d biblios commit");
 
 my $child = fork();
@@ -507,10 +510,7 @@ END {
         kill 9, $child;
 
         # Clean up the Zebra files since the child process was just shot
-
-        find(sub { unlink($_) if ( -f $_ && m/\.(mf|pid|LCK)$/ ); }, "$datadir");
-        unlink("$datadir/var/run/zebradb/authoritysocket");
-        unlink("$datadir/var/run/zebradb/bibliosocket");
+        rmtree $datadir;
     }
 }
 
diff --git a/t/db_dependent/data/var/lib/zebradb/authorities/key/README b/t/db_dependent/data/var/lib/zebradb/authorities/key/README
deleted file mode 100644 (file)
index 519851e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra authorities key dir
diff --git a/t/db_dependent/data/var/lib/zebradb/authorities/register/README b/t/db_dependent/data/var/lib/zebradb/authorities/register/README
deleted file mode 100644 (file)
index b93dac8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra authorities register dir
diff --git a/t/db_dependent/data/var/lib/zebradb/authorities/shadow/README b/t/db_dependent/data/var/lib/zebradb/authorities/shadow/README
deleted file mode 100644 (file)
index 5286b79..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra authorities shadow dir
diff --git a/t/db_dependent/data/var/lib/zebradb/authorities/tmp/README b/t/db_dependent/data/var/lib/zebradb/authorities/tmp/README
deleted file mode 100644 (file)
index a0b0e2d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra authorities tmp dir
diff --git a/t/db_dependent/data/var/lib/zebradb/biblios/key/README b/t/db_dependent/data/var/lib/zebradb/biblios/key/README
deleted file mode 100644 (file)
index 2829ae0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra biblios key dir
diff --git a/t/db_dependent/data/var/lib/zebradb/biblios/register/README b/t/db_dependent/data/var/lib/zebradb/biblios/register/README
deleted file mode 100644 (file)
index 678109a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra biblios register dir
diff --git a/t/db_dependent/data/var/lib/zebradb/biblios/shadow/README b/t/db_dependent/data/var/lib/zebradb/biblios/shadow/README
deleted file mode 100644 (file)
index 6898112..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra biblios shadow dir
diff --git a/t/db_dependent/data/var/lib/zebradb/biblios/tmp/README b/t/db_dependent/data/var/lib/zebradb/biblios/tmp/README
deleted file mode 100644 (file)
index eb282b1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra biblios tmp dir
diff --git a/t/db_dependent/data/var/lock/zebradb/authorities/README b/t/db_dependent/data/var/lock/zebradb/authorities/README
deleted file mode 100644 (file)
index ef9cad1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra authorities lock dir
diff --git a/t/db_dependent/data/var/lock/zebradb/biblios/README b/t/db_dependent/data/var/lock/zebradb/biblios/README
deleted file mode 100644 (file)
index 22ac627..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra biblios lock dir
diff --git a/t/db_dependent/data/var/log/README b/t/db_dependent/data/var/log/README
deleted file mode 100644 (file)
index bc4d73e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Koha Apache logs
diff --git a/t/db_dependent/data/var/run/zebradb/README b/t/db_dependent/data/var/run/zebradb/README
deleted file mode 100644 (file)
index 1582989..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zebra Unix-domain sockets
index d98230f..581a702 100755 (executable)
@@ -8,10 +8,22 @@ use File::Basename;
 use File::Spec;
 
 my $source = File::Spec->rel2abs('.');
-my $destination = File::Spec->rel2abs('.') . "/t/db_dependent/data";
+my $destination = $ARGV[0];
 
 make_path("$destination/var/lock/zebradb");
+make_path("$destination/var/lock/zebradb/biblios");
+make_path("$destination/var/lock/zebradb/authorities");
 make_path("$destination/var/lib/zebradb");
+make_path("$destination/var/lib/zebradb/biblios");
+make_path("$destination/var/lib/zebradb/biblios/key");
+make_path("$destination/var/lib/zebradb/biblios/register");
+make_path("$destination/var/lib/zebradb/biblios/shadow");
+make_path("$destination/var/lib/zebradb/biblios/tmp");
+make_path("$destination/var/lib/zebradb/authorities");
+make_path("$destination/var/lib/zebradb/authorities/key");
+make_path("$destination/var/lib/zebradb/authorities/register");
+make_path("$destination/var/lib/zebradb/authorities/shadow");
+make_path("$destination/var/lib/zebradb/authorities/tmp");
 make_path("$destination/var/run/zebradb");
 
 $ENV{'INSTALL_BASE'} = $destination;