Use Travis container infrastructure for faster builds
[dbsrgits/SQL-Translator.git] / t / 09sqlt-diagram.t
index 88ff610..85d5598 100644 (file)
@@ -1,42 +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); 
-}
+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; };