pytest-timeout

Logiciel capture d'écran:
pytest-timeout
Détails logiciels:
Version: 0.3
Date de transfert: 20 Feb 15
Développeur: Floris Bruynooghe
Licence: Gratuit
Popularité: 7

Rating: nan/5 (Total Votes: 0)

pytest-timeout est un plugin pour py.test qui prendra fin des tests après un certain délai. & Nbsp; Ce faisant, vous obtiendrez un dump de la pile de tous les threads se exécutant à l'époque. Ce est utile quand par exemple l'exécution des tests sous un serveur d'intégration continue (CI).
Utilisation
Installer via:
pip installer pytest-timeout
puis activer le plugin, soit à partir de la ligne de commande:
py.test -p délai
ou plus commodément à partir de l'intérieur du module de test ou conftest.py:
pytest_plugins = 'timeout'
Vous pouvez modifier le délai en utilisant le paramètre --timeout qui fixe le délai en secondes.
Comment ça marche?
Ce plugin fonctionne dans l'une des deux façons. Si le système prend en charge le signal SIGALRM une alarme sera fixée lorsque les tests démarre et annulé quand il se termine. Si l'alarme expire pendant l'essai, le gestionnaire de signal utilisera pytest.fail () pour interrompre le test après avoir déversé la pile de tous les autres threads se exécutant sur stderr.
Si le système ne supporte pas SIGALRM ou l'option --nosigalrm a été utilisé alors un thread d'horloge sera utilisé à la place. Une fois de plus, si ce temporisateur ne est pas annulé avant son expiration, il se débarrasse de la pile de toutes les discussions sur stderr avant de terminer le processus de py.test entier en utilisant os._exit (1).
L'inconvénient de la méthode de SIGALRM est que le signal est utilisé par le cadre de test. Si ce signal est utilisé par le code sous test, vous devrez utiliser l'option --nosigalrm. La limitation de la thread d'horloge est cependant la charge supplémentaire de créer un thread pour chaque test exécuté et le fait que, après une temporisation l'ensemble du processus est arrêté et aucun autre test sont exécutées.

Quelle est nouvelle dans cette version:.

  • Ajout de la variable d'environnement PYTEST_TIMEOUT comme un moyen de spécifier le délai d'attente (ferme question n ° 2)
  • Plus souple argument marqueur analyse:. Vous pouvez maintenant spécifier la méthode utilisant un argument de position
  • Le plugin est maintenant activé par défaut. Il ne est plus nécessaire de spécifier timeout = 0 dans le fichier de configuration ou sur la ligne de commande, il suffit donc qu'un marqueur pourrait fonctionner.

Ce qui est nouveau dans la version 0.2:

  • Ajouter un marqueur de modifier le délai de temporisation utilisant unpytest .timeout (N) syntaxe, grâce à Laurant Brack pour le code initial.
  • Laissez le marqueur de délai d'attente pour sélectionner la méthode de temporisation utilisant l'argument méthode de mot-clé.
  • Renommer l'option --nosigalrm à --method = fil pour le soutien futur preuve eventlet et gevent. Merci à Ronny Pfannschmidt pour l'astuce.
  • Ajouter temporisation et timeout_method articles dans le fichier de configuration de sorte que vous pouvez activer et configurer le plugin en utilisant le fichier ini. Merci à Holger Krekel et Ronny Pfannschmidt pour les conseils.
  • Testé (et fixe) pour Python 2.6, 2.7 et 3.2.

Exigences :

  • Python
  • py.test

Logiciel similaire

jenkviz
jenkviz

14 Apr 15

qc
qc

14 Apr 15

TestLink
TestLink

20 Feb 15

nose-html-output
nose-html-output

20 Feb 15

Commentaires à pytest-timeout

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!