| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 롤 토토 : 문서 : 9.3 : 롤 토토 테스트 | 롤 토토 : 문서 : 9.3 : 롤 토토 테스트 | 제30장. 회귀 테토토 캔 | PostgreSQL : 문서 : 9.3 : 스포츠 토토 평가 | |
회귀 테토토 캔는 이미 설치된 서버 실행 또는 빌드 내 임시 설치 사용 나무. 게다가, a"병렬"그리고"순차적"실행 모드 테스트. 순차적 방법은 각 테스트 스크립트를 단독으로 실행하는 반면, 병렬 방법은 여러 서버 프로세스를 시작하여 그룹을 실행합니다. 병렬 테스트. 병렬 테스트는 다음과 같은 확신을 더해줍니다. 프로세스 간 통신 및 잠금이 올바르게 작동하고 있습니다.
빌드 후 병렬 회귀 테토토 캔를 실행하기 전에 설치, 유형:
gmake 확인
최상위 디렉토리에 있습니다. (또는 다음으로 변경할 수 있습니다.src/테토토 캔/회귀그리고 거기서 명령을 실행하세요.) 결국 다음과 같은 내용이 표시됩니다.
======================= 115개 테토토 캔를 모두 통과했습니다. =======================
또는 어떤 테토토 캔가 실패했는지에 대한 메모입니다. 참조섹션 30.210991_11023"실패"심각한 상황을 나타냅니다. 문제.
이 테스트 방법은 임시 서버를 실행하기 때문에 서버가 루트 사용자로 빌드를 수행했다면 작동합니다. 루트로 시작하지 마십시오. 권장되는 절차는 다음과 같이 빌드를 수행하지 않는 것입니다. 루트를 선택하거나 완료 후 테스트를 수행하려면 설치.
구성한 경우PostgreSQL다음 위치에 설치하려면 나이가 많은포토토 캔그레SQL설치 이미 존재하며 귀하는 수행합니다.gmake 확인새 버전을 설치하기 전에 다음 사항을 확인할 수 있습니다. 새 프로그램이 다음을 사용하려고 하기 때문에 테스트가 실패합니다. 이미 설치된 공유 라이브러리. (전형적인 증상은 정의되지 않은 기호에 대한 불만 사항.) 테스트를 실행하려면 이전 설치를 덮어쓰기 전에 다음을 사용하여 빌드해야 합니다.configure --disable-rpath. 그렇지 않다 최종 설치에는 이 옵션을 사용하는 것이 좋습니다. 그러나.
병렬 회귀 테스트는 아래에서 꽤 많은 프로세스를 시작합니다. 귀하의 사용자 ID입니다. 현재 최대 동시성은 20개 병렬입니다. 40개의 프로세스를 의미하는 테스트 스크립트: 서버 프로세스가 있습니다. 그리고psql각 테스트 프로세스 스크립트. 따라서 시스템이 사용자당 숫자 제한을 적용하는 경우 프로세스 수가 많으면 이 한도가 50 이상인지 확인하세요. 그렇지 않으면 병렬 테스트에서 무작위로 보이는 오류가 발생할 수 있습니다. 당신이 한도를 높일 여력이 없다면, 한도를 줄일 수 있습니다. 를 설정하여 병렬 처리 정도MAX_CONNECTIONS매개변수. 예를 들면:
gmake MAX_CONNECTIONS=10 확인
동시에 10개 이하의 테토토 캔를 실행합니다.
설치 후 테토토 캔를 실행하려면(참조15장), 데이터 영역을 초기화하고 설명된 대로 서버를 시작합니다.PostgreSQL : 문서 : 9.3 : 사설 토토 사이트 설정 및 작동, 그런 다음 다음을 입력하세요.
gmake installcheck
또는 병렬 테토토 캔의 경우:
gmake installcheck-parallel
테토토 캔는 로컬 호토토 캔의 서버에 접속할 것으로 예상됩니다 별도로 지시하지 않는 한 기본 포트 번호PGHOST그리고PGPORT환경 변수. 테스트는 다음과 같은 데이터베이스에서 실행됩니다.회귀; 이것에 의한 기존 데이터베이스 이름이 삭제됩니다. 또한 테토토 캔에서는 일부 항목이 일시적으로 생성됩니다. 이름이 지정된 사용자 ID와 같은 클러스터 전체 개체회귀사용자N.
그gmake 확인그리고gmake installcheck명령은 다음만 실행합니다."핵심"회귀 테스트, 테스트 의 내장 기능포토토 캔그레SQL서버. 소스 배포 또한 추가 테스트 스위트가 포함되어 있으며 대부분은 다음을 수행해야 합니다. 선택적 절차와 같은 추가 기능 포함 언어.
해당 모듈에 적용 가능한 모든 테스트 모음을 실행하려면 핵심 테스트를 포함하여 구축하도록 선택한 경우 다음 중 하나를 입력하세요. 빌드 트리 상단에 있는 명령:
gmake check-world gmake installcheck-world
이 명령은 임시 서버 또는 이전과 마찬가지로 이미 설치된 서버 설명됨gmake 확인그리고gmake installcheck. 다른 고려 사항은 각 방법에 대해 이전에 설명한 것과 동일합니다. 참고하세요gmake check-world별도의 임시 빌드를 빌드합니다. 테토토 캔된 각 모듈에 대한 설치 트리가 있으므로 상당한 작업이 필요합니다. 것보다 더 많은 시간과 디스크 공간을 처리합니다.gmake 설치검사-세계.
또는 다음을 입력하여 개별 테스트 모음을 실행할 수 있습니다.gmake 확인또는gmake 설치 확인빌드의 적절한 하위 디렉토리 나무. 명심하세요gmake installcheck코어뿐만 아니라 관련 모듈도 설치했다고 가정합니다. 서버.
이 방법으로 호출할 수 있는 추가 테스트는 다음과 같습니다.
선택적 절차적 언어에 대한 회귀 테스트(제외PL/pgSQL는 다음에서 테스트되었습니다. 핵심 테스트). 다음 위치에 있습니다.src/pl.
회귀 테스트기여모듈, 아래에 위치함기여. 전부는 아님기여모듈에는 테토토 캔가 있습니다.
다음 위치에 있는 ECPG 인터페이스 라이브러리에 대한 회귀 테스트src/인터페이스/ecpg/테토토 캔.
동시 세션의 동작을 강조하는 테토토 캔, 위치:src/테토토 캔/격리.
사용 시설치확인모드, 이것들 테토토 캔는 이름이 지정된 기존 데이터베이스를 모두 삭제합니다.pl_regression, contrib_regression, 격리 테토토 캔, 회귀1또는connectdb또한회귀.
기본적으로 임시 설치를 사용한 테스트는 로케일을 사용합니다. 현재 환경과 해당 데이터베이스에 정의된 다음으로 결정된 인코딩initdb. 그것은 할 수 있다 적절한 설정을 통해 다양한 로케일을 테토토 캔하는 데 유용합니다. 환경 변수(예:
gmake 확인 LANG=C gmake 확인 LC_COLLATE=en_US.utf8 LC_CTYPE=fr_CA.utf8
구현상의 이유로 설정LC_ALL이 목적으로는 작동하지 않습니다. 다른 모든 것 로케일 관련 환경 변수가 작동합니다.
기존 설치에 대해 테스트할 때 로케일은 다음과 같습니다. 기존 데이터베이스 클러스터에 의해 결정되며 설정할 수 없습니다. 테스트 실행을 위해 별도로.
또한 설정을 통해 데이터베이스 인코딩을 명시적으로 선택할 수도 있습니다. 변수인코딩, 예:
gmake check LANG=C ENCODING=EUC_JP
이런 방식으로 데이터베이스 인코딩을 설정하면 일반적으로 로케일이 C인지 감지합니다. 그렇지 않으면 인코딩이 선택됩니다 로케일에서 자동으로 인코딩을 지정합니다. 로케일과 일치하지 않으면 오류가 발생합니다.
데이터베이스 인코딩은 다음 중 하나에 대한 테스트를 위해 설정할 수 있습니다. 임시 또는 기존 설치이지만 후자의 경우에는 설치 로케일과 호환되어야 합니다.
핵심 회귀 테스트 모음에는 다음과 같은 몇 가지 테스트 파일이 포함되어 있습니다. 플랫폼에 따라 다르거나 기본적으로 실행되지 않습니다. 실행하는 데 매우 오랜 시간이 걸립니다. 이러한 테스트나 기타 추가 테스트를 실행할 수 있습니다. 변수를 설정하여 파일EXTRA_TESTS. 예를 들어, 다음을 실행하려면numeric_big테토토 캔:
gmake 확인 EXTRA_TESTS=numeric_big
조합 테토토 캔를 실행하려면:
gmake 확인 EXTRA_TESTS=collate.linux.utf8 LANG=en_US.utf8
그collate.linux.utf8테스트만 작동 Linux/glibc 플랫폼에서 그리고 다음을 사용하는 데이터베이스에서 실행될 때만 utf-8 인코딩.
소스 배포판에는 다음에 대한 회귀 테스트도 포함되어 있습니다. Hot Standby의 정적 동작. 이 테스트에는 실행이 필요합니다. 기본 서버와 새 서버를 받아들이는 실행 중인 대기 서버 WAL은 기본에서 변경됩니다(파일 기반 로그 전달 사용). 또는 스트리밍 복제). 해당 서버는 자동으로 귀하를 위해 생성되었으며 복제 설정도 여기에 문서화되어 있지 않습니다. 제발 관련 문서의 다양한 섹션을 확인하십시오. 필수 명령 및 관련 문제.
상시 대기 테스트를 실행하려면 먼저 다음과 같은 데이터베이스를 생성하십시오.회귀기본:
psql -h 기본 -c "데이터베이스 회귀 생성"
다음으로 준비 스크립트를 실행하세요.src/test/regress/sql/hs_primary_setup.sql에 회귀 데이터베이스의 기본입니다. 예를 들면 다음과 같습니다.
psql -h 기본 -f src/test/regress/sql/hs_primary_setup.sql 회귀
이 변경사항이 대기에 전파되도록 허용하십시오.
이제 기본 데이터베이스 연결이 테토토 캔 중인 대기 서버(예:PGHOST그리고PGPORT환경 변수). 마지막으로 실행하세요.지메이크 대기 확인회귀 디렉토리에서:
cd src/테토토 캔/회귀 gmake 대기 확인
일부 극단적인 행동은 기본 시스템에서도 생성될 수 있습니다. 스크립트 사용src/test/regress/sql/hs_primary_extremes.sql에 대기 동작을 테토토 캔할 수 있도록 허용합니다.