Item1230: EngineTests bork the logger
Priority: Normal
Current State: Closed
Released In: n/a
Target Release: n/a
For some reason, if you
perl ../bin/TestRunner.pl -clean -log FoswikiSuite.pm
the log stops after the
EngineTests.
I tried moving the
EngineTests last, and sure enough something in those tests is borking the log.
--
CrawfordCurrie - 09 Mar 2009
The problem is that the
EngineTests
calls
lib/Unit/CGIEngine.pm
(unless
FOSWKI_SERVER
is set, what is the case of automated tests) and it needs to manipulate
STDIN
and
STDOUT
and hence
untie(*STDIN)
and
untie(*STDOUT)
.
I'm aware of this issue and I'm thinking how to solve this: maybe change the logger, so it becomes possible to
tie
STDOUT
again.
--
GilmarSantosJr - 09 Mar 2009
As we don't care about anything prior to 5.8, we can simply localise STDIN / STDOUT without worrying whether they're tied or not (perl will worry for us).
Tested on current, trunk, works like a charm.
Also, maybe one day we could use something like
CPAN:Capture::Tiny to do such stuff.
--
OlivierRaginel - 19 Sep 2010