pytest-timeout

Screenshot Software:
pytest-timeout
Mga detalye ng Software:
Bersyon: 0.3
I-upload ang petsa: 20 Feb 15
Nag-develop: Floris Bruynooghe
Lisensya: Libre
Katanyagan: 136

Rating: 5.0/5 (Total Votes: 1)

pytest-timeout ay isang plugin para sa py.test na wakasan ang mga pagsubok pagkatapos ng isang tiyak na timeout. & Nbsp; Kapag paggawa nito kailangan mong makakuha ng isang stack dump ng lahat ng mga thread na tumatakbo sa oras. Ito ay kapaki-pakinabang kapag hal pagpapagana ng mga pagsusuri sa ilalim ng isang tuloy-tuloy na integration (.ci) server.
Paggamit
I-install sa pamamagitan ng:
buto ng bungang-kahoy-install pytest-timeout
at pagkatapos ay paganahin ang plugin, alinman sa mula sa command line:
py.test -p timeout
o higit pang mga maginhawang mula sa loob ng pagsubok module o conftest.py:
pytest_plugins = 'timeout'
Maaari mong baguhin ang timeout gamit ang --timeout parameter na nagtatakda ng timeout sa segundo.
Paano Ito Works
Plugin na ito ay gumagana sa isa sa dalawang paraan. Kung sinusuportahan ng system ang signal SIGALRM isang alarma ay naka-iskedyul na kapag ang mga pagsubok ng mga pagsisimula at kinansela kapag natapos. Kung mag-expire ang alarma sa panahon ng pagsubok ang humahawak ng signal gagamitin pytest.fail () upang ihinto ang test matapos ang pag-dumped ng stack ng anumang iba pang mga thread na tumatakbo sa stderr.
Kung hindi sinusuportahan ang system ay SIGALRM o ang --nosigalrm opsyon ay ginamit pagkatapos ng timer ng thread ay gagamitin sa halip. Sa sandaling higit pa, kung timer na ito ay hindi Kinansela bago ito mag-expire ito dump ng stack ng lahat ng mga thread na stderr bago pagwawakas ng buong proseso ng py.test gamit os._exit (1).
Ang downside ng paraan SIGALRM ay ang signal ay ginagamit ng mga pagsubok framework. Kung signal na ito ay ginagamit ng mga code sa ilalim ng pagsubok kakailanganin mong gamitin ang --nosigalrm opsyon. Ang limitasyon ng timer thread gayunpaman ay ang mga dagdag na overhead na lumikha ng isang thread para sa bawat pinaandar pagsubok at ang katotohanan na pagkatapos ng isang pag-timeout ang buong proseso ay tumigil at walang karagdagang mga pagsubok ay pinaandar.

Ano ang bagong sa paglabas:.

  • Idinagdag ang PYTEST_TIMEOUT environment variable bilang isang paraan ng pagtukoy ng timeout (nagsasara isyu # 2)
  • Higit pang kakayahang umangkop argumento marker sa pag-parse:. Maaari mo na ngayong tukuyin ang paraan ng paggamit ng isang posisyonal argumento
  • Ang plugin ay gumagana na ngayon sa pamamagitan ng default. Mayroong hindi na isang pangangailangan upang tukuyin ang timeout = 0 sa configuration file o sa command line lamang upang ang isang marker gagana.

Ano ang bagong sa bersyon 0.2:

  • Magdagdag ng isang pananda upang baguhin ang timeout delay gamit ang isangpytest .timeout (N) syntax, salamat sa Laurant Brack para sa paunang code.
  • Payagan ang timeout marker upang piliin ang paraan ng pag-timeout ng paggamit ng argumento na pamamaraan ng keyword.
  • Palitan ang pangalan ng --nosigalrm pagpipilian upang --method = thread na patunay ng suporta sa hinaharap para sa eventlet at gevent. Salamat sa Ronny Pfannschmidt para sa pahiwatig.
  • Magdagdag ng timeout at timeout_method mga item sa configuration file upang maaari mong paganahin at i-configure ang plugin ng paggamit ng INI file. Salamat sa Holger Krekel at Ronny Pfannschmidt para sa mga pahiwatig.
  • sinubukan (at fixed) para sa python 2.6, 2.7 at 3.2.

Mga Kinakailangan :

  • Python
  • py.test

Katulad na software

bdd
bdd

14 Apr 15

proboscis
proboscis

20 Feb 15

pyVows
pyVows

20 Feb 15

Mga komento sa pytest-timeout

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!