[tox] envlist = py{27,35}-django{18,19,110,111} # This is needed to prevent the lms, cms, and openedx packages inside the "Open # edX" package (defined in setup.py) from getting installed into site-packages # where they can get imported, which is bad because those won't even contain # most of the source code since we don't explicitly add anything to the source # distribution. skipsdist=True # The default toxworkdir is in the source tree (as ".tox/"), but `django-admin # compilemessages` unconditionally walks the entire directory tree under the # source root and cannot handle encountering the toxworkdir. So, we un-break # compilemessages by moving the toxworkdir to the home directory. toxworkdir={homedir}/edxapp_toxenv [testenv] # This ensures "-e ." is installed, so that a link back to the top-level # edx-platform source directory is installed in site-packages, making # edx-platform source code importable from python subprocesses. Child # processes running python code do not import from the current working # directory without hacking sys.path, but they will inherit the tox virtualenv # and look in site-packages. usedevelop=True setenv = PYTHONHASHSEED=0 TOXENV={envname} passenv = BOK_CHOY_CMS_PORT BOK_CHOY_HOSTNAME BOK_CHOY_LMS_PORT DISPLAY EDX_PLATFORM_SETTINGS EDXAPP_TEST_MONGO_HOST NO_PREREQ_INSTALL NO_PYTHON_UNINSTALL NODE_PATH NODE_VIRTUAL_ENV NPM_CONFIG_PREFIX SCRAPY_SETTINGS_MODULE SELENIUM_BROWSER SELENIUM_HOST SELENIUM_PORT SHARD SKIP_NPM_INSTALL TEST_SUITE deps = django18: Django>=1.8,<1.9 django19: Django>=1.9,<1.10 django110: Django>=1.10,<1.11 django111: Django>=1.11,<2 -r requirements/edx/testing.txt whitelist_externals = /bin/bash /usr/bin/curl /bin/tar commands = # Upgrade sqlite to fix crashes during testing. bash scripts/upgrade_pysqlite.sh # Now perform testing. {posargs}