Author: REHSACK
Date: Fri Jun  4 04:13:59 2010
New Revision: 14098

Modified:
   dbi/trunk/t/49dbd_file.t

Log:
Add test to prove fix for RT#58039

Modified: dbi/trunk/t/49dbd_file.t
==============================================================================
--- dbi/trunk/t/49dbd_file.t    (original)
+++ dbi/trunk/t/49dbd_file.t    Fri Jun  4 04:13:59 2010
@@ -3,6 +3,9 @@
 
 use strict;
 
+use Cwd;
+use File::Path;
+use File::Spec;
 use Test::More;
 
 my $using_dbd_gofer = ($ENV{DBI_AUTOPROXY}||'') =~ /^dbi:Gofer.*transport=/i;
@@ -11,11 +14,16 @@
 
 my $tbl;
 BEGIN { $tbl = "db_". $$ . "_" };
-END   { $tbl and unlink glob "${tbl}*" }
+#END   { $tbl and unlink glob "${tbl}*" }
 
 use_ok ("DBI");
 use_ok ("DBD::File");
 
+my $dir = File::Spec->catdir(getcwd(),'test_output');
+
+rmtree $dir;
+mkpath $dir;
+
 my $rowidx = 0;
 my @rows = ( [ "Hello World" ], [ "Hello DBI Developers" ], );
 
@@ -40,9 +48,10 @@
 
 my $encoding = "iso-8859-1";
 
+# now use dir to prove file existence
 ok ($dbh = DBI->connect ("dbi:File:", undef, undef, {
-    f_ext      => ".txt/r",
-    f_dir      => ".",
+    f_ext      => ".txt",
+    f_dir      => $dir,
     f_schema   => undef,
     f_encoding => $encoding,
     f_lock     => 0,
@@ -62,11 +71,32 @@
     like ("@msg", qr{Cannot open .*/t_sbdgf_}, "Cannot open non-existing 
file");
     }
 
+SKIP: {
+    my $fh;
+    my $tbl2 = $tbl . "2";
+
+    my $tbl2_file1 = File::Spec->catfile ($dir, "$tbl2.txt");
+    open $fh, ">", $tbl2_file1 or skip;
+    print $fh "You cannot read this anyway ...";
+    close $fh;
+
+    my $tbl2_file2 = File::Spec->catfile ($dir, "$tbl2");
+    open $fh, ">", $tbl2_file2 or skip;
+    print $fh "Neither that";
+    close $fh;
+
+    ok ($dbh->do ("drop table if exists $tbl2"), "drop manually created table 
$tbl2 (first file)");
+    ok (! -f $tbl2_file1, "$tbl2_file1 removed");
+    ok (-f $tbl2_file2, "$tbl2_file2 exists");
+    ok ($dbh->do ("drop table if exists $tbl2"), "drop manually created table 
$tbl2 (second file)");
+    ok (! -f $tbl2_file2, "$tbl2_file2 removed");
+    }
+
 my @tfhl;
 
 # Now test some basic SQL statements
-my $tbl_file = "$tbl.txt";
-ok ($dbh->do ("create table $tbl (txt varchar (20))"), "Create table $tbl");
+my $tbl_file = File::Spec->catfile ($dir, "$tbl.txt");
+ok ($dbh->do ("create table $tbl (txt varchar (20))"), "Create table $tbl") or 
diag $dbh->errstr;
 ok (-f $tbl_file, "Test table exists");
 
 # Expected: ("unix", "perlio", "encoding(iso-8859-1)")

Reply via email to