Bug #42500
Quelque-chose de cassé dans les tests quand ils sont lancés sans passer par tox
Début:
05 mai 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Rien de bloquant, mais parce que c'était pratique (plus rapide, rassurant) de pouvoir directement lancer les tests via py.test
.
$ tox -re py3-django111-pg-coverage -- tests/test_misc.py (ok) # using venv manualy $ . /tmp/tox-nroche/passerelle/py3-django111-pg-coverage/bin/activate $ DJANGO_SETTINGS_MODULE=passerelle.settings PASSERELLE_SETTINGS_FILE=tests/settings.py py.test tests/test_misc.py self = <django.db.backends.sqlite3.base.SQLiteCursorWrapper object at 0x7f065cbd1280>, query = 'SELECT data_type FROM information_schema.columns WHERE table_name = ? AND column_name = ?;' params = ('atos_genesys_link', 'extra') def execute(self, query, params=None): if params is None: return Database.Cursor.execute(self, query) query = self.convert_query(query) > return Database.Cursor.execute(self, query, params) E django.db.utils.OperationalError: no such table: information_schema.columns
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 4 ans
sqlite n'est plus géré (on utilise django.contrib.postgres pour les jsonfield), il faudrait que les tests soient adaptés.
Mis à jour par Nicolas Roche il y a presque 4 ans
- Fichier 0001-tests-use-postgres-instead-of-sqlite-42500.patch 0001-tests-use-postgres-instead-of-sqlite-42500.patch ajouté
- Tracker changé de Support à Bug
- Statut changé de Nouveau à Solution proposée
- Assigné à mis à Nicolas Roche
- Patch proposed changé de Non à Oui
Pas sûr d'avoir bien fait : j'ai reporté la valeur trouvée dans le tox.ini.
'ENGINE': 'django.db.backends.postgresql_psycopg2',
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Tu peux virer toutes les histoires de DB_ENGINE ça ne servira plus.
Mis à jour par Nicolas Roche il y a presque 4 ans
- Fichier 0001-tests-use-postgres-instead-of-sqlite-42500.patch 0001-tests-use-postgres-instead-of-sqlite-42500.patch ajouté
Ok, ça donne ça :
$ git grep ENGINE config_example.py: 'ENGINE': 'django.db.backends.postgresql_psycopg2', debian/settings.py:# Warning: don't change ENGINE, it must be 'tenant_schemas.postgresql_backend' passerelle/settings.py: 'ENGINE': 'django.db.backends.postgresql_psycopg2', tests/settings.py: 'ENGINE': 'django.db.backends.postgresql_psycopg2',
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de Solution proposée à Solution validée
Tu peux pousser maintenant, ça n'a pas d'impact en prod.
Mis à jour par Nicolas Roche il y a presque 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit b6d7b10da08d229d38da1f8dff551a94ecfd2f48 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Tue May 5 15:29:43 2020 +0200 tests: use postgres instead of sqlite (#42500)
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
tests: use postgres instead of sqlite (#42500)