Development #66996
Améliorer la rapidité d'exécution des tests en changeant PASSWORD_HASHERS
0%
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
Révisions associées
Historique
Mis à jour par A. Berriot il y a presque 2 ans
- Fichier 0001-ci-reduce-test-execution-time-by-changing-password-h.patch 0001-ci-reduce-test-execution-time-by-changing-password-h.patch ajouté
- Tracker changé de Support à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
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.
Mis à jour par A. Berriot il y a presque 2 ans
- Assigné à changé de Benjamin Dauvergne à A. Berriot
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
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)
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é
Mis à jour par Transition automatique il y a presque 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
ci: reduce test execution time by changing password hasher (#66996)