• Victor Stinner's avatar
    Issue #12363: improve siginterrupt() tests · 8d64248c
    Victor Stinner authored
    Backport commits 968b9ff9a059 and aff0a7b0cb12 from the default branch to 3.2
    branch. Extract of the changelog messages:
    
    "The previous tests used time.sleep() to synchronize two processes. If the host
    was too slow, the test could fail.
    
    The new tests only use one process, but they use a subprocess to:
    
    - have only one thread
    - have a timeout on the blocking read (select cannot be used in the test,
    select always fail with EINTR, the kernel doesn't restart it)
    - not touch signal handling of the parent process"
    
    and
    
    "Add a basic synchronization code between the child and the parent processes:
    the child writes "ready" to stdout."
    
    I replaced .communicate(timeout=3.0) by an explicit waiting loop using
    Popen.poll().
    8d64248c
test_signal.py 17.7 KB