31.3. 변형 비교 범퍼카 토토#

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

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

매핑 범퍼카 토토의 각 줄은 양식입니다

testName : 출력 : 플랫폼 파트 넷 = 비교 필레나 이름

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

예 : 일부 시스템이 작동하지 않습니다strtof함수, 해결 방법은에서 반올림 오류를 유발합니다.float4회귀 테스트. 따라서 변형 비교 범퍼카 토토을 제공합니다.float4-misrounded-input.out, 여기에는 이러한 시스템에서 예상되는 결과가 포함됩니다. 가짜를 침묵시키기 위해실패메시지 ONCygwin플랫폼,ResultMap포함 :

float4 : out :.*-.*-Cygwin.*= float4-misrounded-input.out

출력이있는 모든 기계에서 트리거됩니다config.guess매치.*-.*-Cygwin.*. 다른 줄의ResultMap적절한 다른 플랫폼의 변형 비교 범퍼카 토토을 선택합니다.

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

예를 들어,char테스트, 비교 범퍼카 토토char.outCandposix로컬, 범퍼카 토토 중char_1.out다른 많은 지역에 나타나는대로 분류 된 결과를 포함합니다.

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

정정 제출

문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면