Delete python bytecode before every test run

Because python creates pyc|pyo files and __pycache__
directories during tox runs, certain changes in the tree,
like deletes of files, or switching branches, can create
spurious errors.

The target bytecodes for deletion are in normal directories,
but not in dot started directory.

Change-Id: Iee36c67d2e5e4d9e78b1b1b493030761e0f46e3c
Closes-Bug: #1368661
This commit is contained in:
shu-mutou 2015-12-02 12:19:19 +09:00
parent 8f8063222b
commit 83d61566ce

View File

@ -13,7 +13,14 @@ usedevelop = True
install_command = pip install -U {opts} {packages} install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt
commands = python setup.py testr --testr-args='{posargs}' # Delete bytecodes from normal directories before running tests.
# Note that bytecodes in dot directories will not be deleted
# to keep bytecodes of python modules installed into virtualenvs.
commands = sh -c "find . -type d -name '.?*' -prune -o \
\( -type d -name '__pycache__' -o -type f -name '*.py[co]' \) \
-print0 | xargs -0 rm -rf"
python setup.py testr --testr-args='{posargs}'
whitelist_externals = sh
[testenv:pep8] [testenv:pep8]
commands = flake8 commands = flake8