Development #72645
build cassé, erreur à l’initialisation de la fixture de serveur smtp
0%
Description
https://jenkins.entrouvert.org/job/hobo/7553/consoleFull dans l’env py3-django22-drf312-coverage :
==================================== ERRORS ==================================== ___________________ ERROR at setup of test_no_spf_validation ___________________ monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff9bd7c4880> port_available = 52320 @pytest.fixture def smtp_server(monkeypatch, port_available): class RecipientValidatingSMTPChannel(smtpd.SMTPChannel): def smtp_RCPT(self, arg): address = self._getaddr(arg) domain = address[1].split('@')[-1][:-1] if domain in ( 'example.com', 'example-spf.com', 'example-spf-allow-all.com', 'example-invalid-spf.com', ): self._SMTPChannel__rcpttos.append(address) self.push('250 Ok') else: self.push('550 No such user here') class MailServer(smtpd.SMTPServer): def handle_accept(self): conn, addr = self.accept() channel = RecipientValidatingSMTPChannel(self, conn, addr) > server = MailServer(('localhost', port_available), None) tests/test_emails.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.9/smtpd.py:650: in __init__ self.bind(localaddr) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <test_emails.smtp_server.<locals>.MailServer localhost:52320 at 0x7ff9bd7c4670> addr = ('localhost', 52320) def bind(self, addr): self.addr = addr > return self.socket.bind(addr) E OSError: [Errno 98] Address already in use /usr/lib/python3.9/asyncore.py:326: OSError
Fichiers
Révisions associées
Historique
Mis à jour par Paul Marillonnet il y a plus d'un an
(Et en fait c’est pas intermittence, ce n’est même pas la raison de l’échec du précédent build, qui était lui aussi en erreur.)
Mis à jour par Benjamin Dauvergne il y a plus d'un an
C'est par intermittence à quel fréquence ? Si ça arrive une fois par an, ça parait assez normal sinon c'est qu'il y a un problème plus grave. On pourrait varier l'ip et le port pour augmenter l'espace disponible, on a par exemple l'ensemble des IPs localhost (127.0.0.x + port entre 1024 et 65536).
Mis à jour par Paul Marillonnet il y a plus d'un an
- Priorité changé de Normal à Bas
J’ai créé le ticket en pensant que deux builds consécutifs venaient de casser pour cette raison, ce n’est pas le cas. Je baisse la priorité et je me note de fermer ce ticket si ça ne se reproduit pas d’ici peu.
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Fichier 0001-tests-improve-search-of-a-free-TCP-port-72645.patch 0001-tests-improve-search-of-a-free-TCP-port-72645.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Paul Marillonnet il y a environ un an
- Statut changé de Solution proposée à Solution validée
Ok, cool, j’aurais juste bien vu une ligne de commentaire en plus pour expliquer la valeur des deux bits passés à setsockopt
, parce que c’est à la fois simple et quand même un peu caché dans la doc. Sinon c’est bon pour moi, ack.
Mis à jour par Benjamin Dauvergne il y a environ un an
- Statut changé de Solution validée à Résolu (à déployer)
commit b3520030f57b050914a14f4363e3dccff3e51163 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed Dec 21 16:07:21 2022 +0100 tests: improve search of a free TCP port (#72645)
Mis à jour par Transition automatique il y a environ un an
- Statut changé de Résolu (à déployer) à Solution déployée
tests: improve search of a free TCP port (#72645)