이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 31.3. 토토 비교 범퍼카 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

30.3. 토토 비교 파일

일부 테스트 중 일부는 본질적으로 환경 의존적 결과를 생성하기 때문에 대체를 지정하는 방법을 제공했습니다"예상"결과 파일. 각 회귀 테스트에는 다른 플랫폼에서 가능한 결과를 보여주는 몇 가지 토토 파일이있을 수 있습니다. 각 테스트에 사용되는 토토 파일을 결정하기위한 두 가지 독립적 인 메커니즘이 있습니다.

첫 번째 메커니즘을 사용하면 특정 플랫폼에 대해 토토 파일을 선택할 수 있습니다. 매핑 파일이 있습니다.src/test/recess/resultmap, 각 플랫폼에 사용할 토토 파일을 정의합니다. 가짜 테스트를 제거하려면"실패"특정 플랫폼의 경우 먼저 토토 결과 파일을 선택하거나 만들고에 줄을 추가합니다.ResultMap파일.

매핑 파일의 각 줄은 양식입니다

TestName : 출력 : 플랫폼 파트 넷 = 토토 필레나 이름

테스트 이름은 특정 회귀 테스트 모듈의 이름 일뿐입니다. 출력 값은 확인할 출력 파일을 나타냅니다. 표준 회귀 테스트의 경우 항상입니다.out. 값은 출력 파일의 파일 확장에 해당합니다. 플랫폼 패턴은 Unix 도구 스타일의 패턴입니다expr(즉, 암시 적 표현)^시작시 고정). 에 의해 인쇄 된 플랫폼 이름과 일치합니다.config.guess. 토토 파일 이름은 대체 결과 토토 파일의 기본 이름입니다.

예를 들어 : 일부 시스템은 지하 플로우 오류를보고하는 대신 매우 작은 부동 소수점 값을 0으로 해석합니다. 이것은에서 몇 가지 차이를 유발합니다.float8회귀 테스트. 따라서 토토 비교 파일을 제공합니다.float8-small-is-zero.out, 여기에는 이러한 시스템에서 예상되는 결과가 포함됩니다. 가짜를 침묵시키기 위해"실패"메시지 ONOpenBSD플랫폼,ResultMap포함 :

float8 : out : i.86-.*-OpenBsd = float8-small-is-Zero.out

출력이있는 모든 컴퓨터에서 트리거됩니다.config.guess매치i.86-.*-OpenBSD. 다른 줄의ResultMap적절한 다른 플랫폼의 토토 비교 파일을 선택합니다.

토토 비교 파일의 두 번째 선택 메커니즘은 훨씬 더 자동입니다."Best Match"제공된 여러 토토 파일 중. 회귀 테스트 드라이버 스크립트는 테스트의 표준 토토 파일을 모두 고려합니다.TestName.out및 토토 파일이라는TestName_숫자.out(여기서Digit단일 숫자입니다0-9). 그러한 파일이 정확히 일치하는 경우 테스트는 통과하는 것으로 간주됩니다. 그렇지 않으면 가장 짧은 차이를 생성하는 것이 실패 보고서를 작성하는 데 사용됩니다. (만약에ResultMap특정 테스트에 대한 항목이 포함 된 다음 기본TestNameResultMap.)

예를 들어,char테스트, 토토 파일char.outCandPOSIX로컬, 파일 중char_1.out다른 많은 지역에서 나타나는대로 분류 된 결과를 포함합니다.

가장 좋은 일치 메커니즘은 로케일 의존적 결과에 대처하기 위해 고안되었지만 플랫폼 이름만으로는 테스트 결과를 쉽게 예측할 수없는 상황에서 사용할 수 있습니다. 이 메커니즘의 한계는 테스트 드라이버가 실제로 어떤 토토인지 알 수 없다는 것입니다"정확한"현재 환경의 경우; 가장 잘 작동하는 토토을 선택합니다. 따라서이 메커니즘을 모든 상황에서 똑같이 유효한 것으로 간주 할 토토 결과에 대해서만이 메커니즘을 사용하는 것이 가장 안전합니다.