X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F09sqlt-diagram.t;h=85d559829bf9ce8d6b7eb69e9093aba4c0c0ddbd;hb=1094bd3dbdecc6f4c255aa0a851d63fba21c42ef;hp=eaa34302c3feca625ae636655416dadadacf7ad8;hpb=2d6dd8a94dc17dac735622efd6423e4fa761c8aa;p=dbsrgits%2FSQL-Translator.git diff --git a/t/09sqlt-diagram.t b/t/09sqlt-diagram.t index eaa3430..85d5598 100644 --- a/t/09sqlt-diagram.t +++ b/t/09sqlt-diagram.t @@ -1,43 +1,33 @@ -#!/usr/bin/perl -# vim: set ft=perl: - use strict; +use warnings; use File::Spec::Functions qw(catfile updir tmpdir); -use File::Temp qw(tempfile); +use File::Temp qw(mktemp); use FindBin qw($Bin); -use Test; +use Test::More; +use Test::SQL::Translator qw(maybe_plan); +use Text::ParseWords qw(shellwords); -my @script = qw(blib script sqlt-diagram); -my @data = qw(data mysql Apache-Session-MySQL.sql); +BEGIN { + maybe_plan( + 3, + 'SQL::Translator::Parser::MySQL', + 'SQL::Translator::Producer::Diagram', + 'Graph::Directed', + ); +} -my $sqlt_diagram = (-d "blib") - ? catfile($Bin, updir, @script) - : catfile($Bin, @script); +my @script = qw(script sqlt-diagram); +my @data = qw(data mysql create2.sql); -my $test_data = (-d "t") - ? catfile($Bin, @data) - : catfile($Bin, "t", @data); +my $sqlt_diagram = catfile($Bin, updir, @script); +my $test_data = catfile($Bin, @data); -my (undef, $tmp) = tempfile("sqlXXXXX", - OPEN => 0, - UNLINK => 1, - SUFFIX => '.png', - DIR => tmpdir); +my $tmp = mktemp('sqlXXXXX'); -BEGIN { - plan tests => 3; -} - -ok(-e $sqlt_diagram); -eval { require GD; }; -if ($@ && $@ =~ /locate GD.pm in /) { - skip($@, "GD not installed"); - skip($@, "GD not installed"); -} else { - my @cmd = ($sqlt_diagram, "-d", "MySQL", "-o", $tmp, $test_data); - eval { system(@cmd); }; - ok(!$@ && ($? == 0)); - ok(-e $tmp); - eval { unlink $tmp; }; -} +ok(-e $sqlt_diagram); +my @cmd = ($^X, shellwords($ENV{HARNESS_PERL_SWITCHES}||''), $sqlt_diagram, "-d", "MySQL", "-o", $tmp, $test_data); +eval { system(@cmd); }; +ok(!$@ && ($? == 0)); +ok(-e $tmp); +eval { unlink $tmp; };