[tox] envlist = py{311} quality # This is needed to prevent the lms, cms, and openedx packages inside the "Open # edX" package (defined in pyproject.toml) 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 = FRONTEND_TEST_SERVER_CMS_PORT FRONTEND_TEST_SERVER_HOSTNAME FRONTEND_TEST_SERVER_LMS_PORT DISABLE_COURSEENROLLMENT_HISTORY DISPLAY DJANGO_SETTINGS_MODULE EDXAPP_TEST_MONGO_HOST EDX_PLATFORM_SETTINGS JOB_NAME LMS_CFG REVISION_CFG MOZ_HEADLESS NO_PREREQ_INSTALL NO_PYTHON_UNINSTALL NPM_CONFIG_PREFIX PYTHON_VERSION SCRAPY_SETTINGS_MODULE SELENIUM_BROWSER SELENIUM_HOST SELENIUM_PORT SKIP_NPM_INSTALL SSH_AUTH_SOCK STUDIO_CFG SUBSET_JOB TARGET_BRANCH TEST_SUITE XDIST_GIT_BRANCH XDIST_GIT_REFSPEC XDIST_INSTANCE_TYPE XDIST_NUM_WORKERS XDIST_REMOTE_NUM_PROCESSES XDIST_WORKER_AMI XDIST_WORKER_IAM_PROFILE_ARN XDIST_WORKER_KEY_NAME XDIST_WORKER_SECURITY_GROUP XDIST_WORKER_SUBNET commands_pre = make test-requirements allowlist_externals = /bin/bash /usr/bin/curl /bin/tar commands = {posargs}