On 10/28/14 12:46 AM, Noah Misch wrote:
> Agreed. Having this framework when the pg_upgrade test suite originated would
> have prevented acquiring parallel implementations in Perl and shell.
Yes, that was certainly a motivation, and I would like to continue work
on pg_upgrade testing.
> Concretely, that means
> discontinuing use of subplans and replacing IPC::Run with IPC::Cmd. (Windows
> systems probably need to install IPC::Run so IPC::Cmd can use it internally;
> that is okay.) If those restrictions make the test case developer experience
> much worse, though, I'll backpedal toward less portability.
I agree we should get rid of subplans. When I started out, they seemed
useful, to avoid this sort of thing found in the postgresql-common test
suite:
use Test::More tests => ($#MAJORS == 0) ? 1 : 103 * 3;
But as we are learning that they are a serious hindrance to portability,
I think we can do without them.
I have looked into IPC::Cmd, but the documentation keeps telling me that
to do anything interesting I have to have IPC::Run anyway. I'll give it
a try, though.