2017-04-07 8 views
0

일부 Python 확장을 단위 테스트하고 싶습니다. 내가 스크립트에서 setup()를 실행하고있어이를 달성하기 :distutils 설정 호출에서 배포판 가져 오기

from distutils.core import setup, Extension 
import os 

DIR = os.path.dirname(__file__) 

def call_setup(): 
    module1 = Extension('callbacks', 
     sources = [os.path.join(DIR, 'callbacks.c')]) 

    setup(
     script_name = 'setup.py', 
     script_args = ['build'], 
     name = 'PackageName', 
     ext_modules = [module1]) 

는 테스트를 실행 한 후 내가 정리에 빌드를 원하는 테스트 디렉토리에 쓰레기를 떠나 방지하려면. unittest에 distutils.command.clean.clean()을 실행하고 싶습니다. tearDown(). clean()에 인수로 전달해야하는 배포판에 대해 dist 객체를 얻으려면 어떻게해야합니까?

감사

답변

1

그것은 return a Distribution instance.

Distribution 생성자에 의해 허용 키워드 인수 목록의 setup() 함수를 참조한다 setup()에 전화 것 같습니다. setup()은 Distribution 인스턴스를 생성합니다.

+0

감사합니다. 귀하의 답변이 맞습니다. 아아,'clean.run()'은 [아무것도하지 않는다] (https://github.com/python-git/python/blob/py3k/Lib/distutils/command/clean.py). 나 자신을 직접 제거 (또는 무시)하십시오. – Arthur