2013-04-23 2 views
0

이것은 다른 무엇보다도 내 이해를위한 질문입니다. TAP::Harness을 통해 몇 가지 테스트를 실행하려면 Test::More을 사용하고 있습니다.TAP에서 대기 상태의 의미는 무엇입니까?

테스트가 실행되면 종료 코드와 대기 코드가 반환됩니다.

종료 코드는 Test::Moredocumentation에 따라 오류가 발생하면 0이 아닌 값을 반환하도록 설계되었습니다.

대기 코드는 무엇을 의미합니까? 실행중인 테스트에 실패한 테스트의 수 (256 * n)의 배수 인 것으로 보입니다.

내 생각에이 프로토콜은 유닉스와의 부모 - 자식 프로세스 관계를 에뮬레이트하려고 시도하지만 대기 코드에 대해서는 아무것도 모른다.

답변

3

대기 코드의 구조에 대한 자세한 내용은 see the notes on $?입니다. 추측 하듯이 Test :: More의 종료 코드에는 256이 곱해지고 일반적으로이 값은 실패한 테스트의 수입니다. A로부터 스크립트가 이제까지 종료 여부

use Test::More tests => 2; 

ok 1,"first"; 
kill 15,$$; 
ok 1,"second"; 

이 (15)의 대기 상태를 얻을 것입니다 :

대기 코드가 유용 이유는 때문에 신호의 하네스 종료 아래 코드를 할 때 볼 수 있다는 것입니다 신호는 당신이하고있는 것에 달려 있습니다. 안정성이 떨어지는 원격 서비스를 호출해야하는 시스템이 있었고 다른 끝이 죽었을 때 SIGPIPE 오류가 표시됩니다.

관련 문제