언어 바꾸기English
이전 목록

pytest-xdist를 60줄짜리 subprocess.Popen으로 대체한 이유

I Replaced pytest-xdist With 60 Lines of subprocess.Popen. Here's Why.

TL;DR AI

핵심 요약

1분
  1. 불안정한 Python 테스트 스위트의 원인은 pytest-xdist 워커 간에 공유 상태가 새어 나간 것이었습니다.

  2. 팀은 xdist를 대신해 테스트 파일마다 subprocess.Popen으로 새 Python 프로세스를 띄우는 런처를 만들고, 병렬성은 제한했습니다.

  3. 이 방식은 실행 시간을 크게 늘리지 않으면서 파일 간 상태 누수를 없애고 CI를 안정화했습니다.

  4. 또한 타임아웃 시 오브젝트가 남지 않도록 서브프로세스 트리 전체를 종료해야 한다는 점도 강조합니다.

원문 보기