디버깅
VillageSQL 서버 디버깅은 Linux에서는 GDB를, macOS에서는 lldb를 사용합니다. macOS의 GDB는 코드 서명이 필요하여 설정하기 번거롭습니다 — lldb는 macOS의 표준 디버거이며 별도 설정 없이 바로 작동합니다.Linux (GDB)
VillageSQL을 GDB에서 실행:macOS (lldb)
VillageSQL을 lldb에서 실행:테스트 실행
VillageSQL은 기능을 검증하기 위해 단위 테스트와 회귀 테스트를 포함합니다.단위 테스트
VillageSQL 전용 단위 테스트 실행 (빌드 디렉터리 내에서):회귀 테스트
mysql-test 디렉터리로 이동:—suite vs —do-suite:
--suite=villagesql/insert는 하위 스위트 하나를 실행합니다--do-suite=villagesql은 하위 스위트(insert, select, stored_procedure 등)를 포함한 모든 테스트를 실행합니다--nounit-tests는 MTR이 스위트와 함께 실행할 단위 테스트를 건너뜁니다. 그 단위 테스트는 업스트림 MySQL 단위 테스트이며 알려진 실패를 포함합니다. VillageSQL 단위 테스트는 위의 단위 테스트 명령으로 따로 실행하세요.
개별 테스트 실행
테스트 이름으로 특정 테스트 실행:테스트 결과 업데이트
기능 변경 후 예상 테스트 출력을 업데이트해야 하는 경우:테스트 이식성
테스트 출력에 테스트 실행기의 임시 디렉터리 경로가 포함된 경우, 기록된 결과에 다른 머신에서 작동하지 않는 절대 경로가 포함되지 않도록 경로를 출력하는 각 문 앞에 다음 지시문을 추가하세요:테스트 실패 디버깅
VillageSQL 전용 로그 메시지(LogVSQL()을 통해 출력)는 --log-error-verbosity=3에서 오류 로그에 기록되며, MTR은 기본적으로 이 값을 설정합니다. 한 번의 실행에 대해 수준을 설정하려면:
mysql-test/var/log/mysqld.1.err에 있습니다. --parallel을 사용하면 각 워커는 대신 mysql-test/var/<N>/log/mysqld.1.err에 기록합니다.
확장 회귀 테스트 작성에 대한 자세한 내용은 C++ 테스트를 참조하세요.
바이너리 설치
VillageSQL을 시스템 전체에 설치하려면 (적절한 권한이 필요):/usr/local/mysql/에 설치됩니다. 설치 접두사를 사용자 정의할 수 있습니다:

