피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Windows 파일 시스템 호환성 확보를 통한 Graph RAG 및 테스트 인프라 안정화
The Code I Shared: Reflections on my best 29+ Merged Pull Requests in Open Source
AI 요약
Context
Unix 기반 환경 중심의 개발로 인해 Windows OS에서의 파일 경로 처리 및 심볼릭 링크 호환성 결여. 특히 LanceDB 사용 시 롱 패스(Long Path)로 인한 OS Error 3 발생 및 테스트 슈트의 Windows 환경 스킵 현상으로 인한 검증 공백 발생.
Technical Solution
- Windows 절대 경로의 정규화 및 접두사 자동 추가를 통한 LanceDB subprocess의 파일 경로 인식 오류 해결
- Directory Junction을 활용한 Windows 전용 경로 링크 구현으로 기존 심볼릭 링크 테스트의 이식성 확보
- 플랫폼별 Capability Probe 도입을 통해 호스트 환경의 링크 생성 가능 여부를 동적으로 판단하는 테스트 구조 설계
- Unix/Windows 간 경로 표현 방식 차이를 추상화하여 크로스 플랫폼 호환성 유지
- Vitest 환경에서 Windows Azure VM(Standard_D4ads_v6)을 통한 실제 런타임 검증 수행
실천 포인트
- Windows 환경의 Long Path 제한 해결을 위해 경로 정규화 및 UNC 경로 접두사(`\\?\`) 적용 검토 - 플랫폼 의존적 테스트 케이스 작성 시 `process.platform` 기반의 단순 스킵 대신 기능 탐지(Capability Detection) 로직 구현 - CI/CD 파이프라인 내에 다양한 OS 커널 환경(Unix/Windows)을 포함한 매트릭스 테스트 전략 수립