컴파일 된 코드가 예상 된 출력을 반환하는지 또는 예상대로 실패하는지 어떻게 테스트합니까?컴파일 된 코드를 테스트하여 예상 출력/오류를 반환하는 가장 좋은 방법
아래의 작업 예제를 해결했지만 쉽게 확장 할 수 없습니다. 모든 추가 테스트에는 추가 중첩 괄호가 필요합니다. 물론이 파일을 다른 파일로 나눌 수도 있지만이를 향상시키는 방법에 대한 제안이 있습니까? 또한 makefile의 make test stanza에서이 것을 사용할 계획이므로 다른 사람들이 기본적으로 설치되지 않은 것을 설치하려고하지는 않습니다. 단지 테스트를 위해서입니다. 그리고 stdout은 stderr와 인터리브되어 있어야합니다.
간단한 예 :
./testFoo || echo execution failed
./testBar && echo expected failure
(./testBaz && (./testBaz 2>&1 | cmp -s - foo.tst && (./testFoo && echo and so on
|| echo testFoo's execution failed)|| echo testBaz's does not match )
|| echo testBaz's execution failed
내 현재 테스터 (하나 개의 테스트 용)과 같습니다가 :
\#!/bin/bash
compiler1 $1 && (compiler2 -E --make $(echo $1 | sed 's/^\(.\)\(.*\)\..*$/\l\1\2/') && (./$(echo $1 | sed 's/^\(.\)\(.*\)\..*$/\l\1\2/') || echo execution failed) || less $(echo $1 | sed 's/^\(.\)\(.*\)\..*$/\l\1\2/').err) || echo compile failed
답변 해 주셔서 감사 드리며,이를 명심하십시오. 그 동안 munit이 makefile 테스트 프레임 워크를 찾았습니다. 원하는 프레임 워크가 있는지 확인합니다. – Jean