Bug #18050
Redonner une explication claire sur comment lancer les tests
0%
Description
Ni le tox.ini ni la ligne du README ne me permettent de lancer les tests depuis la migration Django.
Ma préférence irait vers une refonte claire du setup.py et tox.ini pour que les dépendances de w.c.s. et des tests soient clairement définies.
Fichiers
Demandes liées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
Et l'erreur:
msg = "Invalid HTTP_HOST header: %r." % host if domain: msg += " You may need to add %r to ALLOWED_HOSTS." % domain else: msg += " The domain name provided is not valid according to RFC 1034/1035." > raise DisallowedHost(msg) E DisallowedHost: Invalid HTTP_HOST header: 'example.net'. You may need to add u'example.net' to ALLOWED_HOSTS. ../../.virtualenvs/wcs/local/lib/python2.7/site-packages/django/http/request.py:102: DisallowedHost
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
Via tox.ini c'est l'absence de Django qui bloque immédiatement.
Mis à jour par Frédéric Péters il y a plus de 6 ans
Pas une correction au bug mais côté jenkins c'est ça qui est fait :
pip install --upgrade 'pip<8' pip install --upgrade setuptools pip install --upgrade pytest WebTest mock pytest-cov pyquery pytest-catchlog pip install --upgrade pylint pip install --upgrade 'Django==1.8' 'gadjo' LC_ALL=C LC_TIME=C LANG=C PYTHONPATH=$(pwd):$PYTHONPATH py.test --junitxml=test_results.xml --cov-report xml --cov=wcs/ --cov-config .coveragerc -v tests/
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
Dans tout ça il me manque pytest-django pour que ça marche chez moi, ça me parait logique.
Mis à jour par Serghei Mihai il y a plus de 6 ans
Juste en donnant accès à la base postgres à mon utilisateur.
Mis à jour par Serghei Mihai il y a plus de 6 ans
Avec la ligne pointée par Fréd (la façon dont les execute jenkins):
LC_ALL=C LC_TIME=C LANG=C PYTHONPATH=$(pwd):$PYTHONPATH py.test --junitxml=test_results.xml --cov-report xml --cov=wcs/ --cov-config .coveragerc -v tests/
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
Avec ou sans virtualenv ? Parce que si vous avec tous les paquets installés sur votre debian c'est de la triche les enfants :) Le but c'est de donner une démarche "from scratch".
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
Je n'arrive toujours pas à lancer les tests...
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
J'ai des tests tout con qui ne passent même pas, il y a forcément un truc qui m'échappe (je fais un virtualenv tout bête sans system-site-package j'installe avec les lignes de jenkins, plus psycopg2, marche pas :( ):
=================================================================================== FAILURES =================================================================================== ______________________________________________________________________________ test_forms[pickle] ______________________________________________________________________________ pub = <wcs.compat.CompatWcsPublisher object at 0x7f80057b5490> def test_forms(pub): > app = login(get_app(pub)) tests/test_admin_pages.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ app = <webtest.app.TestApp object at 0x7f8005757d50>, username = 'admin', password = 'admin' def login(app, username='admin', password='admin'): login_page = app.get('/login/') login_form = login_page.forms['login-form'] login_form['username'] = username login_form['password'] = password resp = login_form.submit() > assert resp.status_int == 302 E AssertionError tests/utilities.py:164: AssertionError _______________________________________________________________________________ test_forms[sql] ________________________________________________________________________________ pub = <wcs.compat.CompatWcsPublisher object at 0x7f800467a790> def test_forms(pub): > app = login(get_app(pub)) tests/test_admin_pages.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ app = <webtest.app.TestApp object at 0x7f800467a4d0>, username = 'admin', password = 'admin' def login(app, username='admin', password='admin'): login_page = app.get('/login/') login_form = login_page.forms['login-form'] login_form['username'] = username login_form['password'] = password resp = login_form.submit() > assert resp.status_int == 302 E AssertionError tests/utilities.py:164: AssertionError
Mis à jour par Frédéric Péters il y a plus de 6 ans
Je ne sais pas; tape la sortie de "pip freeze" et la commande que tu tapes pour lancer les tests ? (vagues indications mais dans la mesure où ça tourne dans jenkins tu dois pouvoir étudier ce qui foire).
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
- Fichier 0001-tox.ini-update.patch 0001-tox.ini-update.patch ajouté
- Patch proposed changé de Non à Oui
Je m'en suis sorti via le tox.ini mais en local je n'y arrive pas.
Mis à jour par Christophe Siraut il y a presque 6 ans
- Fichier tox-out.log tox-out.log ajouté
J'ai aussi rencontré aussi des souci pour exécuter les tests de w.c.s.
Une fois installées les dépendances (qrcode mechanize docutils graphviz) (non listées dans https://jenkins.entrouvert.org/job/wcs/configure) ça fonctionne avec pytest.
Commencé la branche wip/18050 à relire, pour faire marcher les tests avec tox, il en restequi échouent, attachés.
Mis à jour par Frédéric Péters il y a presque 6 ans
Pour les tests qui échouent à cause de tox faisant varier la graine d'aléatoire, tu peux aller sur #10477.
Mis à jour par Christophe Siraut il y a presque 6 ans
- Lié à Bug #10477: Certains tests sont sensibles à la graine aléatoire de python ajouté
Mis à jour par Christophe Siraut il y a presque 6 ans
- Lié à Bug #24499: tests: compatibilité de mechanize ajouté
Mis à jour par Christophe Siraut il y a presque 6 ans
- Lié à Bug #24497: forms: use python-magic when available ajouté
Mis à jour par Christophe Siraut il y a presque 6 ans
- Fichier 0001-tox-add-dependencies.patch 0001-tox-add-dependencies.patch ajouté
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Nouveau à Fermé
A priori remplacé par #36419.