From 83d61566cee8b8e786b46103cf3e72fbe8077c1a Mon Sep 17 00:00:00 2001 From: shu-mutou Date: Wed, 2 Dec 2015 12:19:19 +0900 Subject: [PATCH] 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 --- tox.ini | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index b6c0bd8cb..ded914cc6 100644 --- a/tox.ini +++ b/tox.ini @@ -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