1Test::Trap::Builder::SyUssteermSCaofnet(r3i)buted Perl DToecsutm:e:nTtraatpi:o:nBuilder::SystemSafe(3)
2
3
4
6 Test::Trap::Builder::SystemSafe - "Safe" output layer backend using
7 File::Temp
8
10 Version 0.2.1
11
13 This module provides an implementation systemsafe, based on File::Temp,
14 for the trap's output layers. This implementation insists on reopening
15 the output file handles with the same descriptors, and therefore,
16 unlike Test::Trap::Builder::TempFile and Test::Trap::Builder::PerlIO,
17 is able to trap output from forked-off processes, including system().
18
19 See also Test::Trap (:stdout and :stderr) and Test::Trap::Builder
20 (output_layer).
21
23 Using File::Temp, we need privileges to create tempfiles.
24
25 We need disk space for the output of every trap (it should clean up
26 after the trap is sprung).
27
28 Disk access may be slow -- certainly compared to the in-memory files of
29 PerlIO.
30
31 If the file handle we try to trap using this backend is on an in-memory
32 file, it would not be availible to other processes in any case. Rather
33 than change the semantics of the trapped code or silently fail to trap
34 output from forked-off processes, we just raise an exception in this
35 case.
36
37 If there is another file handle with the same descriptor (f ex after an
38 "open OTHER, '>&=', THIS"), we can't get that file descriptor. Rather
39 than silently fail, we again raise an exception.
40
41 Threads? No idea. It might even work correctly.
42
44 Please report any bugs or feature requests directly to the author.
45
47 Eirik Berg Hanssen, "<ebhanssen@allverden.no>"
48
50 Copyright 2006-2008 Eirik Berg Hanssen, All Rights Reserved.
51
52 This program is free software; you can redistribute it and/or modify it
53 under the same terms as Perl itself.
54
55
56
57perl v5.12.3 2011-05-06Test::Trap::Builder::SystemSafe(3)