--- /dev/null
+#!perl -T
+
+use Test::More tests => 4;
+
+BEGIN {
+ use_ok( 'OpenILS' );
+}
+
+use_ok( 'OpenILS::Const' );
+use_ok( 'OpenILS::Event' );
+use_ok( 'OpenILS::Perm' );
+
+diag( "Testing OpenILS $OpenILS::VERSION, Perl $], $^X" );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 13;
+
+BEGIN {
+ use_ok( 'OpenILS::Application' );
+}
+
+use_ok( 'OpenILS::Application::AppUtils' );
+use_ok( 'OpenILS::Application::Booking' );
+use_ok( 'OpenILS::Application::Collections' );
+use_ok( 'OpenILS::Application::Fielder' );
+use_ok( 'OpenILS::Application::Ingest' );
+use_ok( 'OpenILS::Application::Penalty' );
+use_ok( 'OpenILS::Application::PermaCrud' );
+use_ok( 'OpenILS::Application::Reporter' );
+use_ok( 'OpenILS::Application::ResolverResolver' );
+use_ok( 'OpenILS::Application::Serial' );
+use_ok( 'OpenILS::Application::SuperCat' );
+use_ok( 'OpenILS::Application::Vandelay' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 11;
+
+BEGIN {
+ use_ok( 'OpenILS::Application::Acq' );
+}
+
+use_ok( 'OpenILS::Application::Acq::Claims ');
+use_ok( 'OpenILS::Application::Acq::EDI ');
+use_ok( 'OpenILS::Application::Acq::EDI ');
+use_ok( 'OpenILS::Application::Acq::Financials ');
+use_ok( 'OpenILS::Application::Acq::Invoice ');
+use_ok( 'OpenILS::Application::Acq::Lineitem ');
+use_ok( 'OpenILS::Application::Acq::Order ');
+use_ok( 'OpenILS::Application::Acq::Picklist ');
+use_ok( 'OpenILS::Application::Acq::Provider ');
+use_ok( 'OpenILS::Application::Acq::Search ');
--- /dev/null
+#!perl -T
+
+use Test::More tests => 6;
+
+BEGIN {
+ use_ok( 'OpenILS::Application::Actor' );
+}
+
+use_ok( 'OpenILS::Application::Actor::ClosedDates' );
+use_ok( 'OpenILS::Application::Actor::Container' );
+use_ok( 'OpenILS::Application::Actor::Friends' );
+use_ok( 'OpenILS::Application::Actor::Stage' );
+use_ok( 'OpenILS::Application::Actor::UserGroups' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 6;
+
+BEGIN {
+ use_ok( 'OpenILS::Application::Cat' );
+}
+
+use_ok( 'OpenILS::Application::Cat::AssetCommon' );
+use_ok( 'OpenILS::Application::Cat::AuthCommon' );
+use_ok( 'OpenILS::Application::Cat::Authority' );
+use_ok( 'OpenILS::Application::Cat::BibCommon' );
+use_ok( 'OpenILS::Application::Cat::Merge' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 13;
+
+BEGIN {
+ use_ok( 'OpenILS::Application::Circ' );
+}
+
+use_ok( 'OpenILS::Application::Circ::CircCommon' );
+use_ok( 'OpenILS::Application::Circ::Circulate' );
+use_ok( 'OpenILS::Application::Circ::CopyLocations' );
+use_ok( 'OpenILS::Application::Circ::CreditCard' );
+use_ok( 'OpenILS::Application::Circ::HoldNotify' );
+use_ok( 'OpenILS::Application::Circ::Holds' );
+use_ok( 'OpenILS::Application::Circ::Money' );
+use_ok( 'OpenILS::Application::Circ::NonCat' );
+use_ok( 'OpenILS::Application::Circ::ScriptBuilder' );
+use_ok( 'OpenILS::Application::Circ::StatCat' );
+use_ok( 'OpenILS::Application::Circ::Survey' );
+use_ok( 'OpenILS::Application::Circ::Transit' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 8;
+
+BEGIN {
+ use_ok( 'OpenILS::Application::Search' );
+}
+
+use_ok( 'OpenILS::Application::Search::AddedContent' );
+use_ok( 'OpenILS::Application::Search::Authority' );
+use_ok( 'OpenILS::Application::Search::Biblio' );
+use_ok( 'OpenILS::Application::Search::CNBrowse' );
+use_ok( 'OpenILS::Application::Search::Serial' );
+use_ok( 'OpenILS::Application::Search::Z3950' );
+use_ok( 'OpenILS::Application::Search::Zips' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 3;
+
+BEGIN {
+ use_ok( 'OpenILS::Application::Storage' );
+}
+
+use_ok( 'OpenILS::Application::Storage::FTS' );
+use_ok( 'OpenILS::Application::Storage::QueryParser' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 13;
+
+BEGIN {
+ use_ok( 'OpenILS::Application::Storage::CDBI' );
+}
+
+use_ok( 'OpenILS::Application::Storage::CDBI::action' );
+use_ok( 'OpenILS::Application::Storage::CDBI::actor' );
+use_ok( 'OpenILS::Application::Storage::CDBI::asset' );
+use_ok( 'OpenILS::Application::Storage::CDBI::authority' );
+use_ok( 'OpenILS::Application::Storage::CDBI::biblio' );
+use_ok( 'OpenILS::Application::Storage::CDBI::booking' );
+use_ok( 'OpenILS::Application::Storage::CDBI::config' );
+use_ok( 'OpenILS::Application::Storage::CDBI::container' );
+use_ok( 'OpenILS::Application::Storage::CDBI::metabib' );
+use_ok( 'OpenILS::Application::Storage::CDBI::money' );
+use_ok( 'OpenILS::Application::Storage::CDBI::permission' );
+use_ok( 'OpenILS::Application::Storage::CDBI::serial' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 3;
+
+use_ok( 'OpenILS::Application::Storage::Driver::Pg::cdbi' );
+use_ok( 'OpenILS::Application::Storage::Driver::Pg::fts' );
+use_ok( 'OpenILS::Application::Storage::Driver::Pg::QueryParser' );
+
+# These modules are not meant to be loaded as a normal Perl module
+# use_ok( 'OpenILS::Application::Storage::Driver::Pg' );
+# use_ok( 'OpenILS::Application::Storage::Driver::Pg::dbi' );
+# use_ok( 'OpenILS::Application::Storage::Driver::Pg::storage' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 11;
+
+BEGIN {
+ use_ok( 'OpenILS::Application::Storage::Publisher' );
+}
+
+use_ok( 'OpenILS::Application::Storage::Publisher::action' );
+use_ok( 'OpenILS::Application::Storage::Publisher::actor' );
+use_ok( 'OpenILS::Application::Storage::Publisher::asset' );
+use_ok( 'OpenILS::Application::Storage::Publisher::authority' );
+use_ok( 'OpenILS::Application::Storage::Publisher::biblio' );
+use_ok( 'OpenILS::Application::Storage::Publisher::config' );
+use_ok( 'OpenILS::Application::Storage::Publisher::container' );
+use_ok( 'OpenILS::Application::Storage::Publisher::metabib' );
+use_ok( 'OpenILS::Application::Storage::Publisher::money' );
+use_ok( 'OpenILS::Application::Storage::Publisher::permission' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 2;
+
+use_ok( 'OpenILS::Reporter::Proxy' );
+use_ok( 'OpenILS::Reporter::SQLBuilder' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 8;
+
+BEGIN {
+ use_ok( 'OpenILS::SIP' );
+}
+
+use_ok( 'OpenILS::SIP::Item' );
+use_ok( 'OpenILS::SIP::Msg' );
+use_ok( 'OpenILS::SIP::Patron' );
+use_ok( 'OpenILS::SIP::Transaction' );
+use_ok( 'OpenILS::SIP::Transaction::Checkin' );
+use_ok( 'OpenILS::SIP::Transaction::Checkout' );
+use_ok( 'OpenILS::SIP::Transaction::Renew' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 3;
+
+use_ok( 'OpenILS::Template::Plugin::Unicode' );
+use_ok( 'OpenILS::Template::Plugin::WebSession' );
+use_ok( 'OpenILS::Template::Plugin::WebUtils' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 17;
+
+use_ok( 'OpenILS::Utils::Cronscript' );
+use_ok( 'OpenILS::Utils::CStoreEditor' );
+use_ok( 'OpenILS::Utils::Editor' );
+use_ok( 'OpenILS::Utils::Fieldmapper' );
+use_ok( 'OpenILS::Utils::ISBN' );
+use_ok( 'OpenILS::Utils::Lockfile' );
+use_ok( 'OpenILS::Utils::MFHDParser' );
+use_ok( 'OpenILS::Utils::MFHD' );
+use_ok( 'OpenILS::Utils::ModsParser' );
+use_ok( 'OpenILS::Utils::Normalize' );
+use_ok( 'OpenILS::Utils::OfflineStore' );
+use_ok( 'OpenILS::Utils::Penalty' );
+use_ok( 'OpenILS::Utils::PermitHold' );
+use_ok( 'OpenILS::Utils::RemoteAccount' );
+use_ok( 'OpenILS::Utils::ScriptRunner' );
+use_ok( 'OpenILS::Utils::SpiderMonkey' );
+use_ok( 'OpenILS::Utils::ZClient' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 12;
+
+use_ok( 'OpenILS::WWW::BadDebt' );
+use_ok( 'OpenILS::WWW::EGWeb' );
+use_ok( 'OpenILS::WWW::Exporter' );
+use_ok( 'OpenILS::WWW::IDL2js' );
+use_ok( 'OpenILS::WWW::Method' );
+use_ok( 'OpenILS::WWW::PasswordReset' );
+use_ok( 'OpenILS::WWW::Proxy' );
+use_ok( 'OpenILS::WWW::Redirect' );
+use_ok( 'OpenILS::WWW::TemplateBatchBibUpdate' );
+use_ok( 'OpenILS::WWW::Vandelay' );
+use_ok( 'OpenILS::WWW::Web' );
+use_ok( 'OpenILS::WWW::XMLRPCGateway' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 5;
+
+BEGIN {
+ use_ok( 'OpenILS::WWW::AddedContent' );
+}
+
+use_ok( 'OpenILS::WWW::AddedContent::Amazon' );
+use_ok( 'OpenILS::WWW::AddedContent::ContentCafe' );
+use_ok( 'OpenILS::WWW::AddedContent::OpenLibrary' );
+use_ok( 'OpenILS::WWW::AddedContent::Syndetic' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 2;
+
+BEGIN {
+ use_ok( 'OpenILS::WWW::Reporter' );
+}
+use_ok( 'OpenILS::WWW::Reporter::transforms' );
--- /dev/null
+#!perl -T
+
+use Test::More tests => 2;
+
+BEGIN {
+ use_ok( 'OpenILS::WWW::SuperCat' );
+}
+use_ok( 'OpenILS::WWW::SuperCat::Feed' );