Skip to main content
이 가이드는 GDB 디버깅, 서버 테스트 세트 실행, VillageSQL에 기여하는 방법을 다룹니다. 이 가이드를 사용하기 전에 소스에서 빌드를 통해 작동하는 빌드를 얻으세요.

GDB로 디버깅

개발 및 문제 해결을 위해 VillageSQL을 GDB 하에서 실행할 수 있습니다. Linux:
macOS:
GDB 내부:
MySQL 디버깅을 위한 일반적인 GDB 명령어:

테스트 실행

VillageSQL은 기능을 검증하기 위해 단위 테스트와 회귀 테스트를 포함합니다.

단위 테스트

VillageSQL 전용 단위 테스트 실행 (빌드 디렉터리 내에서):
또는 모든 단위 테스트 실행:

회귀 테스트

mysql-test 디렉터리로 이동:
전체 MySQL 테스트 스위트 실행 (느림):
VillageSQL 전용 테스트만 실행:
모든 하위 스위트를 포함한 VillageSQL 테스트 실행:
—suite vs —do-suite:
  • --suite=villagesql은 상위 레벨 villagesql 테스트만 실행합니다
  • --do-suite=villagesql은 하위 스위트(insert, select, stored_procedure 등)를 포함한 모든 테스트를 실행합니다

개별 테스트 실행

테스트 이름으로 특정 테스트 실행:
하위 스위트에서 테스트 실행:

테스트 결과 업데이트

기능 변경 후 예상 테스트 출력을 업데이트해야 하는 경우:
테스트 기록: 항상 .result 파일 변경 사항을 검토하여 의도된 동작을 반영했는지 확인하세요. --record 플래그는 예상 출력을 맹목적으로 덮어씁니다.

테스트 이식성

테스트 출력에 테스트 실행기의 임시 디렉터리 경로가 포함된 경우, 기록된 결과에 다른 머신에서 작동하지 않을 수 있는 절대 경로가 포함되지 않도록 .test 파일 내부에 다음 지시문을 추가하세요:

테스트 실패 디버깅

VillageSQL 전용 로그 메시지(LogVSQL()을 통해 출력)는 기본적으로 억제됩니다. 테스트 실행 중 오류 로그에 표시되도록 하려면:
전체 오류 로그는 mysql-test/var/log/mysqld.1.err에 있습니다. 확장 회귀 테스트 작성에 대한 자세한 내용은 개발 가이드를 참조하세요.

바이너리 설치

VillageSQL을 시스템 전체에 설치하려면 (적절한 권한이 필요):
기본적으로 바이너리가 /usr/local/mysql/에 설치됩니다. 설치 접두사(사용자 정의 경로)를 변경할 수 있습니다:

기여하기

VillageSQL에 기여하는 경우, 코딩 표준 및 개발 워크플로우에 대한 기여 가이드라인을 참조하세요.