Close stdin where it's not needed in TestLib.pm procedures
authorAndrew Dunstan <andrew@dunslane.net>
Mon, 25 Nov 2019 20:51:51 +0000 (15:51 -0500)
committerAndrew Dunstan <andrew@dunslane.net>
Mon, 25 Nov 2019 20:51:51 +0000 (15:51 -0500)
commit9af34f3c6b02779fac6dbb6cd4c5bb225a019f43
treea2f29c5298baae8b736df5898fdc77c1574d7bea
parent0dc8ead46363fec6f621a12c7e1f889ba73b55a9
Close stdin where it's not needed in TestLib.pm procedures

Where possible, do this using a pseudoterminal, so that things like
openssl that want to open /dev/tty if stdin isn't a tty won't.
Elsewhere, i.e. Windows, just close by providing an empty string using
the standard IPC::Run pipe mechanism.

Patch by Andrew Dunstan, based on an idea from Craig Ringer.

Reviewed by Mark Dilger.

Discussion: https://postgr.es/m/873ebb57-fc98-340d-949d-691b1810bf66@2ndQuadrant.com
src/test/perl/TestLib.pm