X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2Fdbixcsl_common_tests.pm;h=ad4005767733ed0e1c25da5a39e1209b8a4c6aa1;hb=0da287c87626b38a802fda7b8ca324dd62634851;hp=f15f94999d45a3e505a53ff9b2f82a1ee110ff1b;hpb=78cf39e4bd10944f9fa11a5cad36fa8459c4df45;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/t/lib/dbixcsl_common_tests.pm b/t/lib/dbixcsl_common_tests.pm index f15f949..ad40057 100644 --- a/t/lib/dbixcsl_common_tests.pm +++ b/t/lib/dbixcsl_common_tests.pm @@ -120,7 +120,7 @@ sub run_tests { $num_rescans++ if $self->{vendor} eq 'Firebird'; plan tests => @connect_info * - (207 + $num_rescans * $col_accessor_map_tests + $extra_count + ($self->{data_type_tests}{test_count} || 0)); + (209 + $num_rescans * $col_accessor_map_tests + $extra_count + ($self->{data_type_tests}{test_count} || 0)); foreach my $info_idx (0..$#connect_info) { my $info = $connect_info[$info_idx]; @@ -588,6 +588,12 @@ sub test_schema { is( $class2->column_info('crumb_crisp_coating')->{accessor}, 'trivet', 'col_accessor_map is being run' ); + is $class1->column_info('dat')->{is_nullable}, 0, + 'is_nullable=0 detection'; + + is $class2->column_info('set_primary_key')->{is_nullable}, 1, + 'is_nullable=1 detection'; + SKIP: { skip $self->{skip_rels}, 131 if $self->{skip_rels}; @@ -1113,8 +1119,10 @@ EOF find $find_cb, DUMP_DIR; -# system "rm -f /tmp/before_rescan/* /tmp/after_rescan/*"; -# system "cp $tdir/common_dump/DBIXCSL_Test/Schema/*.pm /tmp/before_rescan"; +# system "rm -rf /tmp/before_rescan /tmp/after_rescan"; +# system "mkdir /tmp/before_rescan"; +# system "mkdir /tmp/after_rescan"; +# system "cp -a @{[DUMP_DIR]} /tmp/before_rescan"; my $before_digest = $digest->b64digest; @@ -1129,7 +1137,7 @@ EOF is_deeply(\@new, [ qw/LoaderTest30/ ], "Rescan"); -# system "cp t/_common_dump/DBIXCSL_Test/Schema/*.pm /tmp/after_rescan"; +# system "cp -a @{[DUMP_DIR]} /tmp/after_rescan"; $digest = Digest::MD5->new; find $find_cb, DUMP_DIR; @@ -1435,10 +1443,12 @@ sub create { id INTEGER NOT NULL UNIQUE, id1 INTEGER NOT NULL, id2 INTEGER NOT NULL, - id3 INTEGER $self->{null}, - id4 INTEGER NOT NULL, - UNIQUE (id1, id2), - UNIQUE (id3, id4) + @{[ $self->{vendor} !~ /^(?:DB2|SQLAnywhere)\z/i ? " + id3 INTEGER $self->{null}, + id4 INTEGER NOT NULL, + UNIQUE (id3, id4), + " : '' ]} + UNIQUE (id1, id2) ) $self->{innodb} }, ); @@ -2120,7 +2130,7 @@ sub setup_data_type_tests { my @size = split /,/, $size; # some DBs don't like very long column names - if ($self->{vendor} =~ /^(?:firebird|sqlanywhere|oracle|db2)\z/i) { + if ($self->{vendor} =~ /^(?:firebird|sqlanywhere|oracle|db2|mysql)\z/i) { my ($col_def, $default) = $type_alias =~ /^(.*)(default.*)?\z/i; $type_alias = substr $col_def, 0, 15;