1 #!/usr/local/bin/perl -w
2 # Test for File::Temp - tempfile function
6 BEGIN { plan tests => 11}
9 # Will need to check that all files were unlinked correctly
10 # Set up an END block here to do it
12 my (@files, @dirs); # Array containing list of dirs/files to test
14 # Loop over an array hoping that the files dont exist
15 END { foreach (@files) { ok( !(-e $_) )} }
17 # And a test for directories
18 END { foreach (@dirs) { ok( !(-d $_) )} }
20 # Need to make sure that the END blocks are setup before
21 # the ones that File::Temp configures since END blocks are evaluated
22 # in revers order and we need to check the files *after* File::Temp
24 use File::Temp qw/ tempfile tempdir/;
26 # Now we start the tests properly
31 # Open tempfile in some directory, unlink at end
32 my ($fh, $tempfile) = tempfile(
38 push(@files, $tempfile);
41 # Create temp directory in current dir
42 my $template = 'tmpdirXXXXXX';
43 print "# Template: $template\n";
44 my $tempdir = tempdir( $template ,
45 DIR => File::Spec->curdir,
49 print "# TEMPDIR: $tempdir\n";
52 push(@dirs, $tempdir);
54 # Create file in the temp dir
55 ($fh, $tempfile) = tempfile(
61 print "# TEMPFILE: Created $tempfile\n";
64 push(@files, $tempfile);
68 ($fh, $tempfile) = tempfile(
74 push(@files, $tempfile);
76 print "# TEMPFILE: Created $tempfile\n";
78 # and another (with template)
80 ($fh, $tempfile) = tempfile( 'helloXXXXXXX',
86 print "# TEMPFILE: Created $tempfile\n";
89 push(@files, $tempfile);
91 # Now END block will execute to test the removal of directories