EasyProcess icon indicating copy to clipboard operation
EasyProcess copied to clipboard

test_deadlock_pipe is failing

Open ArchangeGabriel opened this issue 3 years ago • 0 comments

Hi,

While trying to build for ArchLinux, I’ve observed a test failure:

============================= test session starts ==============================
platform linux -- Python 3.10.2, pytest-7.1.1, pluggy-0.13.1
rootdir: /build/python-easyprocess/src/EasyProcess-1.1
plugins: timeout-2.0.2
collected 42 items

tests/test_stress.py .                                                   [  2%]
tests/test_stress2.py .                                                  [  4%]
tests/test_fast/test_deadlock.py ...F                                    [ 14%]
tests/test_fast/test_env.py .                                            [ 16%]
tests/test_fast/test_examples.py .                                       [ 19%]
tests/test_fast/test_proc.py ...........                                 [ 45%]
tests/test_fast/test_returncode.py ...                                   [ 52%]
tests/test_fast/test_started.py ..                                       [ 57%]
tests/test_fast/test_timeout.py .........                                [ 78%]
tests/test_fast/test_unicode.py .........                                [100%]

=================================== FAILURES ===================================
______________________________ test_deadlock_pipe ______________________________

    @pytest.mark.timeout(120)
    def test_deadlock_pipe():
        with Display():
            p = EasyProcess(
                [
                    python,
                    "-c",
                    PROG,
                ],
                use_temp_files=False,
            )
            p.start()
            sleep(2)
    
            def start():
                # hangs with pipes
                p.stop()
    
            thread = threading.Thread(target=start)
            thread.start()
    
            sleep(6)
>           assert thread.is_alive()
E           assert False
E            +  where False = <bound method Thread.is_alive of <Thread(Thread-1 (start), stopped 139649126991424)>>()
E            +    where <bound method Thread.is_alive of <Thread(Thread-1 (start), stopped 139649126991424)>> = <Thread(Thread-1 (start), stopped 139649126991424)>.is_alive

tests/test_fast/test_deadlock.py:75: AssertionError
=========================== short test summary info ============================
FAILED tests/test_fast/test_deadlock.py::test_deadlock_pipe - assert False
=================== 1 failed, 41 passed in 87.91s (0:01:27) ====================

I don’t have knowledge into debugging this, but I’m happy to provide any information that could be useful.

ArchangeGabriel avatar Mar 20 '22 14:03 ArchangeGabriel