Projet

Général

Profil

Development #66996

Améliorer la rapidité d'exécution des tests en changeant PASSWORD_HASHERS

Ajouté par A. Berriot il y a presque 2 ans. Mis à jour il y a presque 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
05 juillet 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

C'est une optimisation assez connue (cf https://code.djangoproject.com/ticket/20917) : durant les tests, on est amenés à créer de nombreux utilisateurs, donc de nombreux mots de passe.

Avec le hashers par défaut PASSWORD_HASHERS = ['django.contrib.auth.hashers.PBKDF2PasswordHasher', 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', 'django.contrib.auth.hashers.Argon2PasswordHasher', 'django.contrib.auth.hashers.BCryptSHA256PasswordHasher'] activés sur Chrono,

tox -e py3-django22 -- --reuse-db 

Tourne en 188 secondes sur mon laptop.

Avec PASSWORD_HASHERS = ["django.contrib.auth.hashers.MD5PasswordHasher"] , dans tests/settings.py, la même commande tourne en 81 secondes, ce qui est donc plus de deux fois plus rapide.

Le MD5PasswordHasher est évidemment beaucoup moins sécurisé, mais en test, il me semble que ce n'est pas un problème.


Fichiers


Demandes liées

Copié vers Combo - Development #67020: Améliorer la rapidité d'exécution des tests en changeant PASSWORD_HASHERSFermé05 juillet 2022

Actions

Révisions associées

Révision a5ca77fa (diff)
Ajouté par A. Berriot il y a presque 2 ans

ci: reduce test execution time by changing password hasher (#66996)

Historique

#1

Mis à jour par A. Berriot il y a presque 2 ans

  • Description mis à jour (diff)
#2

Mis à jour par A. Berriot il y a presque 2 ans

  • Assigné à mis à A. Berriot
#3

Mis à jour par A. Berriot il y a presque 2 ans

#4

Mis à jour par A. Berriot il y a presque 2 ans

  • Assigné à changé de A. Berriot à Benjamin Dauvergne

Sur jenkins, avec ce patch, la partie test prends 285s, contre 476s sur la branch main. Le speed up est donc de l'ordre de 40%, moins que sur ma machine mais tout de même pas négligeable.

#5

Mis à jour par A. Berriot il y a presque 2 ans

  • Assigné à changé de Benjamin Dauvergne à A. Berriot
#6

Mis à jour par Valentin Deniaud il y a presque 2 ans

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

Super cool, je n'y vois aucun inconvénient

#7

Mis à jour par A. Berriot il y a presque 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit a5ca77fa1eda4b4056c8969d5752d38be0961cd3
Author: Agate <aberriot@entrouvert.com>
Date:   Tue Jul 5 12:08:56 2022 +0200

    ci: reduce test execution time by changing password hasher (#66996)
#8

Mis à jour par A. Berriot il y a presque 2 ans

  • Copié vers Development #67020: Améliorer la rapidité d'exécution des tests en changeant PASSWORD_HASHERS ajouté
#9

Mis à jour par Transition automatique il y a presque 2 ans

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

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF