C로 작성되고 automake/autoconf를 사용하여 빌드 된 프로그램이 있으며 두 개의 테스트 스위트가 있습니다. 하나는 C로 쓰여진 단위 테스트 모음이다. 다른 하나는 종단 간이며 (현재) 파이썬으로 작성되었습니다. 나는 단위 테스트를 항상 실행하기위한 "make check"와 파이썬이 설치된 경우에만 end-to-end 테스트를 원한다. 이것은 내가 지금 무엇을 가지고 :Python을 사용할 수있는 경우 테스트 프로그램을 선택적으로 활성화합니다. - automake
TESTS = unittests
if HAVE_PYTHON
TESTS += tester.py
tester_py_SOURCES = src/test/tester.py.in
tester.py: src/test/tester.py.in Makefile
$(SED) -e 's,[@]PYTHON[@],$(PYTHON),' < $< > [email protected]
chmod +x [email protected]
endif
HAVE_PYTHON
이
AM_PATH_PYTHON([2.6],, [:])
AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != ":"])
이 유닉스에서 제대로 작동으로 구성 스크립트에 의해 설정되어 있지만 "tester.py.exe을 할 규정에"로 불면 Windows에서. 또한, #!
라인을 얻기위한 복사 및 대체 기술은 테스트 스위트를 여러 모듈로 나눌 수 없다는 것을 의미합니다.
더 좋은 방법이 있나요?
'check_SCRIPTS' 물론, 나는 그것을 생각해야합니다. 다른 하나는'AS_IF' 안에'AC_CONFIG_FILES'를 넣을 수 없다고 생각했지만, 어쨌든 모든 거대한 파일을 하나의 거대한 파일 콘트 라 파이썬 스타일에 넣지 않아도된다는 문제를 해결할 수는 없을 것입니다. 필자가 정말로 원했던 것은''./tester.py' 대신''$ (PYTHON) $ (srcdir)/src/test/tester.py''를 실행하기위한'check-TESTS' 타겟을 얻는 방법입니다. '. (나는 결국 포기하고 랩퍼 스크립트를 만들지 만, 나는 더 많은 윈도우 쓰레기를 다루어야하기 때문에 그것을 피하고있다.) – zwol
@Zack : 제 편집을 확인하십시오, 당신이 원하는대로한다고 생각합니다. –
네, 수표 현지인이가는 길 같습니다. 감사. – zwol