Development #40575
Tourner les tests localement
0%
Description
2 tests sur les vues ne passent pas en local (sur mon installation publik-devinst), parce que la chaîne testée est rendue en français.
$ tox -- tests/test_views.py::test_import_visualization --pdb
(ça se corrige facilement en ajoutant une traduction des chaînes testées)
Pour faire comme dans les autres briques je pensais forcer les tests en anglais, mais on voit juste au dessus que c'est l'inverse pour la base...
diff --git a/tests/settings.py b/tests/settings.py BIJOE_CACHE = False BIJOE_INIT_SQL = [ 'SET lc_time = \'fr_FR.UTF-8\'', ] PAGE_LENGTH = 0 +LANGUAGE_CODE = 'en'
Fichiers
Révisions associées
Historique
Mis à jour par Valentin Deniaud il y a environ 4 ans
Ça a été ajouté récemment dans #38462. Le problème ici c'est que les tests passaient en local, jusqu'à ce que tag puis traductions et badaboum. Pour l'anecdote ça montre que jenkins a postgres en français et sa locale en anglais, hum hum.
Bref il faut faire en sorte que tout soit en anglais une bonne fois pour toutes IMO.
Mis à jour par Nicolas Roche il y a environ 4 ans
(ça se corrige facilement en ajoutant une traduction des chaînes testées)
j'ai parlé trop vite :
(Pdb) type(_('No visualization created.')) <type 'unicode'> (Pdb) _('No visualization created.') u'Aucune visualisation cr\xe9\xe9e.'
Mis à jour par Nicolas Roche il y a environ 4 ans
- Fichier 0001-tests-set-english-language-on-views-tests-40575.patch 0001-tests-set-english-language-on-views-tests-40575.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Patch minimaliste, si dans un premier temps, on continue avec la base en français,
mais que l'on ne souhaites pas pour autant traduire les résultats des chaînes testées (ce que je n'ai pas réussit à faire).
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-tests-run-in-English-instead-of-French-40575.patch 0001-tests-run-in-English-instead-of-French-40575.patch ajouté
Ma copie, à grands coups de sed on s'en sort pour tout mettre en anglais.
Mis à jour par Nicolas Roche il y a environ 4 ans
Juste en passant, après avoir passé la journée à faire tourner les tests avec le patch de Valentin, je confirme qu'il fait bien l'affaire.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
J'ai rien compris ; tout l'intérêt de la fixture c'est d'avoir justement les mois en français, pourquoi on l'a perdu ici malgré le BIJOE_INIT_SQL ? Ça ne vient pas de Django c'est généré directement par une expression SQL il me semble.
PS: ma question en plus direct, pourquoi la piste évoquée dans la description du ticket (ajouter LANGUAGE_CODE dans tests/settings.py ne marche pas ?)
Mis à jour par Nicolas Roche il y a environ 4 ans
pourquoi ajouter LANGUAGE_CODE dans tests/settings.py ne marche pas ?
En fait c'était rouge partout ailleurs ensuite, donc j'ai pas cherché à comprendre :
tests/test_bijoe_schemas.py . tests/test_hobo_deploy.py . tests/test_import_export.py . tests/test_relative_time.py . tests/test_schema1.py ..FFFF....FF.. tests/test_schema2.py .........F.F.......F....F......F.F.................F.............................................F........F.........................F........F. ..............F......F.......F...FF...F..F.......F....F...................F...........................F.............................FFFF.....F.......F............... ............F...F.F.....F............................F.....F.F.........F....................F...F......................... tests/test_schemas.py . tests/test_views.py .........
Voici la première erreur que j'ai :
> assert get_table(response) == [['Boolean', 'Oui', 'Non'], ['number of rows', '8', '9']] E AssertionError: assert [['Boolean', ...s', '8', '9']] == [['Boolean', '...s', '8', '9']] E At index 0 diff: ['Boolean', 'Yes', 'No'] != ['Boolean', 'Oui', 'Non']
Mis à jour par Frédéric Péters il y a environ 4 ans
Je n'ai pas regardé attentivement ce ticket mais en différence d'environnements, je me dis qu'il y a un truc à avoir les fichiers .po compilés, qui fait que la trad va être trouvée/utilisée, ce qui peut faire qu'en local Nicolas récupère une version traduite des chaines, que ça clashe alors avec ce qui est attendu dans les tests.
Parce que différentes combinaisons possibles, postgresql en anglais ou en français, ça jouera sur les noms des mois; trads compilées ou pas, ça jouera sur les chaines de bijoe.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de Solution proposée à En cours
Je mets à en cours parce que ce n'est pas bien clair pour moi qu'il y a un souci.
tests: set english language on views tests (#40575)