+BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
use DBIx::Class::Optional::Dependencies -skip_all_without => 'test_rdbms_ase';
use strict;
use warnings;
no warnings 'uninitialized';
+use Config;
use Test::More;
use Test::Exception;
-use lib qw(t/lib);
+use DBIx::Class::_Util 'sigwarn_silencer';
+
use DBICTest;
my @storage_types = (
unless $storage_type !~ /NoBindVars/i;
lives_ok {
+
+ local $SIG{__WARN__} = sigwarn_silencer(qr/Sybase bulk API operation failed due to character set incompatibility/)
+ unless $ENV{DBICTEST_SYBASE_SUBTEST_RERUN};
+
$schema->resultset('Artist')->populate([
{
name => 'bulk artist 1',
# test invalid _insert_bulk (missing required column)
#
throws_ok {
+ local $SIG{__WARN__} = sigwarn_silencer(qr/Sybase bulk API operation failed due to character set incompatibility/)
+ unless $ENV{DBICTEST_SYBASE_SUBTEST_RERUN};
+
$schema->resultset('Artist')->populate([
{
charfield => 'foo',
$rs->update({ blob => undef });
is((grep !defined($_->blob), $rs->all), 2);
} 'blob update to NULL';
+
+ lives_ok {
+ $schema->txn_do(sub {
+ my $created = $rs->create( { clob => "some text" } );
+ });
+ } 'insert blob field in transaction';
+ $ping_count-- if $@; # failure retry triggers a ping
}
# test MONEY column support (and some other misc. stuff)
is $ping_count, 0, 'no pings';
-# if tests passed and did so under a non-C lang - let's rerun the test
-if (Test::Builder->new->is_passing and $ENV{LANG} and $ENV{LANG} ne 'C') {
- my $oldlang = $ENV{LANG};
- local $ENV{LANG} = 'C';
+# if tests passed and did so under a non-C LC_ALL - let's rerun the test
+if (Test::Builder->new->is_passing and $ENV{LC_ALL} and $ENV{LC_ALL} ne 'C') {
+
+ pass ("Your LC_ALL is set to $ENV{LC_ALL} - retesting with C");
- pass ("Your lang is set to $oldlang - retesting with C");
+ local $ENV{LC_ALL} = 'C';
+ local $ENV{DBICTEST_SYBASE_SUBTEST_RERUN} = 1;
local $ENV{PATH};
+ local $ENV{PERL5LIB} = join ($Config{path_sep}, @INC);
my @cmd = map { $_ =~ /(.+)/ } ($^X, __FILE__);
# this is cheating, and may even hang here and there (testing on windows passed fine)