trusty (3) Test::Trap::Builder::SystemSafe.3pm.gz

Provided by: libtest-trap-perl_0.2.3-1_all bug

NAME

       Test::Trap::Builder::SystemSafe - "Safe" output layer backend using File::Temp

VERSION

       Version 0.2.3

DESCRIPTION

       This module provides an implementation systemsafe, based on File::Temp, for the trap's output layers.
       This implementation insists on reopening the output file handles with the same descriptors, and
       therefore, unlike Test::Trap::Builder::TempFile and Test::Trap::Builder::PerlIO, is able to trap output
       from forked-off processes, including system().

       See also Test::Trap (:stdout and :stderr) and Test::Trap::Builder (output_layer).

CAVEATS

       Using File::Temp, we need privileges to create tempfiles.

       We need disk space for the output of every trap (it should clean up after the trap is sprung).

       Disk access may be slow -- certainly compared to the in-memory files of PerlIO.

       If the file handle we try to trap using this backend is on an in-memory file, it would not be available
       to other processes in any case.  Rather than change the semantics of the trapped code or silently fail to
       trap output from forked-off processes, we just raise an exception in this case.

       If there is another file handle with the same descriptor (f ex after an "open OTHER, '>&=', THIS"), we
       can't get that file descriptor.  Rather than silently fail, we again raise an exception.

       Threads?  No idea.  It might even work correctly.

BUGS

       Please report any bugs or feature requests directly to the author.

AUTHOR

       Eirik Berg Hanssen, "<ebhanssen@allverden.no>"

       Copyright 2006-2012 Eirik Berg Hanssen, All Rights Reserved.

       This program is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself.