Project

General

Profile

Development #38697

les tests en python3 ne marche plus en local

Added by Nicolas Roche 3 months ago. Updated about 1 month ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
23 Dec 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

Description

Soit python-pytest n'est pas installé sur le système

$ tox -e py3 -rvv -- tests/test_widgets.py --no-migration
ERROR: InvocationError for command could not find executable 'py.test'

Soit il est utilisé et comme c'est le py.test de python2, les includes ne fonctionnent pas.

$ tox -e py3 -rvv -- tests/test_widgets.py --no-migration
WARNING: test command found but not installed in testenv
  cmd: /usr/bin/py.test
  env: /tmp/tox-nroche/wcs/py3
Maybe you forgot to specify a dependency? See also the whitelist_externals envconfig setting.

DEPRECATION WARNING: this will be an error in tox 4 and above!
  /home/nroche/src/wcs$ /usr/bin/py.test -v --junitxml=junit-py3.xml tests/test_widgets.py --no-migration 
ImportError while loading conftest '/home/nroche/src/wcs/tests/conftest.py'.
tests/conftest.py:2: in <module>
    from django.utils.six.moves import configparser as ConfigParser
E   ImportError: No module named django.utils.six.moves
ERROR: InvocationError for command '/usr/bin/py.test -v --junitxml=junit-py3.xml tests/test_widgets.py --no-migration' (exited with code 4)

0001-tox.ini-make-tox-use-is-own-py.test-38697.patch View (864 Bytes) Nicolas Roche, 23 Dec 2019 05:16 PM

0003-tox.ini-link-lasso-inside-tox-venv-38697.patch View (1.43 KB) Benjamin Dauvergne, 24 Dec 2019 08:52 AM

0002-tox.ini-install-quixote-for-py2-38697.patch View (593 Bytes) Benjamin Dauvergne, 24 Dec 2019 08:52 AM

0001-tox.ini-make-tox-use-is-own-py.test-38697.patch View (868 Bytes) Benjamin Dauvergne, 24 Dec 2019 08:52 AM

History

#1 Updated by Frédéric Péters 3 months ago

Je n'ai pas de problème à exécuter les tests en local. (je ne passerai pas de temps à débugguer ces soucis).

#2 Updated by Nicolas Roche 3 months ago

ok, (et merci pour #38685 je n'aurais pas réussi à faire passer les tests).
Donc simple proposition car je ne mesure pas du tout les tenants et aboutissants.

#3 Updated by Frédéric Péters 3 months ago

Donc simple proposition car je ne mesure pas du tout les tenants et aboutissants.

(pousser la branche pour jenkins, voir échouer)

#4 Updated by Benjamin Dauvergne 3 months ago

  • Assignee set to Benjamin Dauvergne

#6 Updated by Nicolas Roche 3 months ago

Chez moi ça passe à présent.
Jenkins à planté sur une erreur que j'ai déjà eu avec #38685 (Où j'ai relancé le build et c'est passé.).
https://jenkins.entrouvert.org/job/wcs-wip/job/wip%252F38697-les-tests-en-python-ne-marche-pl/3/testReport/junit/py3.tests/test_form_pages/test_form_tracking_code_rate_limit_pickle_/

#7 Updated by Benjamin Dauvergne 3 months ago

Le test en question vérifie qu'au delà de 2 essais par période de 2 secondes le chargement d'un code de suivi bloque, mais comme les périodes sont fixes et non glissantes possible que le premier et le deuxième essaie se fassent dans des périodes différentes, ce serait plus sûr d'ajouter une temporisation si on est à moins de 300ms du point de bascule (if (2 - (time.time() % 2)) < 0.300: time.sleep(0.3)).

#8 Updated by Frédéric Péters 3 months ago

#38180.

#9 Updated by Benjamin Dauvergne about 1 month ago

  • Status changed from Solution proposée to Fermé

Ça marche maintenant.

Also available in: Atom PDF