2016-11-15 2 views
1

나는 내가 제공하는 스크립트/명령의 오류 코드를 테스트하는 프로그램을 가지고 있습니다. 경우에 따라 명령 줄에서 무시하고 싶은 경고 오류 코드가 반환됩니다 (5 대신 0으로 종료). 나는 다른 오류 코드가 동일한 것을 전달하기를 바라고, 가능한 한 단순하게 (한 줄 명령을 유지하는) 코드를 원한다.bash는 특정 오류 코드를 무시합니다 (pytest는 오류 코드 5를 경고하지 않습니다)

pytest || [ $? -eq 5 ]을 사용해 보았습니다.이 코드는 명령에서 오는 오류 코드 5를 무시하지만 실제 오류 코드 대신 1이 아닌 0이 아닌 오류 코드를 모두 대체합니다. 내 프로젝트를 검사 할 pytest을 사용하고

:

나는 떠들썩한 파티와 나보다 경험이 많은 사람이 I.

좀 더 구체적인 상황보다 더 빨리 더 나은 솔루션을 가지고 올 수있는 것 같아요. 그 중 일부는 현재 테스트가 없으며 pytest의 기본 동작은 오류 (오류 코드 5)로 처리하는 것입니다. 나는 그 실수를 성공으로보고 싶다. 사실, 나는 Travis가 그 오류를 성공으로 위협하길 바란다.

감사합니다.

답변

2

산술 식을 사용하여 깨끗하지 않아.

2

적절한 상태를 잡고 테스트하고 다시 올리기 만하면됩니다.

가의 일부 트래비스를 실행하면 루슬란의 대답은 문제를 탈출했던 이유, 그리고 chepner에 대한 답이 보인다
pytest ... ; err=$? ; if (($err != 5)) ; then exit $err ; fi 

때문에 :

exit $(($? == 5 ? 0 : $?)) 
0

내가이 다음과 같은 일을 결국 :

command 
case $? in 
    5) exit 0 ;; 
    *) exit ;; 
esac