Bug #27940
Build jenkins cassé sur pytest-freezegun
0%
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
Historique
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 ... )
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.
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 :/
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.
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
- Fichier 0001-debian-package-do-not-run-tests-27940.patch 0001-debian-package-do-not-run-tests-27940.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Ma solution ne marche pas (du premier coup, pas compris pourquoi, fatigue), celle de Fred oui.
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.
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
- Fichier 0002-debian-package-remove-test-dependencies-27940.patch 0002-debian-package-remove-test-dependencies-27940.patch ajouté
- Statut changé de Solution validée à Solution proposée
Et je complète pour aller jusqu'au bout de la logique.
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.
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
debian package: do not run tests (#27940)
Which allow to remove test dependencies.