Projet

Général

Profil

Development #37390

test_concurrency.test_attribute_value_uniqueness instable

Ajouté par Paul Marillonnet il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
31 octobre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

un changement dans le gabarit d'enregistrement qui n'a pas été pris en compte dans les tests


Fichiers


Demandes liées

Lié à Authentic 2 - Bug #37370: phrase bizarre sur la page d'enregistrementFermé30 octobre 2019

Actions

Révisions associées

Révision 9d85720a (diff)
Ajouté par Paul Marillonnet il y a plus de 4 ans

adapt registration test to template changes (#37390)

Révision 3d3df4e8 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 4 ans

models: lock user model when changing multiple attribute values (#37390)

Historique

#1

Mis à jour par Paul Marillonnet il y a plus de 4 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Paul Marillonnet
#2

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

  • Lié à Bug #37370: phrase bizarre sur la page d'enregistrement ajouté
#3

Mis à jour par Paul Marillonnet il y a plus de 4 ans

Aussi un bogue introduit par 8879c1d83bfaae95f276d84c32da353b3d08cba5 (#32025), je regarde.

#4

Mis à jour par Paul Marillonnet il y a plus de 4 ans

Paul Marillonnet a écrit :

Aussi un bogue introduit par 8879c1d83bfaae95f276d84c32da353b3d08cba5 (#32025), je regarde.

Heisenbug :)

Je comprend pas ce qui casse l'atomicité pourtant explicitement requise sur ce bout de code de la méthode set_value de la classe d'attribut de profil.
J'ai souvenir qu'il y avait des soucis avec sqlite mais pas avec postgres.
Et ça me saoulerait de git-revert ça parce que dans des conditions d'utilisation réalistes (i.e. pas 100 threads qui viennent taper sur les valeurs d'un attribut multiple pour un même usager donné), le code de 8879c1d83bfaae95f276d84c32da353b3d08cba5 fait son boulot.

Quelqu'un a déjà vu ça ? On jurerait que même sous des contraintes d'atomicité l'ORM django se permet quelques écarts.

Oui PEBCAK me direz-vous mais là je suis à court d'idées.

#5

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

J'ai déjà poussé ta partie concernant le texte affiché à l'enregistrement vers master.

#6

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

  • Sujet changé de build authentic cassé à test_concurrency.test_attribute_value_uniqueness instable

Et je réduis du coup ce ticket.

        map_threads(f, range(concurrency))
        map_threads(f, range(concurrency))
>       assert AttributeValue.objects.filter(attribute=multiple_at).count() == 1
E       AssertionError: assert 2 == 1
E        +  where 2 = <bound method AttributeValueQuerySet.count of <AttributeValueQuerySet [<AttributeValue: AttributeValue object>, <AttributeValue: AttributeValue object>]>>()
E        +    where <bound method AttributeValueQuerySet.count of <AttributeValueQuerySet [<AttributeValue: AttributeValue object>, <AttributeValue: AttributeValue object>]>> = <AttributeValueQuerySet [<AttributeValue: AttributeValue object>, <AttributeValue: AttributeValue object>]>.count
E        +      where <AttributeValueQuerySet [<AttributeValue: AttributeValue object>, <AttributeValue: AttributeValue object>]> = <bound method ManagerFromAttributeValueQuerySet.filter of <django.db.models.manager.ManagerFromAttributeValueQuerySet object at 0x7f4c0956ab10>>(attribute=<Attribute 'multiple'>)
E        +        where <bound method ManagerFromAttributeValueQuerySet.filter of <django.db.models.manager.ManagerFromAttributeValueQuerySet object at 0x7f4c0956ab10>> = <django.db.models.manager.ManagerFromAttributeValueQuerySet object at 0x7f4c0956ab10>.filter
E        +          where <django.db.models.manager.ManagerFromAttributeValueQuerySet object at 0x7f4c0956ab10> = AttributeValue.objects

tests/test_concurrency.py:60: AssertionError
#7

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

Très instable, je serais pour le désactiver, ou le marquer xfail, pour ne pas perturber les builds normaux.

#8

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

Si un test plante c'est qu'il y a un bug.

#9

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

  • Assigné à changé de Paul Marillonnet à Benjamin Dauvergne
#10

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

#11

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

  • Statut changé de Solution proposée à Résolu (à déployer)
commit 3d3df4e85830e2f3f1ef5624c1f7477d1fff81cb
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Tue Nov 12 11:05:14 2019 +0100

    models: lock user model when changing multiple attribute values (#37390)
#12

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

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

Formats disponibles : Atom PDF