Author: mjevans
Date: Sat Mar 12 04:33:29 2011
New Revision: 14752

Modified:
   dbi/trunk/t/08keeperr.t

Log:
Add test case for rt 64330

Modified: dbi/trunk/t/08keeperr.t
==============================================================================
--- dbi/trunk/t/08keeperr.t     (original)
+++ dbi/trunk/t/08keeperr.t     Sat Mar 12 04:33:29 2011
@@ -2,7 +2,7 @@
 
 use strict;
 
-use Test::More tests => 69;
+use Test::More tests => 72;
 
 ## ----------------------------------------------------------------------------
 ## 08keeperr.t
@@ -69,6 +69,17 @@
 
 package main;
 
+# test ping does not destroy the errstr
+sub ping_keeps_err {
+    my $dbh = DBI->connect('DBI:Sponge:');
+    $dbh->{PrintError} = 0;
+    eval {$dbh->do(q/invalid sql statement/)};
+    ok(defined($dbh->errstr), "Error from invalid SQL");
+    ok($dbh->ping, "ping returns true"); # for me this returns false!
+    ok(defined($dbh->errstr), "Error exists after ping");
+    $dbh->disconnect;
+}
+
 ## ----------------------------------------------------------------------------
 print "Test HandleSetErr\n";
 
@@ -260,8 +271,9 @@
 cmp_ok($dbh->err, '==', 99,  '... $dbh->err is 99');
 is($dbh->errstr, "errstr99", '... $dbh->errstr is as we expected');
 is($dbh->state,  "OV123",    '... $dbh->state is as we expected');
-
 $dbh->disconnect;
 
+ping_keeps_err();
+
 1;
 # end

Reply via email to