Projet

Général

Profil

Development #40575

Tourner les tests localement

Ajouté par Nicolas Roche il y a environ 4 ans. Mis à jour il y a presque 4 ans.

Statut:
En cours
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
09 mars 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Révision dad9c757 (diff)
Ajouté par Nicolas Roche il y a environ 4 ans

tests: set english language on views tests (#40575)

Historique

#1

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.

#2

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.'

#3

Mis à jour par Nicolas Roche il y a environ 4 ans

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).

#4

Mis à jour par Valentin Deniaud il y a environ 4 ans

Ma copie, à grands coups de sed on s'en sort pour tout mettre en anglais.

#5

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.

#6

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 ?)

#7

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']

#8

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.

#9

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.

Formats disponibles : Atom PDF