Я пытался внедрить систему тестирования из одного источника, которая позволяла бы автоматизировать тестирование на нескольких версиях Python с использованием tox + тесты носа.
Проблема в том, что я не могу заставить его работать, когда я тестирую на Python 3.2. Все работает нормально, если исключить Python 3.2.
Вот мой tox.ini
:
[tox]
envlist = py25,py26,py27,py32,pypy,jython
[testenv]
commands =
nosetests []
deps =
nose
mock
[testenv:py32]
commands =
nosetests []
и мой ~/.noserc
:
[nosetests]
verbosity=2
with-doctest=1
Я установил флаг use_2to3
на True
в моем файле setup.py, но эта ошибка продолжает появляться: NameError: global name 'basestring' is not defined
. Кажется, мне не хватает некоторых настроек, которые должны заставить 2to3
работать, но я не знаю, что это такое.
Кроме того, я попытался заменить nosetests []
на python setup.py test
в настройке testenv:py32
. К сожалению, появляется не только одна и та же ошибка, но и другая ошибка: Error in atexit._run_exitfuncs: TypeError: 'NoneType' object is not callable
.
Есть указатели?
РЕДАКТИРОВАТЬ: добавлен код в setup.py
, в случае, если это полезно:
# handle python 3
if sys.version_info >= (3,):
use_2to3 = True
else:
use_2to3 = False
и где-то в setup()
: use_2to3 = use_2to3