Project

General

Profile

Bug #57725

crash jenkins

Added by Thomas Noël about 2 months ago. Updated about 2 months ago.

Status:
Résolu (à déployer)
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
11 Oct 2021
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

Description

Sur py3-dj22-coverage (a priori par sur dj111) :

=================================== FAILURES ===================================
______________________________ test_person_search ______________________________

db = None
rsu = [<Entity: 1>, <Entity: 2>, <Entity: 3>, <Entity: 4>, <Entity: 5>, <Entity: 6>, ...]

    def test_person_search(db, rsu):
        search = PersonSearch()

        found = list(search.search_name(rsu[0].content['prenoms'] + ' ' + rsu[0].content['nom_de_naissance']))
        assert rsu[0].id == found[0].id
        assert found[0].similarity == 1.0

        found = list(search.search_query(rsu[0].content['prenoms'] + ' ' + rsu[0].content['nom_de_naissance']))
        assert rsu[0].id == found[0].id
        assert found[0].similarity == 1.0

        birthdate = datetime.datetime.strptime(rsu[0].content['date_de_naissance'], '%Y-%m-%d').date()
        found = list(search.search_birthdate(birthdate))

        assert any(x for x in found if x.id == rsu[0].id)
        assert len(found) == 1

        found = list(search.search_email(rsu[0].content['email']))
        assert found[0].id == rsu[0].id
>       assert len(found) == 1
E       assert 2 == 1
E        +  where 2 = len([<Entity: 1>, <Entity: 381>])

tests/test_nanterre.py:42: AssertionError
---------------------------- Captured stdout setup -----------------------------
Installed 5 object(s) from 1 fixture(s)

Files

Associated revisions

Revision 99999407 (diff)
Added by Thomas Noël about 2 months ago

tests: do not crash on non-deterministic tests (#57725)

History

#1

Updated by Benjamin Dauvergne about 2 months ago

Oui le test est non déterministe ça arrive un peu tout le temps, je génères des identités au hasard et des fois la recherche me donne des doublons, on peut changer l'assertion en < 2 si c'est dérangeant ou chercher à empêcher les doublons dans la fixture rsu.

#2

Updated by Thomas Noël about 2 months ago

  • Status changed from Nouveau to En cours

C'est juste que j'avais jamais vu ce truc et que je pense l'avoir vu 2 fois ces derniers jours.

Je laisse ainsi pour quelques jours.

Si ça revient on pourra remplacer par un assert 0 < len(found) < 10 ... voire retirer cet assert, parce que la ligne du dessus (found[0].id == rsu[0].id) est ce qui nous intéresse vraiment.

#3

Updated by Benjamin Dauvergne about 2 months ago

Thomas Noël a écrit :

C'est juste que j'avais jamais vu ce truc et que je pense l'avoir vu 2 fois ces derniers jours.

C'est un signe, joue au loto ! :)

Je suis ok avec le fix.

#4

Updated by Thomas Noël about 2 months ago

je pense que ça doit être ça...

#5

Updated by Thomas Noël about 2 months ago

Encore un crash du test cette nuit. T'en es où pour le Loto ? On partage les gains ?

#6

Updated by Benjamin Dauvergne about 2 months ago

  • Status changed from Solution proposée to Solution validée

Goldorak go.

#7

Updated by Thomas Noël about 2 months ago

  • Status changed from Solution validée to Résolu (à déployer)
commit 99999407578cb6ee5febbae04232aa4d9c7404ed
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Mon Oct 11 13:38:37 2021 +0000

    tests: do not crash on non-deterministic tests (#57725)

Also available in: Atom PDF