-#!/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);
-}
+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; };