롤 토토 : 문서 : 9.5 : 롤 토토 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.5 : 스포츠 토토 베트맨 평가 | 무지개 토토 : 문서 : 9.5 : 무지개 토토 테스트 | 30 장. 회귀 테스트 | 와이즈 토토 : 문서 : 9.5 : 테스트를 누릅니다 |
일부 테스트 중 일부는 본질적으로 환경 의존적 결과를 생성하기 때문에 대체를 지정하는 방법을 제공했습니다"예상"결과 토토. 각 회귀 테스트에는 다른 플랫폼에서 가능한 결과를 보여주는 몇 가지 비교 토토이있을 수 있습니다. 각 테스트에 사용되는 비교 토토을 결정하기위한 두 가지 독립적 인 메커니즘이 있습니다.
첫 번째 메커니즘을 사용하면 특정 플랫폼에서 비교 토토을 선택할 수 있습니다. 매핑 토토이 있습니다.src/test/regess/resultmap, 각 플랫폼에 사용할 비교 토토을 정의합니다. 가짜 테스트를 제거하려면"실패"특정 플랫폼의 경우 먼저 변형 결과 토토을 선택하거나 만들고에 줄을 추가합니다.ResultMap토토.
매핑 토토의 각 줄은 양식입니다
testName : 출력 : 플랫폼 파트 넷 = 비교 필레나 이름
테스트 이름은 특정 회귀 테스트 모듈의 이름 일뿐입니다. 출력 값은 확인할 출력 토토을 나타냅니다. 표준 회귀 테스트의 경우 항상입니다.out. 값은 출력 토토의 토토 확장에 해당합니다. 플랫폼 패턴은 Unix 도구 스타일의 패턴입니다expr(즉, 암시 적 표현)^시작시 고정). 에 의해 인쇄 된 플랫폼 이름과 일치합니다.114PostgreSQL : 문서 : 9.5 : 변형 비교 파일57. 비교 토토 이름은 대체 결과 비교 토토의 기본 이름입니다.
예를 들어 : 일부 시스템은 지하 플로우 오류를보고하는 대신 매우 작은 부동 소수점 값을 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_DIGIT.out(DIGIT단일 숫자입니다0-9). 그러한 토토이 정확히 일치하는 경우 테스트는 통과하는 것으로 간주됩니다. 그렇지 않으면 가장 짧은 차이를 생성하는 것이 실패 보고서를 작성하는 데 사용됩니다. (만약에ResultMap특정 테스트에 대한 항목이 포함 된 다음 기본.TestNameResultMap.)
예를 들어,char테스트, 비교 토토char.outC및posix로컬, 토토 중char_1.out다른 많은 지역에 나타나는대로 분류 된 결과가 포함되어 있습니다.
최상의 일치 메커니즘은 로케일 의존적 결과에 대처하기 위해 고안되었지만 플랫폼 이름만으로는 테스트 결과를 쉽게 예측할 수없는 상황에서 사용할 수 있습니다. 이 메커니즘의 한계는 테스트 드라이버가 실제로 어떤 변형인지 알 수 없다는 것입니다"정확한"현재 환경의 경우; 가장 잘 작동하는 변형을 선택합니다. 따라서이 메커니즘을 모든 상황에서 똑같이 유효한 것으로 간주 할 변형 결과에 대해서만이 메커니즘을 사용하는 것이 가장 안전합니다.