python — Запуск тестов tox+nose на Python 3.2 testenv

Я пытался реализовать систему тестирования с одним исходным кодом, которая позволяет автоматически тестировать несколько версий Python с помощью tox + Nosetests.

Проблема в том, что я не могу заставить его работать всякий раз, когда тестирую 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: глобальное имя 'basestring' не определено. Кажется, я упустил какую-то настройку, которая должна заставить работать 2to3, но я не знаю, что это такое.

Кроме того, я попытался заменить Nousetests []на python setup.py testв настройке testenv:py32. К сожалению, не только продолжает появляться одна и та же ошибка, но и появляется другая ошибка: Ошибка в atexit._run_exitfuncs: TypeError: объект 'NoneType' не вызывается.

Любые указатели?

РЕДАКТИРОВАТЬ: добавлен код в настройку .py, если это полезно:

# handle python 3
if sys.version_info >= (3,):
    use_2to3 = True
else:
    use_2to3 = False

и где-то в setup(): use_2to3 = use_2to3

7
задан bow 13 March 2012 в 13:02
поделиться