tests pass again
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / 23dumpmore.t
index d9efd36..a50fffc 100644 (file)
@@ -6,9 +6,9 @@ use IPC::Open3;
 use make_dbictest_db;
 require DBIx::Class::Schema::Loader;
 
-$^O eq 'MSWin32'
-    ? plan(skip_all => "ActiveState perl produces additional warnings, and this test uses unix paths")
-    : plan(tests => 140);
+$^O eq 'MSWin32' && plan(skip_all =>
+"ActiveState perl produces additional warnings, and this test uses unix paths"
+);
 
 my $DUMP_PATH = './t/_dump';
 
@@ -38,7 +38,8 @@ sub dump_directly {
 sub dump_dbicdump {
     my %tdata = @_;
 
-    my @cmd = qw(./script/dbicdump);
+    # use $^X so we execute ./script/dbicdump with the same perl binary that the tests were executed with
+    my @cmd = ($^X, qw(./script/dbicdump));
 
     while (my ($opt, $val) = each(%{ $tdata{options} })) {
         push @cmd, '-o', "$opt=$val";
@@ -46,6 +47,9 @@ sub dump_dbicdump {
 
     push @cmd, $tdata{classname}, $make_dbictest_db::dsn;
 
+    # make sure our current @INC gets used by dbicdump
+    local $ENV{PERL5LIB} = join ":", @INC, $ENV{PERL5LIB};
+
     my ($in, $out, $err);
     my $pid = open3($in, $out, $err, @cmd);
 
@@ -138,11 +142,15 @@ do_dump_test(
         ],
         Foo => [
             qr/package DBICTest::DumpMore::1::Foo;/,
+            qr/=head1 NAME/,
+            qr/=head1 ACCESSORS/,
             qr/->set_primary_key/,
             qr/1;\n$/,
         ],
         Bar => [
             qr/package DBICTest::DumpMore::1::Bar;/,
+            qr/=head1 NAME/,
+            qr/=head1 ACCESSORS/,
             qr/->set_primary_key/,
             qr/1;\n$/,
         ],
@@ -276,6 +284,8 @@ do_dump_test(
                  result_namespace => '+DBICTest::DumpMore::1::Res',
                  resultset_namespace => 'RSet',
                  default_resultset_class => 'RSetBase',
+                 result_base_class => 'My::ResultBaseClass',
+                 schema_base_class => 'My::SchemaBaseClass',
              },
     error => '',
     warnings => [
@@ -289,18 +299,23 @@ do_dump_test(
             qr/result_namespace => '\+DBICTest::DumpMore::1::Res'/,
             qr/resultset_namespace => 'RSet'/,
             qr/default_resultset_class => 'RSetBase'/,
+            qr/use base 'My::SchemaBaseClass'/,
         ],
         'Res/Foo' => [
             qr/package DBICTest::DumpMore::1::Res::Foo;/,
+            qr/use base 'My::ResultBaseClass'/,
             qr/->set_primary_key/,
             qr/1;\n$/,
         ],
         'Res/Bar' => [
             qr/package DBICTest::DumpMore::1::Res::Bar;/,
+            qr/use base 'My::ResultBaseClass'/,
             qr/->set_primary_key/,
             qr/1;\n$/,
         ],
     },
 );
 
+done_testing;
+
 END { rmtree($DUMP_PATH, 1, 1); }