단일 테스트 실행하기
저는 이번에 Pintos 프로젝트를 진행하면서 단일 테스트를 진행해야 할 필요성을 느꼈는데, 공식 문서에 나온 단일 테스트 실행 방법인 make check TEST=tests/threads/테스트이름으로는 정상적인 테스트가 되지 않았습니다. 갑자기 선택한 테스트 파일만 실행하는 게 아니라 처음 테스트 파일부터 실행하는 등 이상한 문제가 발생하고는 했는데요.
그러다가 같은 팀 동료인 박은범 학우의 도움을 받아 단일 테스트를 실행하는 명령어 사용법을 배워서 사용할 수 있게 되었습니다. 만약 저와 같이 Pintos 프로젝트에서 단일 테스트를 진행하는 데 어려움을 겪고 있는 분들은 이 글을 참고하면 많은 도움이 될 것 같습니다.
빌드 및 테스트 실행 방법
(1) 소스 파일 빌드
threads 디렉터리로 이동 후, make clean - make를 통해 빌드를 진행합니다.
cd pintos-kaist/threads
make clean
make
(2) build 디렉터리 이동
이후 threads 디렉터리에 새롭게 만들어진 build 디렉터리로 이동합니다.
cd build
(3) 단일 테스트 실행
아래의 명령어를 통해 원하는 단일 테스트를 실행해 결과를 확인합니다.
pintos -- run 단일테스트명
# ex) pintos -- run priority-sema
만약 특정 플래그를 켜야 하는 경우, 다음과 같이 플래그를 추가해 단일 테스트를 실행하면 됩니다.
pintos -- -플래그명 run 단일테스트명
# ex) pintos -- -mlfqs run mlfqs-recent-1
마치면서
위의 명령어를 통해 빌드 후 단일 테스트를 실행해 볼 수 있는데요. 유의해야 할 점은 pass, fail 등이 표시되지 않고 콘솔 로그만 확인이 가능합니다. 때문에 디버깅이나, 개발 중 빠른 실행 확인이 필요할 때 사용하게 되죠. 다만 저 같은 경우 pintos를 진행하면서 단일 테스트를 진행해야 했던 경우가 대부분 디버깅이었기에 유용하게 사용할 수 있었습니다. 이제 더이상 make check를 통해 원하는 테스트가 실행될 때까지 기다리지 마세요!
'크래프톤 정글 > Code 정글(C언어)' 카테고리의 다른 글
[Pintos] Pintos 학습 프로세스 ver2.0 (0) | 2025.05.14 |
---|---|
[Pintos] Threads: Advanced Scheduler - 핵심 로직 구현 및 통합된 코드 디버깅하기 (0) | 2025.05.13 |
[Pintos] Threads: Advanced Scheduler - 큰 그림 그리기 및 공유 템플릿 만들기 (1) | 2025.05.12 |
[Pintos] Threads: Priority Scheduling - 동기화 Primitive 단계별로 수정하기 (0) | 2025.05.11 |
[Pintos] Pintos 학습 프로세스 ver1.0 (0) | 2025.05.10 |