Use sigwarn_silencer() everywhere appropriate
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / 20invocations.t
index 170dd77..f282d86 100644 (file)
@@ -2,6 +2,7 @@ use strict;
 use Test::More;
 use Test::Warn;
 use DBIx::Class::Schema::Loader::Optional::Dependencies;
+use DBIx::Class::Schema::Loader::Utils qw/sigwarn_silencer/;
 use lib qw(t/lib);
 use make_dbictest_db;
 
@@ -32,6 +33,7 @@ my @invocations = (
         package DBICTest::Schema::_hardcode;
         use base qw/ DBIx::Class::Schema::Loader /;
         __PACKAGE__->naming('current');
+        __PACKAGE__->use_namespaces(0);
         __PACKAGE__->connection($make_dbictest_db::dsn);
         __PACKAGE__;
     },
@@ -40,13 +42,18 @@ my @invocations = (
         use base qw/ DBIx::Class::Schema::Loader /;
         __PACKAGE__->loader_options();
         __PACKAGE__->naming('current');
+        __PACKAGE__->use_namespaces(0);
         __PACKAGE__->connect($make_dbictest_db::dsn);
     },
     'make_schema_at' => sub {
         use DBIx::Class::Schema::Loader qw/ make_schema_at /;
         make_schema_at(
             'DBICTest::Schema::_make_schema_at',
-            { really_erase_my_files => 1, naming => 'current' },
+            {
+                really_erase_my_files => 1,
+                naming => 'current',
+                use_namespaces => 0
+            },
             [ $make_dbictest_db::dsn ],
         );
         DBICTest::Schema::_make_schema_at->clone;
@@ -55,6 +62,7 @@ my @invocations = (
         package DBICTest::Schema::_embedded_options;
         use base qw/ DBIx::Class::Schema::Loader /;
         __PACKAGE__->naming('current');
+        __PACKAGE__->use_namespaces(0);
         __PACKAGE__->connect(
             $make_dbictest_db::dsn,
             { loader_options => { really_erase_my_files => 1 } }
@@ -64,6 +72,7 @@ my @invocations = (
         package DBICTest::Schema::_embedded_options_in_attrs;
         use base qw/ DBIx::Class::Schema::Loader /;
         __PACKAGE__->naming('current');
+        __PACKAGE__->use_namespaces(0);
         __PACKAGE__->connect(
             $make_dbictest_db::dsn,
             undef,
@@ -80,7 +89,8 @@ my @invocations = (
                 $make_dbictest_db::dsn,
                 { loader_options => {
                     really_erase_my_files => 1,
-                    naming => 'current'
+                    naming => 'current',
+                    use_namespaces => 0,
                 } },
             ],
         );
@@ -91,7 +101,8 @@ my @invocations = (
         use base qw/ DBIx::Class::Schema::Loader /;
         __PACKAGE__->loader_options(
             really_erase_my_files => 1,
-            naming => 'current'
+            naming => 'current',
+            use_namespaces => 0,
         );
         __PACKAGE__->connect(
             $make_dbictest_db::dsn,
@@ -102,27 +113,40 @@ my @invocations = (
         use DBIx::Class::Schema::Loader;
         DBIx::Class::Schema::Loader::make_schema_at(
             'DBICTest::Schema::_make_schema_at_explicit',
-            { really_erase_my_files => 1, naming => 'current' },
+            {
+                really_erase_my_files => 1,
+                naming => 'current',
+                use_namespaces => 0,
+            },
             [ $make_dbictest_db::dsn ],
         );
         DBICTest::Schema::_make_schema_at_explicit->clone;
     },
     'no_skip_load_external' => sub {
-        # By default we should pull in t/lib/DBICTest/Schema/13/Foo.pm $skip_me since t/lib is in @INC
+        # By default we should pull in t/lib/DBICTest/Schema/_no_skip_load_external/Foo.pm $skip_me since t/lib is in @INC
         use DBIx::Class::Schema::Loader;
         DBIx::Class::Schema::Loader::make_schema_at(
             'DBICTest::Schema::_no_skip_load_external',
-            { really_erase_my_files => 1, naming => 'current' },
+            {
+                really_erase_my_files => 1,
+                naming => 'current',
+                use_namespaces => 0,
+            },
             [ $make_dbictest_db::dsn ],
         );
         DBICTest::Schema::_no_skip_load_external->clone;
     },
     'skip_load_external' => sub {
-        # When we explicitly skip_load_external t/lib/DBICTest/Schema/14/Foo.pm should be ignored
+        # When we explicitly skip_load_external t/lib/DBICTest/Schema/_skip_load_external/Foo.pm should be ignored
         use DBIx::Class::Schema::Loader;
         DBIx::Class::Schema::Loader::make_schema_at(
             'DBICTest::Schema::_skip_load_external',
-            { really_erase_my_files => 1, naming => 'current', skip_load_external => 1 },
+            {
+                really_erase_my_files => 1,
+                naming => 'current',
+                use_namespaces => 0,
+                skip_load_external => 1,
+            },
             [ $make_dbictest_db::dsn ],
         );
         DBICTest::Schema::_skip_load_external->clone;
@@ -132,6 +156,7 @@ my @invocations = (
             package DBICTest::Schema::_use_moose;
             use base qw/ DBIx::Class::Schema::Loader /;
             __PACKAGE__->naming('current');
+            __PACKAGE__->use_namespaces(0);
             __PACKAGE__->connect(
                 $make_dbictest_db::dsn,
                 { loader_options => { use_moose =>  1 } }
@@ -149,9 +174,9 @@ while(@invocations) {
     my $cref = shift @invocations;
 
     my $schema = do {
-      local $SIG{__WARN__} = sub {
-        warn $_[0] unless $_[0] =~ /really_erase_my_files/
-      };
+      local $SIG{__WARN__} = sigwarn_silencer(
+        qr/Deleting existing file .+ due to 'really_erase_my_files' setting/
+      );
       $cref->();
     };