나는 소프트웨어 릴리스 사이에서 변경하는 경향이있는 (C) 구조체에 대한 GDB 파이썬 인터페이스를 사용하여 꽤 - 프린터를 작성했습니다. 형식이 변하기 때문에 필자는 적응할 수있을만큼 동적 인 프린터를 만들려고 노력했으며 파이썬 예외를 던지기보다는 유용한 것을 항상 인쇄하려고했습니다.파이썬으로 작성된 GDB 예쁘 프린터를 어떻게 테스트 할 수 있습니까?
는 지금 내가 지원하는 데 필요한 두 가지 형식이 있지만 미래에 몇 가지 더있을 가능성이있다. 프린터를 테스트하기 위해 여러 릴리즈의 코어 덤프를 수동으로로드하지 않아도되도록 프린터의 단위 테스트를 작성하고 싶습니다.
디버깅 세션 내에서 gdb.Value를 직렬화하고 단위 테스트에로드 할 수 있다고 생각했지만 (피클이 gdb.Value와 작동하지 않음) 수행 할 수 없었습니다. 코어 덤프는 매우 커서 테스트를 위해 예쁜 프린터와 스크립트 GDB를 저장하는 것은 옵션이 아닙니다.
어떻게 거대한 주위 코어 덤프를 유지하지 않고 내 꽤 프린터를 단위 테스트 할 수 있습니다?
내가 고려하고 좋습니다. 가급적 나는 파이썬 외부의 종속성을 피하는 것이 좋습니다. –
@DavidHolm 어떤 종속성을 제거 하시겠습니까? 나는 foo-vN과 foo-VN.core를 저장할 필요가 없다는 것을 믿을 수는 없다.하지만 어쨌든 필요에 따라 다시 생성 할 수는있다. 예쁜 프린터의 출력을 "황금"출력과 비교할 수 있다면 GDB 테스트 프레임 워크에 대한 종속성을 제거하는 것이 쉽습니다. –
GDB에 대한 의존성. 현재 GDB 7은 공식적으로 지원되는 제품이 아니므로 GDB를 사용하고 있습니다. 어떤 사람들은 내 빌드를 사용하고 있고, 어떤 사람들은 그들 만의 빌드를 가지고 있기 때문에, 테스트 코드가 GDB의 어떤 버전과도 독립적이라면 선호 할 것입니다. –