Fail more gracefully on non-loadable compiled module parts
[dbsrgits/SQL-Translator.git] / t / 09sqlt-diagram.t
CommitLineData
cc3742ae 1use strict;
467b7282 2use warnings;
cc3742ae 3
4use File::Spec::Functions qw(catfile updir tmpdir);
250692b1 5use File::Temp qw(mktemp);
cc3742ae 6use FindBin qw($Bin);
007caf69 7use Test::More;
2d691ec1 8use Test::SQL::Translator qw(maybe_plan);
cb9bbc68 9use Text::ParseWords qw(shellwords);
2d691ec1 10
11BEGIN {
007caf69 12 maybe_plan(
13 3,
ac8d330a 14 'GD',
401e5c7c 15 'Graph::Directed',
ac8d330a 16 'SQL::Translator::Producer::Diagram',
17 'SQL::Translator::Parser::MySQL',
007caf69 18 );
2d691ec1 19}
cc3742ae 20
467b7282 21my @script = qw(script sqlt-diagram);
8178df46 22my @data = qw(data mysql create2.sql);
cc3742ae 23
467b7282 24my $sqlt_diagram = catfile($Bin, updir, @script);
25my $test_data = catfile($Bin, @data);
cc3742ae 26
250692b1 27my $tmp = mktemp('sqlXXXXX');
cc3742ae 28
aee4b66e 29ok(-e $sqlt_diagram);
7e212236 30my @cmd = ($^X, shellwords($ENV{HARNESS_PERL_SWITCHES}||''), $sqlt_diagram, "-d", "MySQL", "-o", $tmp, $test_data);
2d691ec1 31eval { system(@cmd); };
32ok(!$@ && ($? == 0));
aee4b66e 33ok(-e $tmp);
2d691ec1 34eval { unlink $tmp; };