From: Arthur Axel 'fREW' Schmidt Date: Mon, 28 May 2012 02:17:13 +0000 (-0500) Subject: make temp files to be actual temp files X-Git-Tag: v0.002115~1 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2dfc27ba71f8324760c8bc40ee34e5b5d5a2597e;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git make temp files to be actual temp files --- diff --git a/Changes b/Changes index d2a9b06..b556170 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,7 @@ Revision history for {{$dist->name}} {{$NEXT}} + - Make tests use actual temp files to make certain systems stop failing tests - Remove dep on File::Touch 0.002114 2012-05-07 08:05:20 America/Chicago diff --git a/dist.ini b/dist.ini index c4998d1..a996865 100644 --- a/dist.ini +++ b/dist.ini @@ -40,3 +40,4 @@ Carp::Clan = 0 aliased = 0 Test::Requires = 0.06 Context::Preserve = 0.01 +File::Temp = 0 diff --git a/t/deploy_methods/sql_translator.t b/t/deploy_methods/sql_translator.t index 28f9dda..1a81c33 100644 --- a/t/deploy_methods/sql_translator.t +++ b/t/deploy_methods/sql_translator.t @@ -11,19 +11,20 @@ use DBICDHTest; use aliased 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator'; use File::Spec::Functions; use File::Path qw(rmtree mkpath); +use File::Temp 'tempfile'; my $dbh = DBICDHTest::dbh(); my @connection = (sub { $dbh }, { ignore_version => 1 }); my $sql_dir = 't/sql'; +my (undef, $stuffthatran_fn) = tempfile(OPEN => 0); DBICDHTest::ready; -unlink 'stuffthatran'; for (qw(initialize upgrade downgrade deploy)) { mkpath(catfile(qw( t sql _common), $_, '_any' )); open my $fh, '>', catfile(qw( t sql _common), $_, qw(_any 000-win.pl )); - print {$fh} 'sub {open my $fh, ">>", "stuffthatran"; use Data::Dumper::Concise; print {$fh} join(",", @{$_[1]||[]}) . "\n"; }'; + print {$fh} qq^sub {open my \$fh, ">>", '$stuffthatran_fn'; use Data::Dumper::Concise; print {\$fh} join(",", \@{\$_[1]||[]}) . "\\n"; }^; close $fh; } @@ -31,7 +32,7 @@ for (qw(initialize upgrade downgrade deploy)) { mkpath(catfile(qw( t sql SQLite), $_, '_any' )); open my $fh, '>', catfile(qw( t sql SQLite), $_, qw(_any 000-win2.pl )); - print {$fh} 'sub {open my $fh, ">>", "stuffthatran"; use Data::Dumper::Concise; print {$fh} join(",", @{$_[1]||[]}) . "\n"; }'; + print {$fh} qq^sub {open my \$fh, ">>", '$stuffthatran_fn'; use Data::Dumper::Concise; print {\$fh} join(",", \@{\$_[1]||[]}) . "\\n"; }^; close $fh; } @@ -52,11 +53,12 @@ VERSION1: { mkpath(catfile(qw( t sql SQLite initialize 1.0 ))); open my $prerun, '>', catfile(qw( t sql SQLite initialize 1.0 003-semiautomatic.pl )); - print {$prerun} "sub { open my \$fh, '>', q(foobar);}"; + my (undef, $fn) = tempfile(OPEN => 0); + print {$prerun} "sub { open my \$fh, '>', '$fn'}"; close $prerun; $dm->initialize({ version => '1.0' }); - ok -e 'foobar', 'code got run in preinit'; + ok -e $fn, 'code got run in preinit'; dies_ok {$dm->prepare_deploy} 'prepare_deploy dies if you run it twice' ; @@ -261,7 +263,7 @@ VERSION3: { } 'dies when sql dir does not exist'; } -my $stuff_that_ran = do { local( @ARGV, $/ ) = 'stuffthatran'; <> }; +my $stuff_that_ran = do { local( @ARGV, $/ ) = $stuffthatran_fn; <> }; is $stuff_that_ran, ' diff --git a/t/deploy_methods/sql_translator_protoschema_transform.t b/t/deploy_methods/sql_translator_protoschema_transform.t index 1f404ae..faa725e 100644 --- a/t/deploy_methods/sql_translator_protoschema_transform.t +++ b/t/deploy_methods/sql_translator_protoschema_transform.t @@ -11,6 +11,7 @@ use DBICDHTest; use aliased 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator'; use File::Spec::Functions; use File::Path qw(rmtree mkpath); +use File::Temp 'tempfile'; my $dbh = DBICDHTest::dbh(); my @connection = (sub { $dbh }, { ignore_version => 1 }); @@ -47,19 +48,20 @@ VERSION2: { mkpath(catfile(qw( t sql _preprocess_schema upgrade 1.0-2.0 ))); open my $prerun, '>', catfile(qw( t sql _preprocess_schema upgrade 1.0-2.0 003-semiautomatic.pl )); + my (undef, $fn) = tempfile(OPEN => 0); print {$prerun} - 'sub { - open my $fh, ">", q(robotparty) - if $_[0]->isa("SQL::Translator::Schema") - && $_[1]->isa("SQL::Translator::Schema"); - }'; + qq^sub { + open my \$fh, ">", '$fn' + if \$_[0]->isa("SQL::Translator::Schema") + && \$_[1]->isa("SQL::Translator::Schema"); + }^; close $prerun; $dm->prepare_upgrade({ from_version => '1.0', to_version => '2.0', version_set => [qw(1.0 2.0)] }); - ok -e 'robotparty', 'intermediate script ran with the right args'; + ok -e $fn, 'intermediate script ran with the right args'; $dm->upgrade_single_step({ version_set => [qw( 1.0 2.0 )] }); } done_testing;