일부 테스트는 본질적으로 환경에 따른 결과를 생성하므로 대체 항목을 지정하는 방법을 제공했습니다.“예상됨”결과 범퍼카 토토. 각 회귀 테스트에는 다양한 플랫폼에서 가능한 결과를 보여주는 여러 비교 범퍼카 토토이 있을 수 있습니다. 각 테스트에 어떤 비교 범퍼카 토토을 사용할지 결정하는 두 가지 독립적인 메커니즘이 있습니다.
첫 번째 메커니즘을 사용하면 특정 플랫폼에 대해 비교 범퍼카 토토을 선택할 수 있습니다. 매핑 범퍼카 토토이 있습니다.src/test/regress/resultmap는 각 플랫폼에 사용할 비교 범퍼카 토토을 정의합니다. 가짜 테스트를 없애기 위해“실패”특정 플랫폼의 경우 먼저 변형 결과 파일을 선택하거나 만든 다음 행을 추가합니다.결과맵범퍼카 토토.
매핑 파일의 각 줄은 다음 형식입니다.
테스트 이름:출력:플랫폼 패턴=비교범퍼카 토토 이름
테스트 이름은 특정 회귀 테스트 모듈의 이름일 뿐입니다. 출력 값은 확인할 출력 파일을 나타냅니다. 표준 회귀 테스트의 경우 이는 항상 다음과 같습니다.아웃. 값은 출력 범퍼카 토토의 범퍼카 토토 확장자에 해당합니다. 플랫폼 패턴은 Unix 도구 스타일의 패턴입니다.expr(즉, 암시적 정규식^시작 부분에 앵커). 다음으로 인쇄된 플랫폼 이름과 일치합니다.config.guess. 비교 범퍼카 토토명은 대체 결과 비교 범퍼카 토토의 기본 이름입니다.
예: 일부 시스템에는 작동이 부족합니다.strtof함수, 이에 대한 해결 방법은 다음에서 반올림 오류를 발생시킵니다.플로트4회귀 테스트. 따라서 변형 비교 범퍼카 토토을 제공합니다.float4-misrounded-input.out, 여기에는 이러한 시스템에서 예상되는 결과가 포함됩니다. 가짜를 침묵시키기 위해“실패”메시지 켜기시그윈플랫폼,결과맵포함:
float4:out:.*-.*-cygwin.*=float4-misrounded-input.out
다음의 출력이 있는 모든 시스템에서 트리거됩니다.config.guess일치.*-.*-cygwin.*. 다른 줄결과맵적절한 경우 다른 플랫폼에 대한 변형 비교 범퍼카 토토을 선택하십시오.
변종 비교 파일의 두 번째 선택 메커니즘은 훨씬 더 자동적입니다. 간단히 말해서 다음을 사용합니다.“가장 일치하는 항목”제공된 여러 비교 범퍼카 토토 중. 회귀 테스트 드라이버 스크립트는 테스트에 대한 표준 비교 범퍼카 토토을 모두 고려합니다.및 이름이 지정된 변형 범퍼카 토토테스트 이름.out(여기서테스트 이름_자리.out숫자임의의 한 자리 숫자0-9). 해당 파일이 정확히 일치하면 테스트는 통과된 것으로 간주됩니다. 그렇지 않으면 가장 짧은 diff를 생성하는 것이 실패 보고서를 작성하는 데 사용됩니다. (만약에결과맵특정 테스트에 대한 항목을 포함하고 그 다음에는 기본 항목을 포함합니다.테스트 이름에 주어진 대체 이름은결과맵.)
예를 들어,문자테스트, 비교 범퍼카 토토문자.아웃다음에서 예상되는 결과가 포함되어 있습니다.C그리고POSIX로케일, 범퍼카 토토char_1.out다른 여러 로케일에 표시되는 대로 정렬된 결과를 포함합니다.
최적 일치 메커니즘은 로케일에 따른 결과에 대처하기 위해 고안되었지만 플랫폼 이름만으로는 테스트 결과를 쉽게 예측할 수 없는 모든 상황에서 사용할 수 있습니다. 이 메커니즘의 한계는 테스트 드라이버가 실제로 어떤 변형인지 알 수 없다는 것입니다.“맞습니다”현재 환경용; 가장 잘 작동하는 것으로 보이는 변형을 선택합니다. 따라서 모든 상황에서 동등하게 유효하다고 간주하려는 변형 결과에만 이 메커니즘을 사용하는 것이 가장 안전합니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.