pytest-timeout

Software screenshot:
pytest-timeout
Rincian Software:
Versi: 0.3
Tanggal Upload: 20 Feb 15
Pengembang: Floris Bruynooghe
Lisensi: Gratis
Popularitas: 7

Rating: nan/5 (Total Votes: 0)

pytest-timeout adalah plugin untuk py.test yang akan mengakhiri tes setelah batas waktu tertentu & nbsp;. Ketika melakukan sehingga Anda akan mendapatkan dump tumpukan semua benang berjalan pada saat itu. Hal ini berguna ketika mis menjalankan tes di bawah server integrasi berkesinambungan (CI).
Penggunaan
Menginstal melalui:
pip menginstal pytest-timeout
dan kemudian mengaktifkan plugin, baik dari baris perintah:
py.test p batas waktu
atau lebih nyaman dari dalam modul tes atau conftest.py:
pytest_plugins = 'batas waktu'
Anda dapat mengubah timeout menggunakan parameter --timeout yang menetapkan batas waktu dalam hitungan detik.
Cara Kerja
Plugin ini bekerja di salah satu dari dua cara. Jika sistem mendukung sinyal SIGALRM alarm akan dijadwalkan saat tes dimulai dan dibatalkan ketika selesai. Jika alarm berakhir saat tes penangan sinyal akan menggunakan pytest.fail () untuk mengganggu tes setelah dibuang tumpukan setiap benang lain berlari ke stderr.
Jika sistem tidak mendukung SIGALRM atau pilihan --nosigalrm digunakan maka thread waktu akan digunakan sebagai gantinya. Sekali lagi, jika waktu ini tidak dibatalkan sebelum kadaluarsa akan membuang tumpukan semua benang ke stderr sebelum mengakhiri seluruh proses py.test menggunakan os._exit (1).
Kelemahan dari metode SIGALRM adalah bahwa sinyal yang digunakan oleh kerangka pengujian. Jika sinyal ini digunakan oleh kode yang diuji Anda akan perlu menggunakan opsi --nosigalrm. Keterbatasan benang waktu namun overhead ekstra untuk menciptakan thread untuk setiap tes dijalankan dan fakta bahwa setelah satu batas waktu seluruh proses dihentikan dan tidak ada tes lebih lanjut dieksekusi.

Apa baru dalam rilis ini:.

  • Ditambahkan variabel lingkungan PYTEST_TIMEOUT sebagai cara untuk menentukan batas waktu (menutup masalah # 2)
  • Lebih fleksibel parsing argumen penanda:. Anda sekarang dapat menentukan metode menggunakan argumen posisi
  • Plugin sekarang diaktifkan secara default. Tidak ada lagi kebutuhan untuk menentukan timeout = 0 di file konfigurasi pada baris perintah sederhana sehingga penanda akan bekerja.

Apa yang baru dalam versi 0.2:

  • Tambah penanda untuk memodifikasi penundaan batas waktu menggunakanpytest sebuah .timeout sintaks (N), berkat Laurant Brack kode awal.
  • Biarkan penanda batas waktu untuk memilih metode batas waktu menggunakan argumen metode kata kunci.
  • Ubah nama pilihan --nosigalrm untuk --method = thread untuk dukungan bukti masa depan untuk eventlet dan gevent. Terima kasih kepada Ronny Pfannschmidt untuk petunjuk.
  • Tambah batas waktu dan timeout_method item ke file konfigurasi sehingga Anda dapat mengaktifkan dan mengkonfigurasi plugin menggunakan file ini. Terima kasih kepada Holger Krekel dan Ronny Pfannschmidt untuk petunjuk.
  • Diuji (dan tetap) untuk python 2.6, 2.7 dan 3.2.

Persyaratan :

  • Python
  • py.test

Software yang serupa

nose-cprof
nose-cprof

20 Feb 15

qtsourceview
qtsourceview

11 May 15

PyModel
PyModel

11 May 15

Komentar untuk pytest-timeout

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!