X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2Fdbixcsl_common_tests.pm;h=782d9855ca6ae3813c649d88f8942cbf5967a8b7;hb=dd87d4c4612dbc0120da1e1826cb3f09c15fbcdb;hp=c6de223a65f4cf23b03b5566e6a9f36e7431240c;hpb=16773d6db5807936b24e4c26624797b0a1fab32f;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/t/lib/dbixcsl_common_tests.pm b/t/lib/dbixcsl_common_tests.pm index c6de223..782d985 100644 --- a/t/lib/dbixcsl_common_tests.pm +++ b/t/lib/dbixcsl_common_tests.pm @@ -135,7 +135,7 @@ sub run_only_extra_tests { my $file_count = grep /CREATE (?:TABLE|VIEW)/i, @{ $self->{extra}{create} || [] }; $file_count++; # schema - $file_count++ if $self->{data_type_tests}{ddl}; + $file_count++ for @{ $self->{data_type_tests}{table_names} || [] }; my $schema_class = $self->setup_schema($info, $file_count); my ($monikers, $classes) = $self->monikers_and_classes($schema_class); @@ -219,7 +219,8 @@ sub setup_schema { my $standard_sources = not defined $expected_count; if ($standard_sources) { - $expected_count = 36 + ($self->{data_type_tests}{test_count} ? 1 : 0); + $expected_count = 36; + $expected_count++ for @{ $self->{data_type_tests}{table_names} || [] }; $expected_count += grep /CREATE (?:TABLE|VIEW)/i, @{ $self->{extra}{create} || [] }; @@ -1676,9 +1677,14 @@ sub setup_data_type_tests { my $tests = $self->{data_type_tests} = {}; # split types into tables based on overrides - my @types = keys %$types; - my @split_off_types = grep /$DATA_TYPE_MULTI_TABLE_OVERRIDES{lc($self->{vendor})}/i, @types; - my @first_table_types = grep !/$DATA_TYPE_MULTI_TABLE_OVERRIDES{lc($self->{vendor})}/i, @types; + my (@types, @split_off_types, @first_table_types); + { + no warnings 'uninitialized'; + + @types = keys %$types; + @split_off_types = grep /$DATA_TYPE_MULTI_TABLE_OVERRIDES{lc($self->{vendor})}/i, @types; + @first_table_types = grep !/$DATA_TYPE_MULTI_TABLE_OVERRIDES{lc($self->{vendor})}/i, @types; + } @types = +{ map +($_, $types->{$_}), @first_table_types }, map +{ $_, $types->{$_} }, @split_off_types;