On 5/6/19 10:42 PM, David Fetter wrote: > On Tue, May 07, 2019 at 11:05:32AM +0900, Kyotaro HORIGUCHI wrote: >> Hi. >> >> At Sun, 28 Apr 2019 17:07:16 +0200, David Fetter <da...@fetter.org> wrote in >> <20190428150716.gp28...@fetter.org> >>> Our test coverage needs all the help it can get. >>> >>> This patch, extracted from another by Fabian Coelho, helps move things >>> in that direction. >>> >>> I'd like to argue that it's not a new feature, and that it should be >>> back-patched as far as possible. >> The comment for the parameter "in". >> >> +# - in: standard input >> >> Perhaps this is "string to be fed to standard input". This also >> can be a I/O reference but we don't care that? > OK > >> + $in = '' if not defined $in; >> >> run($cmd, '<', \undef) seems to work, maybe assuming "< >> /dev/null", which might be better? > Is /dev/null a thing on Windows?
Not as such, although there is NUL (see src/include/port.h). However, I don't think we should be faking anything here. I think it would be better to avoid setting $in if not supplied and then have this: if (defined($in)) { IPC::Run::run($cmd, '<', \$in, '>', \$stdout, '2>', \$stderr); } else { IPC::Run::run($cmd, >', \$stdout, '2>', \$stderr); } cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services