테스트의 중요성은 아무리 강조해도 지나치지 않죠. ^^
유저모드 코드에 대해서는 여러가지 유닛테스트 프레임워크들이 있지만 커널모드 코드에 대해서는 유닛테스트를 적용할 방법이 마땅치않았습니다. 저같은 경우는 간단한 콘솔 모드 프로그램을 하나 만들고, IOCTL 들을 날려서 코드에 대한 테스트를 하곤 합니다.
뭐 요런 놈이죠. :-)
많은 분들이 이렇게들 많이 하시겠지요.
matt 님을 통해 cfix 라는 유닛 테스트 프레임웤을 알게되어 미루고 미루다 한번 사용해 봤습니다.
cfix 는 커널 모드 유닛테스트를 지원합니다.
드라이버 로딩하고, IOCTL 날리는 등의 귀찮은 작업들이 필요가 없죠.
테스트 코드만 작성하고, 빌드하고, 디버기에 복사한 후 cfix32 -kernl test_driver.sys 명령만 날려주면 땡입니다.
사용법은 도큐먼트에 잘 설명되어있고, 간단합니다.
커널모드 유닛테스트라고 해도, 다른 유닛테스트 프레임워크를 이용하는 것과 별반 다른것이 없도록 잘 만들어 두었네요.
여러분들도 사용해 보세요. 편합니다. :-)