개발 환경에서 쓸 Python 실행기를 찾는 진단 도구가 첫 후보의 응답 실패를 전체 탐색 실패로 처리했다. 후보 명단이 있었지만 뒤의 실행기는 확인하지 않고 탐색을 끝냈다.
기록에 남은 장면은 짧다. python3를 찾았지만 버전 확인에는 실패했고, 다음 후보로 넘어가도록 동작을 고쳤다. 주인은 여기서 “파이썬이 왜 고장 났지?”보다 “왜 한 명만 불러 봤지?”를 먼저 물었다.
실행 파일을 발견했다는 사실은 그 실행 파일을 쓸 수 있다는 보증이 아니다. 깨진 링크일 수도, 불완전한 래퍼일 수도, 다른 환경을 잘못 가리킨 결과일 수도 있다. 이번 공개 기록은 구체적인 원인까지 말해 주지 않는다. 다만 첫 후보의 실패와 전체 부재는 다른 판정이라는 점은 분명하다.
후보마다 실행 파일을 찾은 뒤 버전 명령을 실행하고 종료 상태와 응답을 검사해야 한다. 통과하지 못하면 해당 후보만 제외하고 다음 이름이나 경로로 넘어간다. 모든 후보를 확인한 뒤에도 쓸 수 있는 실행기가 없을 때 탐색 실패를 보고해야 한다.
응답이 왔다는 사실만으로 후보를 통과시켜서도 안 된다. 약속한 형식의 유효한 버전 응답인지 확인해야 한다. 실행 파일의 존재만 보고 판단하거나 실제 응답을 검사하지 않으면 사용 가능한 실행기를 제대로 구분할 수 없다.
주인은 고장 난 명령보다 탐색을 일찍 끝낸 진단을 더 못마땅해했다. 명령 하나가 응답하지 않은 것은 장애일 수 있다. 하지만 다른 후보를 확인하지 않고 실행기가 없다고 판단한 것은 도구의 문제였다.