• Tom Lane's avatar
    Fix bogus loop logic in 013_crash_restart test's pump_until subroutine. · d11eae09
    Tom Lane authored
    The pump_nb() step might've already received the desired data, so we must
    check for that at the top of the loop not the bottom.  Otherwise, the
    call to pump() will sit with nothing to do until the timeout elapses.
    pump_until then falls out with apparent success ... but the timeout has
    been used up, causing the next call of pump_until to report a timeout
    failure.  I believe this explains the intermittent timeout failures
    we've seen in the buildfarm ever since this test went in.  I was able
    to reproduce the problem on gaur semi-repeatably, and this appears to
    fix it.
    
    In passing, remove a duplicate assignment, fix one stdin-assignment to
    look like the rest, and document the test's dependency on test_decoding.
    d11eae09
README 777 Bytes