Source: dumb-init
Version: 1.2.0-1
Severity: serious
Tags: ftbfs

https://buildd.debian.org/status/package.php?p=dumb-init

...
=================================== FAILURES ===================================
_____________ test_all_processes_receive_term_on_exit_if_setsid[1] _____________

    @pytest.mark.usefixtures('both_debug_modes', 'setsid_enabled')
    def test_all_processes_receive_term_on_exit_if_setsid():
        """If the child exits for some reason, dumb-init should send TERM to all
        processes in its session if setsid mode is enabled."""
>       child_pid, child_stdout = spawn_process_which_dies_with_children()

tests/child_processes_test.py:109: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def spawn_process_which_dies_with_children():
        """Spawn a process which spawns some children and then dies without
        signaling them, wrapped in dumb-init.
    
        Returns a tuple (child pid, child stdout pipe), where the child is
        print_signals. This is useful because you can signal the PID and see if
        anything gets printed onto the stdout pipe.
        """
        proc = Popen(
            (
                'dumb-init',
                'sh', '-c',
    
                # we need to sleep before the shell exits, or dumb-init might 
send
                # TERM to print_signals before it has had time to register 
custom
                # signal handlers
                '{python} -m testing.print_signals & sleep 0.1'.format(
                    python=sys.executable,
                ),
            ),
            stdout=PIPE,
        )
        proc.wait()
        assert proc.returncode == 0
    
        # read a line from print_signals, figure out its pid
        line = proc.stdout.readline()
        match = re.match(b'ready \(pid: ([0-9]+)\)\n', line)
>       assert match, line
E       AssertionError: 
E       assert None

tests/child_processes_test.py:95: AssertionError
----------------------------- Captured stderr call -----------------------------
[dumb-init] Running in debug mode.
[dumb-init] Unable to detach from controlling tty (errno=25 Inappropriate ioctl 
for device).
[dumb-init] Child spawned with PID 7035.
[dumb-init] Unable to attach to controlling tty (errno=25 Inappropriate ioctl 
for device).
[dumb-init] setsid complete.
[dumb-init] Received signal 18.
[dumb-init] A child with PID 7035 exited with exit status 0.
[dumb-init] Forwarded signal 15 to children.
[dumb-init] Child exited with status 0. Goodbye.
_____________ test_all_processes_receive_term_on_exit_if_setsid[0] _____________

    @pytest.mark.usefixtures('both_debug_modes', 'setsid_enabled')
    def test_all_processes_receive_term_on_exit_if_setsid():
        """If the child exits for some reason, dumb-init should send TERM to all
        processes in its session if setsid mode is enabled."""
>       child_pid, child_stdout = spawn_process_which_dies_with_children()

tests/child_processes_test.py:109: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def spawn_process_which_dies_with_children():
        """Spawn a process which spawns some children and then dies without
        signaling them, wrapped in dumb-init.
    
        Returns a tuple (child pid, child stdout pipe), where the child is
        print_signals. This is useful because you can signal the PID and see if
        anything gets printed onto the stdout pipe.
        """
        proc = Popen(
            (
                'dumb-init',
                'sh', '-c',
    
                # we need to sleep before the shell exits, or dumb-init might 
send
                # TERM to print_signals before it has had time to register 
custom
                # signal handlers
                '{python} -m testing.print_signals & sleep 0.1'.format(
                    python=sys.executable,
                ),
            ),
            stdout=PIPE,
        )
        proc.wait()
        assert proc.returncode == 0
    
        # read a line from print_signals, figure out its pid
        line = proc.stdout.readline()
        match = re.match(b'ready \(pid: ([0-9]+)\)\n', line)
>       assert match, line
E       AssertionError: 
E       assert None

tests/child_processes_test.py:95: AssertionError
==================== 2 failed, 170 passed in 27.83 seconds =====================
debian/rules:31: recipe for target 'override_dh_auto_test' failed
make[1]: *** [override_dh_auto_test] Error 1

Reply via email to