Projet

Général

Profil

Bug #42500

Quelque-chose de cassé dans les tests quand ils sont lancés sans passer par tox

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
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

Révision b6d7b10d (diff)
Ajouté par Nicolas Roche il y a presque 4 ans

tests: use postgres instead of sqlite (#42500)

Historique

#1

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.

#2

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

Pas sûr d'avoir bien fait : j'ai reporté la valeur trouvée dans le tox.ini.

'ENGINE': 'django.db.backends.postgresql_psycopg2',

#3

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

Tu peux virer toutes les histoires de DB_ENGINE ça ne servira plus.

#4

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

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

#5

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.

#6

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

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

Formats disponibles : Atom PDF