pytest-xdist를 60줄짜리 subprocess.Popen으로 대체한 이유
I Replaced pytest-xdist With 60 Lines of subprocess.Popen. Here's Why.

TL;DR AI
1분핵심 요약
불안정한 Python 테스트 스위트의 원인은 pytest-xdist 워커 간에 공유 상태가 새어 나간 것이었습니다.
팀은 xdist를 대신해 테스트 파일마다 subprocess.Popen으로 새 Python 프로세스를 띄우는 런처를 만들고, 병렬성은 제한했습니다.
이 방식은 실행 시간을 크게 늘리지 않으면서 파일 간 상태 누수를 없애고 CI를 안정화했습니다.
또한 타임아웃 시 오브젝트가 남지 않도록 서브프로세스 트리 전체를 종료해야 한다는 점도 강조합니다.
