I have the attached patchset pending for trunk/. The effect is to move
things from mogtestlib.pl to MogileFS::Test and have it be installed
alongside the tracker, which allows plugins to use this new library for
writing their own tests. Patch number 4 shows the usage of this on an
existing 'plugin' that has tests that won't run in the normal
installation pattern.
Anyone have comments or complaints about the choices made here?
Thanks in advance
--hachi
>From a27b403011966328603721a8d464caaa75e60009 Mon Sep 17 00:00:00 2001
From: Jonathan Steinert <[EMAIL PROTECTED]>
Date: Wed, 2 Apr 2008 13:11:29 -0700
Subject: [PATCH] Move mogtestlib.pl to be an installed MogileFS::Test.pm. This commit breaks all tests.
---
.../{t/lib/mogtestlib.pl => lib/MogileFS/Test.pm} | 0
1 files changed, 0 insertions(+), 0 deletions(-)
rename server/{t/lib/mogtestlib.pl => lib/MogileFS/Test.pm} (100%)
diff --git a/server/t/lib/mogtestlib.pl b/server/lib/MogileFS/Test.pm
similarity index 100%
rename from server/t/lib/mogtestlib.pl
rename to server/lib/MogileFS/Test.pm
--
1.5.4.3
>From 34f72fb006cbbba9b853bdc9d06c68a651ccaae2 Mon Sep 17 00:00:00 2001
From: Jonathan Steinert <[EMAIL PROTECTED]>
Date: Wed, 2 Apr 2008 14:25:57 -0700
Subject: [PATCH] Export subroutines (rather than declaring them right in main::)
---
server/lib/MogileFS/Test.pm | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/server/lib/MogileFS/Test.pm b/server/lib/MogileFS/Test.pm
index 9ccb3d9..b0174d8 100644
--- a/server/lib/MogileFS/Test.pm
+++ b/server/lib/MogileFS/Test.pm
@@ -1,3 +1,5 @@
+package MogileFS::Test;
+
use strict;
use warnings;
use DBI;
@@ -5,6 +7,9 @@ use DBI;
use FindBin qw($Bin);
use IO::Socket::INET;
use MogileFS::Server;
+use base 'Exporter';
+
+our @EXPORT = qw(&find_mogclient_or_skip &temp_store &create_mogstored &create_temp_tracker);
sub find_mogclient_or_skip {
--
1.5.4.3
>From c2282f10eb49b58c01b3ca9412a20cddccfc2a7f Mon Sep 17 00:00:00 2001
From: Jonathan Steinert <[EMAIL PROTECTED]>
Date: Thu, 3 Apr 2008 12:33:59 -0700
Subject: [PATCH] Update server tests to use MogileFS::Test class.
---
server/t/00-startup.t | 2 +-
server/t/10-weighting.t | 2 +-
server/t/20-filepaths.t | 2 +-
server/t/domains-classes.t | 2 +-
server/t/hosts-devices.t | 2 +-
server/t/mogstored-shutdown.t | 2 +-
server/t/multiple-hosts-replpol.t | 2 +-
server/t/replpolicy-parsing.t | 2 +-
server/t/store.t | 2 +-
9 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/server/t/00-startup.t b/server/t/00-startup.t
index 66e714c..9a38071 100644
--- a/server/t/00-startup.t
+++ b/server/t/00-startup.t
@@ -7,8 +7,8 @@ use FindBin qw($Bin);
use MogileFS::Server;
use MogileFS::Util qw(error_code);
+use MogileFS::Test;
-require 't/lib/mogtestlib.pl';
find_mogclient_or_skip();
# use mogadm to init it,
diff --git a/server/t/10-weighting.t b/server/t/10-weighting.t
index 8f6c557..41db195 100644
--- a/server/t/10-weighting.t
+++ b/server/t/10-weighting.t
@@ -14,7 +14,7 @@ BEGIN {
$ENV{T_FAKE_IO_DEV2} = 5; # Simulating low device load (shoudld get more requests).
}
-require 't/lib/mogtestlib.pl';
+use MogileFS::Test;
find_mogclient_or_skip();
# create temp mysql db,
diff --git a/server/t/20-filepaths.t b/server/t/20-filepaths.t
index 1fd0b56..1f36394 100644
--- a/server/t/20-filepaths.t
+++ b/server/t/20-filepaths.t
@@ -12,7 +12,7 @@ BEGIN {
$ENV{TESTING} = 1;
}
-require 't/lib/mogtestlib.pl';
+use MogileFS::Test;
find_mogclient_or_skip();
# create temp mysql db,
diff --git a/server/t/domains-classes.t b/server/t/domains-classes.t
index f2fbb55..dda580b 100644
--- a/server/t/domains-classes.t
+++ b/server/t/domains-classes.t
@@ -7,7 +7,7 @@ use FindBin qw($Bin);
use MogileFS::Server;
use MogileFS::Util qw(error_code);
-require "$Bin/lib/mogtestlib.pl";
+use MogileFS::Test;
my $sto = eval { temp_store(); };
if ($sto) {
diff --git a/server/t/hosts-devices.t b/server/t/hosts-devices.t
index d0ac1b9..5066985 100644
--- a/server/t/hosts-devices.t
+++ b/server/t/hosts-devices.t
@@ -7,7 +7,7 @@ use FindBin qw($Bin);
use MogileFS::Server;
use MogileFS::Util qw(error_code);
-require "$Bin/lib/mogtestlib.pl";
+use MogileFS::Test;
my $sto = eval { temp_store(); };
if ($sto) {
diff --git a/server/t/mogstored-shutdown.t b/server/t/mogstored-shutdown.t
index c94ca73..26a8d94 100644
--- a/server/t/mogstored-shutdown.t
+++ b/server/t/mogstored-shutdown.t
@@ -6,7 +6,7 @@ use Test::More;
use FindBin qw($Bin);
use IO::Socket::INET;
-require 't/lib/mogtestlib.pl';
+use MogileFS::Test;
unless ((`netstat -nap --inet` || "") =~ m!PID/Program!) {
plan skip_all => "netstat output not how expected; skipping test.\n";
diff --git a/server/t/multiple-hosts-replpol.t b/server/t/multiple-hosts-replpol.t
index f2ae579..d009388 100644
--- a/server/t/multiple-hosts-replpol.t
+++ b/server/t/multiple-hosts-replpol.t
@@ -8,7 +8,7 @@ use FindBin qw($Bin);
use MogileFS::Server;
use MogileFS::Util qw(error_code);
use MogileFS::ReplicationPolicy::MultipleHosts;
-require "$Bin/lib/mogtestlib.pl";
+use MogileFS::Test;
plan tests => 13;
diff --git a/server/t/replpolicy-parsing.t b/server/t/replpolicy-parsing.t
index 93b7781..782d918 100644
--- a/server/t/replpolicy-parsing.t
+++ b/server/t/replpolicy-parsing.t
@@ -8,7 +8,7 @@ use Data::Dumper;
use MogileFS::Server;
use MogileFS::Util qw(error_code);
-require "$Bin/lib/mogtestlib.pl";
+use MogileFS::Test;
plan tests => 31;
diff --git a/server/t/store.t b/server/t/store.t
index 8c4dcb6..c4affe6 100644
--- a/server/t/store.t
+++ b/server/t/store.t
@@ -7,7 +7,7 @@ use FindBin qw($Bin);
use MogileFS::Server;
use MogileFS::Util qw(error_code);
-require "$Bin/lib/mogtestlib.pl";
+use MogileFS::Test;
my $sto = eval { temp_store(); };
if ($sto) {
--
1.5.4.3
>From 5644742b807ca51db3350f33ec5af798865446bc Mon Sep 17 00:00:00 2001
From: Jonathan Steinert <[EMAIL PROTECTED]>
Date: Thu, 3 Apr 2008 12:41:37 -0700
Subject: [PATCH] Update MogileFS-Network to use MogileFS::Test class
---
.../MogileFS-Network/t/hosts-per-zone-replpol.t | 2 +-
.../MogileFS-Network/t/multiple-networks-replpol.t | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/server-plugins/MogileFS-Network/t/hosts-per-zone-replpol.t b/server-plugins/MogileFS-Network/t/hosts-per-zone-replpol.t
index 53ac9d0..41ac699 100644
--- a/server-plugins/MogileFS-Network/t/hosts-per-zone-replpol.t
+++ b/server-plugins/MogileFS-Network/t/hosts-per-zone-replpol.t
@@ -8,7 +8,7 @@ use FindBin qw($Bin);
use MogileFS::Server;
use MogileFS::Util qw(error_code);
use MogileFS::ReplicationPolicy::HostsPerNetwork;
-require "$Bin/lib/mogtestlib.pl";
+use MogileFS::Test;
plan tests => 13;
diff --git a/server-plugins/MogileFS-Network/t/multiple-networks-replpol.t b/server-plugins/MogileFS-Network/t/multiple-networks-replpol.t
index fc037b6..75ef5ca 100644
--- a/server-plugins/MogileFS-Network/t/multiple-networks-replpol.t
+++ b/server-plugins/MogileFS-Network/t/multiple-networks-replpol.t
@@ -9,7 +9,7 @@ use Net::Netmask;
use MogileFS::Server;
use MogileFS::Util qw(error_code);
use MogileFS::ReplicationPolicy::MultipleNetworks;
-require "$Bin/lib/mogtestlib.pl";
+use MogileFS::Test;
plan tests => 25;
--
1.5.4.3