ci: 테스트 실행 추가 + Windows 매트릭스 검증#6
Merged
Merged
Conversation
test 스텝을 CI에 추가하면서 그동안 실행되지 않던 테스트가 검증되어 발견됨. - levelToString: 범위 밖 레벨(0/음수/31+)에서 rankIdx 음수로 인한 ArrayIndexOutOfBounds 크래시 방지 (1~30만 유효, 그 외 Unrated) - sanitizeFolderName: 파일명에 안전한 . 와 + 를 보존 (예: 백준 1000 'A+B')
Windows에서 실행 파일 탐지가 실패해 Java/Python 실행이 전부 깨지던 문제 해결. - findExecutable: Windows는 which 대신 where 사용 (Git Bash의 which는 ProcessBuilder가 실행 못 하는 MSYS 경로 /c/... 를 반환) - 절대경로 후보에 .exe 확장자 보정, 반환 경로의 실재 여부 검증 - detectPython: Windows는 python3가 아닌 python 우선 CI Windows 매트릭스에서 드러난 CreateProcess error=2 (javac/python3 경로) 및 그 파생인 timeout 테스트 실패를 함께 해결한다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
배경
기존
verify.yml은buildPlugin+verifyPlugin만 실행하고./gradlew test를 돌리지 않았습니다. 그 결과 이슈 #2/#4에서 추가한 인코딩 회귀 테스트가 CI에서 한 번도 실행되지 않아, 수정이 회귀해도 CI가 잡지 못하는 상태였습니다. 또한ubuntu-latest만 검증해 Windows 동작이 비어 있었습니다.변경
Run Tests스텝 추가 — 회귀 테스트(MS949 컴파일, javaCommand 인코딩 플래그)가 매 PR마다 실행됩니다.ubuntu-latest+windows-latest매트릭스 — 비-UTF-8 OS 환경에서 빌드·테스트 통과를 자동 검증합니다.의의