pycharm pytest зависает с python subprocess.run (), используя bash в интерактивном режиме - PullRequest
1 голос
/ 29 мая 2020

Я хочу протестировать вызов подпроцесса в python, который использует интерактивную оболочку в linux. Интерактивная оболочка необходима для использования псевдонимов и ссылок пути в .bashr c.

В pycharm, запуск следующего кода в сочетании с pytest (щелкните правой кнопкой мыши, Run 'pytest in ... ) приводит к зависанию процесса тестирования.

import subprocess
def test_subprocess_with_interactive_bash():
    p = subprocess.run(['/bin/bash', '-i', '-c', 'ls'])

Процесс python можно остановить. Процесс bash остается видимым в top. Его нужно убить с помощью kill -9 <pid>

. Запуск кода за пределами pycharm (например, pytest test_subprocess.py) не вызывает проблем. Я мог бы повторить этот эффект с самыми последними версиями pycharm (2020.1) и pytest (5.4.2-py37_0).

Почему это происходит? Есть ли решение или обходной путь?

...