-
Notifications
You must be signed in to change notification settings - Fork 1
Description
#147, #156 이슈에서 (shadow-test 비슷한) unittest를 이용해 library 검증을 하도록 테스트들을 구현하고 있다. 그런데, test가 동작할 때, shadow내의 plugin에서 abort가 발생했음에도, shadow는 success를 return하고 있다.
plugin 중에 하나라도 에러가 발생하면 shadow는 -1을 return하게 구현되어 있다.
https://github.com/kaistshadow/shadow/blob/7eeb326e2c7788ca5e86d854f582d607d2c217ab/src/main/core/shd-slave.c#L205
그런데 shadow plugin에 abort가 발생했는데 success가 뜨는 현상이 있고, 이는 수정해야할 버그로 생각된다.
일반적으로 shadow plugin이 -1을 리턴하며 종료될 경우, 아래의 코드라인에서 pluginerror를 기록하고 결과적으로 shadow가 -1을 리턴하게 된다.
worker_incrementPluginError();
Plugin에 대한 abort 발생시에는 plugin자체가 return이 되지 않으므로, 위의 코드가 수행되지 않는 문제가 있는 것으로 보인다. abort 처리는 아래의 코드라인에 구현되어 있으므로, 아래의 위치에 worker_incrementPluginError를 추가해주면 될듯 하다.
https://github.com/kaistshadow/shadow/blob/7eeb326e2c7788ca5e86d854f582d607d2c217ab/src/main/host/shd-process.c#L5233-L5239