일부 테스트는 본질적으로 환경에 따른 결과를 지정하는 방법을 제공했습니다. 대안"예상"결과 사설 토토 사이트. 각 회귀 테스트에는 다음을 보여주는 여러 비교 파일이 있을 수 있습니다. 다양한 플랫폼에서 가능한 결과. 두 가지가 있습니다 비교 파일이 무엇인지 결정하는 독립적인 메커니즘 각 테스트에 사용됩니다.
첫 번째 메커니즘은 비교 사설 토토 사이트을 선택하여 특정 플랫폼. 매핑 사설 토토 사이트이 있습니다.src/test/regress/resultmap, 이는 다음을 정의합니다. 각 플랫폼에 사용할 비교 파일입니다. 가짜 테스트를 제거하기 위해"실패"특정 플랫폼의 경우, 먼저 변형 결과 파일을 선택하거나 만든 다음 에 대한 줄결과맵사설 토토 사이트.
매핑 파일의 각 줄은 다음 형식을 따릅니다.
테스트 이름/플랫폼패턴=비교사설 토토 사이트 이름
테스트 이름은 특정 회귀의 이름일 뿐입니다. 테스트 모듈. 플랫폼 패턴은 다음과 같은 스타일의 패턴입니다. 유닉스 도구expr(즉, 일반 암시적이 있는 표현식^앵커 시작). 다음으로 인쇄된 플랫폼 이름과 일치합니다.config.guess. 비교 사설 토토 사이트 이름 대체 결과 비교 사설 토토 사이트의 기본 이름입니다.
예: 일부 시스템은 매우 작은 부동 소수점을 해석합니다. 언더플로 오류를 보고하는 대신 값을 0으로 설정합니다. 이 에서 몇 가지 차이점이 발생합니다.float8회귀 테스트. 따라서 변형 비교 사설 토토 사이트을 제공합니다.float8-small-is-zero.out, 이러한 시스템에서 예상되는 결과가 포함됩니다. 침묵시키다 가짜"실패"메시지 켜기오픈BSD플랫폼,결과맵포함
float8/i.86-.*-openbsd=float8-small-is-zero
다음의 출력이 있는 모든 시스템에서 트리거됩니다.config.guess일치i.86-.*-openbsd. 다른 줄결과맵다음에 대한 변형 비교 파일을 선택하세요. 적절한 경우 다른 플랫폼.
변종 비교 파일의 두 번째 선택 메커니즘은 다음과 같습니다. 훨씬 더 자동적입니다. 단순히"최고 일치"제공된 여러 비교 사설 토토 사이트 중. 는 회귀 테스트 드라이버 스크립트는 두 가지 표준을 모두 고려합니다. 테스트용 비교 사설 토토 사이트,테스트 이름.out및 이름이 지정된 변형 사설 토토 사이트테스트 이름_숫자.out(여기서숫자임의의 한 자리 숫자0-9). 그런 파일이 있다면 정확히 일치하면 테스트가 통과된 것으로 간주됩니다. 그렇지 않으면, 가장 짧은 diff를 생성하는 것이 다음을 생성하는 데 사용됩니다. 실패 보고서. (만약결과맵포함 특정 테스트에 대한 항목과 기본 항목테스트 이름에 주어진 대체 이름은결과맵.)
예를 들어,문자테스트, 비교 사설 토토 사이트char.out포함 예상되는 결과는C그리고POSIX로케일, 사설 토토 사이트char_1.out표시되는 대로 정렬된 결과를 포함합니다. 다른 많은 지역에서.
최적 일치 메커니즘은 다음과 같은 상황에 대처하기 위해 고안되었습니다. 로케일에 따라 결과가 달라지지만 어떤 상황에서도 사용할 수 있습니다. 테스트 결과를 쉽게 예측할 수 없는 경우 플랫폼 이름만. 이 메커니즘의 한계는 테스트 드라이버는 실제로 어떤 변종인지 알 수 없습니다."맞습니다"현재 환경용; 그럴 것이다 가장 잘 작동하는 것으로 보이는 변형을 선택하세요. 그러므로 그것은 이 메커니즘은 변형 결과에만 사용하는 것이 가장 안전합니다. 모든 상황에서 동등하게 유효하다고 간주할 의향이 있습니다.