X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F31dumper.t;h=abf54ce37807dcfd27b7d56731dc96fae8b7fb18;hb=aee4b66eb2152b7066ced4def46e0223eb1649b1;hp=add05a61b8295f848f4a6fc4d3b95d1e8c818260;hpb=04c13c01d1a2f27d3229a818e3a662f7446f4552;p=dbsrgits%2FSQL-Translator.git diff --git a/t/31dumper.t b/t/31dumper.t index add05a6..abf54ce 100644 --- a/t/31dumper.t +++ b/t/31dumper.t @@ -1,17 +1,21 @@ #!/usr/bin/perl # vim: set ft=perl: +# Test for Dumper producer use strict; -use Config; -use FindBin qw/$Bin/; -use Test::More; use File::Temp 'tempfile'; +use File::Spec; +use FindBin qw/$Bin/; +use IPC::Open3; use SQL::Translator; +use Test::More; use Test::SQL::Translator qw(maybe_plan); +use Symbol qw(gensym); BEGIN { maybe_plan( - 5, + 5, + 'DBI', 'SQL::Translator::Parser::SQLite', 'SQL::Translator::Producer::Dumper' ); @@ -40,10 +44,14 @@ ok( $output, 'Got dumper script' ); my ( $fh, $filename ) = tempfile( 'XXXXXXXX' ); print $fh $output; +close $fh or die "Can't close file '$filename': $!"; + +open( NULL, ">", File::Spec->devnull ); +my $pid = open3( gensym, \*NULL, \*PH, "$^X -cw $filename" ); +my $res; +while( ) { $res .= $_; } +waitpid($pid, 0); -my $perl = $Config{'perlpath'}; -my $cmd = "$perl -cw $filename"; -my $res = `$cmd 2>&1`; like( $res, qr/syntax OK/, 'Generated script syntax is OK' ); like( $output, qr{DBI->connect\(\s*'$dsn',\s*'$db_user',\s*'$db_pass',},