On Sat, Aug 13, 2005 at 10:33:45PM -0400, John E. Malmberg wrote:
> There does not seem to be a method of explicitly closing or flushing the
> output stream being written to by Test::Builder.
>
> Any ideas on how to resolve this?
I can change the test to write to a tied filehandle or I can make sure the
new Test::Builder object which outputs to some_file is destroyed before I
read from some_file. The later has the nice side effect of testing that
destroying a Test::Builder object closes any open filehandles.
Try the attached patch and let me know.
--
Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern
Don't try the paranormal until you know what's normal.
-- "Lords and Ladies" by Terry Prachett
=== t/create.t
==================================================================
--- t/create.t (revision 2525)
+++ t/create.t (local)
@@ -16,22 +16,24 @@
use Test::Builder;
my $more_tb = Test::More->builder;
-my $new_tb = Test::Builder->create;
-
-isa_ok $new_tb, 'Test::Builder';
isa_ok $more_tb, 'Test::Builder';
-isnt $more_tb, $new_tb, 'Test::Builder->create makes a new object';
-
is $more_tb, Test::More->builder, 'create does not interfere with ->builder';
is $more_tb, Test::Builder->new, ' does not interfere with ->new';
-$new_tb->output("some_file");
-END { 1 while unlink "some_file" }
+{
+ my $new_tb = Test::Builder->create;
-$new_tb->plan(tests => 1);
-$new_tb->ok(1);
+ isa_ok $new_tb, 'Test::Builder';
+ isnt $more_tb, $new_tb, 'Test::Builder->create makes a new object';
+ $new_tb->output("some_file");
+ END { 1 while unlink "some_file" }
+
+ $new_tb->plan(tests => 1);
+ $new_tb->ok(1);
+}
+
pass("Changing output() of new TB doesn't interfere with singleton");
ok open FILE, "some_file";