Projet

Général

Profil

Bug #27940

Build jenkins cassé sur pytest-freezegun

Ajouté par Emmanuel Cazenave il y a plus de 5 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
13 novembre 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Depuis #26992, pytest-freezegun est utilisé dans les tests.

Les tests sont lancés pendant la création des paquets debian, pytest-freezegun nécessaire (mais pas packagé pour debian), plouf :

rootdir: /var/tmp/eobuilder/eopayment/eopayment-1.30.3.g5728565, inifile: 
collected 23 items

tests/test_base_payment.py .E
tests/test_dummy.py .
tests/test_ogone.py .....
tests/test_paybox.py ........
tests/test_sips2.py ...
tests/test_spplus.py .
tests/test_systempayv2.py ..
tests/test_tipi.py .

==================================== ERRORS ====================================
____________________ ERROR at setup of test_paris_timezone _____________________
file /var/tmp/eobuilder/eopayment/eopayment-1.30.3.g5728565/.pybuild/pythonX.Y_2.7/build/tests/test_base_payment.py, line 56
  def test_paris_timezone(freezer, monkeypatch):
E       fixture 'freezer' not found
>       available fixtures: cache, capfd, capsys, doctest_namespace, monkeypatch, pytestconfig, record_xml_property, recwarn, tmpdir, tmpdir_factory
>       use 'pytest --fixtures [testpath]' for help on them.

Fichiers

Révisions associées

Révision f8b358e2 (diff)
Ajouté par Emmanuel Cazenave il y a plus de 5 ans

debian package: do not run tests (#27940)

Which allow to remove test dependencies.

Historique

#1

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

Mon idée, ce serait ça :

--- a/debian/rules
+++ b/debian/rules
@@ -1,4 +1,4 @@
 #!/usr/bin/make -f

 %:
-       dh $@ --with python2,python3 --buildsystem=pybuild
+       dh $@ --with python2,python3

C'est ce qui est fait dans nos autres briques, je suppose que ça aurait entre autres effets de ne plus lancer les tests pendant le packaging (et donc je vais prendre le temps de faire marcher eobuilder chez moi pour vérifier, etc ... )

#2

Mis à jour par Frédéric Péters il y a plus de 5 ans

Il y a différentes façons de faire pour ne pas exécuter les tests. Tu peux ajouter dans le debian/rules cette ligne :

override_dh_auto_test:

Mais.

https://packages.debian.org/python-freezegun

c'est bien disponible.

#3

Mis à jour par Frédéric Péters il y a plus de 5 ans

c'est bien disponible.

Ah non, c'est freezegun mais pas le module pytest pour l'utiliser :/

#4

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

Au choix: virer pytest-freezegun, finalement la fixture ne fait rien ou la solution donnée par Fred.

#5

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

Ma solution ne marche pas (du premier coup, pas compris pourquoi, fatigue), celle de Fred oui.

#6

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Solution proposée à Solution validée

Allez, zou.

#7

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

Et je complète pour aller jusqu'au bout de la logique.

#8

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

  • Statut changé de Solution proposée à Résolu (à déployer)

Et je pousse le tout.

commit f8b358e23267a944a4c18625d536a46e0060f5d3
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Tue Nov 13 18:02:08 2018 +0100

    debian package: do not run tests (#27940)

    Which allow to remove test dependencies.
#9

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF