X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fstorage%2Fquote_names.t;h=591606c4d359c24a67f83ee9082169a2edbbd910;hb=50841788d03e2342a00470eb2f458e717922615b;hp=a4bcefae0b3d300205cf26a73bd8a49ac802605b;hpb=07d0bbab9f05e82bfe202d37670de893b2ff4f4b;p=dbsrgits%2FDBIx-Class.git diff --git a/t/storage/quote_names.t b/t/storage/quote_names.t index a4bcefa..591606c 100644 --- a/t/storage/quote_names.t +++ b/t/storage/quote_names.t @@ -1,10 +1,13 @@ +BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) } + use strict; use warnings; use Test::More; -use Data::Dumper::Concise; use Try::Tiny; -use lib qw(t/lib); + use DBICTest; +use DBIx::Class::_Util 'dump_value'; +$Data::Dumper::Indent = 0; my %expected = ( 'DBIx::Class::Storage::DBI' => @@ -50,14 +53,17 @@ my %expected = ( ); for my $class (keys %expected) { SKIP: { - eval "require ${class}" - or skip "Skipping test of quotes for $class due to missing dependencies", 1; + + eval "require ${class}" or do { + note "Failed load of $class:\n\n$@\n\n"; + skip "Skipping test of quotes for $class due to missing compile-time dependencies", 1; + }; my $mapping = $expected{$class}; my ($quote_char, $name_sep) = @$mapping{qw/quote_char name_sep/}; my $instance = $class->new; - my $quote_char_text = dumper($quote_char); + my $quote_char_text = dump_value $quote_char; if (exists $mapping->{quote_char}) { is_deeply $instance->sql_quote_char, $quote_char, @@ -89,7 +95,9 @@ my %dbs = ( ); # lie that we already locked stuff - the tests below do not touch anything -$ENV{DBICTEST_LOCK_HOLDER} = -1; +# unless we are under travis, where the OOM killers reign and things are rough +$ENV{DBICTEST_LOCK_HOLDER} = -1 + unless DBICTest::RunMode->is_ci; # Make sure oracle is tried last - some clients (e.g. 10.2) have symbol # clashes with libssl, and will segfault everything coming after them @@ -115,7 +123,7 @@ for my $db (sort { my ($exp_quote_char, $exp_name_sep) = @{$expected{$dbs{$db}}}{qw/quote_char name_sep/}; - my ($quote_char_text, $name_sep_text) = map { dumper($_) } + my ($quote_char_text, $name_sep_text) = map { dump_value $_ } ($exp_quote_char, $exp_name_sep); is_deeply $sql_maker->quote_char, @@ -128,8 +136,12 @@ for my $db (sort { "$db name_sep with quote_names => 1 is $name_sep_text"; # if something was produced - it better be quoted - if ( my $ddl = try { $schema->deployment_statements } ) { - + if ( + # the SQLT producer has no idea what quotes are :/ + ! grep { $db eq $_ } qw( SYBASE DB2 ) + and + my $ddl = try { $schema->deployment_statements } + ) { my $quoted_artist = $sql_maker->_quote('artist'); like ($ddl, qr/^CREATE\s+TABLE\s+\Q$quoted_artist/msi, "$db DDL contains expected quoted table name"); @@ -137,13 +149,3 @@ for my $db (sort { } done_testing; - -sub dumper { - my $val = shift; - - my $dd = DumperObject; - $dd->Indent(0); - return $dd->Values([ $val ])->Dump; -} - -1;