2012-12-05 36 views
5

मेरे पास पाइथन के विभिन्न संस्करणों के लिए कई वातावरण के साथ एक जटिल tox.ini कॉन्फ़िगरेशन है।मैं टोक्स को कैसे कॉन्फ़िगर कर सकता हूं ताकि यह सभी के बजाय एक पर्यावरण पर सबसे ज्यादा कवरेज चलाए?

मैं जानना चाहता हूं कि केवल डिफ़ॉल्ट पायथन व्याख्याक पर कवरेज चलाने के लिए टोक्स को कैसे बताना है।

समस्याओं में से एक यह है कि डिफ़ॉल्ट पायथन पर्यावरण एक मंच से दूसरे प्लेटफ़ॉर्म से भिन्न हो सकता है।

मेरे पास एक रैपर स्क्रिप्ट है जो tox -e py25,py26,docs कहती है जहां-तर्क तर्क पाइथन के पाए गए संस्करण हैं।

[tox] 
    ... 
[testenv:docs] 
    ... 
[testenv] 
    commands=py.test --cov-report xml --cov scripts 
    ... 
[testenv:py26] 
    ... 
[testenv:py25] 
    ... 

वांछित व्यवहार: एक ही पर्यावरण के लिए कवरेज के साथ चलाने के pytest (इस जेनकींस के साथ एकीकृत चला जाता है)।

उत्तर

4

मुझे लगता है कि आप [testenv:py] पर्यावरण का उपयोग और उपयोग कर सकते हैं जो पाइथन दुभाषिया का उपयोग करता है जिसके साथ टोक्स स्वयं को बुलाया जाता है। यदि आप कवरेज-रन को परिभाषित करते हैं तो आपको वह चाहिए जो आप चाहते हैं।

+0

धन्यवाद, यही वह है जिसे मैं ढूंढ रहा था! अब मैं दो मोड में चलाने के लिए टोक्स सेट कर सकता हूं: त्वरित (केवल 'py' चलाएं) और पूर्ण (सभी उपलब्ध व्याख्याकर्ताओं के साथ चलाएं जिनमें रिमोट प्लेटफॉर्म पर pytest-xdist के माध्यम से निष्पादन शामिल है)। – sorin

+0

हाय, कृपया जिस तरह से काम करता है उसे शामिल करने के लिए उत्तर को अपडेट करें। मैंने बस उस पर्यावरण का उपयोग करने की कोशिश की, लेकिन वास्तव में यह कवरेज नहीं चला। मैं अजगर 2.7.5 और 3.4.4 के साथ परीक्षण करने की कोशिश कर रहा हूं। धन्यवाद। – Efren