그래서 나는 나쁜 더러운 일을하려합니다.단위 테스트 kill 명령
ck_assert_int_eq(magic(13), 13); //<- success, but I cannot stop magic now
내가 할 경우 내가 얻을
ck_assert_int_eq(kill(0, SIGKILL), 0);
:
는 주위 가지 방법이 있습니다 "테스트 (이 시점 이후) 수신 신호 9 (사망)"? kill (0, SIGKILL) 또한 실제 코드에서 수행되었으므로 테스트에서 파괴 함수를 호출하려고하면 같은 오류가 발생합니다.
나는 예상되는 행동이 무엇인지 이해하지 않습니다. – a3f
피해야 할 경우 SIGKILL을 사용하지 마십시오. 그것을 사용할 때는 첫 번째 인수를 0으로 사용하지 말고'fork()'를 사용하여 자식을 만들고 자식이 자살하도록하십시오. 여전히'kill (0, SIGKILL)'을 테스트해야한다면, 여전히'fork()'를 사용하지만 원래 프로세스 그룹 ('setsid()'또는'setpgrp()'또는'setpgid()'). –
@ a3f 마술을 초기화하고 초기화 코드에서 리턴 코드를 확인한 다음 죽이려고합니다. – Oreols