• Oran Agra's avatar
    Fix external test hang in redis-cli test when run in a certain order (#13423) · a3319785
    Oran Agra authored
    When the tests are run against an external server in this order:
    `--single unit/introspection --single unit/moduleapi/blockonbackground
    --single integration/redis-cli`
    the test would hang when the "ASK redirect test" test attempts to create
    a listening socket (it fails, and then redis-cli itself hangs waiting
    for a non-responsive socket created by the introspection test).
    
    the reasons are:
    1. the blockedbackground test includes util.tcl and resets the
    `::last_port_attempted` variable
    2. the test in introspection didn't close the listening server, so it's
    still alive.
    3. find_available_port doesn't properly detect the busy port, and it
    thinks that the port is free even though it's busy.
    
    fixing all 3 of these problems, even though fixing just one would be
    enough to let the test pass.
    a3319785
blockonbackground.tcl 4.23 KB