8000 Account for IPC::Run::result() Windows behavior change. · postgrespro/postgres@aca93b5 · GitHub
[go: up one dir, main page]

Skip to content
  • Commit aca93b5

    Browse files
    committed
    Account for IPC::Run::result() Windows behavior change.
    This restores compatibility with the not-yet-released successor of version 20220807.0. Back-patch to 9.4, which introduced this code. Reviewed by Andrew Dunstan. Discussion: https://postgr.es/m/20221117061805.GA4020280@rfd.leadboat.com
    1 parent bbf9c28 commit aca93b5

    File tree

    1 file changed

    +4
    -8
    lines changed

    1 file changed

    +4
    -8
    lines changed

    src/test/perl/PostgreSQL/Test/Utils.pm

    Lines changed: 4 additions & 8 deletions
    Original file line numberDiff line numberDiff line change
    @@ -782,15 +782,11 @@ sub command_exit_is
    782782
    my $h = IPC::Run::start $cmd;
    783783
    $h->finish();
    784784

    785-
    # On Windows, the exit status of the process is returned directly as the
    786-
    # process's exit code, while on Unix, it's returned in the high bits
    787-
    # of the exit code (see WEXITSTATUS macro in the standard <sys/wait.h>
    788-
    # header file). IPC::Run's result function always returns exit code >> 8,
    789-
    # assuming the Unix convention, which will always return 0 on Windows as
    790-
    # long as the process was not terminated by an exception. To work around
    791-
    # that, use $h->full_results on Windows instead.
    785+
    # Normally, if the child called exit(N), IPC::Run::result() returns N. On
    786+
    # Windows, with IPC::Run v20220807.0 and earlier, full_results() is the
    787+
    # method that returns N (https://github.com/toddr/IPC-Run/issues/161).
    792788
    my $result =
    793-
    ($Config{osname} eq "MSWin32")
    789+
    ($Config{osname} eq "MSWin32" && $IPC::Run::VERSION <= 20220807.0)
    794790
    ? ($h->full_results)[0]
    795791
    : $h->result(0);
    796792
    is($result, $expected, $test_name);

    0 commit comments

    Comments
     (0)
    0