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
(cherry picked from commit 83d61566ce)
This commit is contained in:
shu-mutou 2015-12-02 12:19:19 +09:00 committed by Ihar Hrachyshka
parent 831604f2ed
commit 2e0d641a55
1 changed files with 8 additions and 1 deletions

View File

@ -13,7 +13,14 @@ usedevelop = True
install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/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]
commands = flake8