Files
edx-platform/requirements/edx/testing.in
Jeremy Bowman 45644a3511 Upgrade edx-lint BOM-1298 (#23227)
The last time we tried this upgrade we encountered timeouts on the quality job, which it now appears were due to the worker running pylint common running out of memory and killing the Jenkins process. Switching to a different worker type with double the RAM (8 GB vs. 4 GB) seems to have fixed this; about 5.5 GB was used. Upstream is aware of the high memory usage on large projects, it's apparently due primarily to a cache of parsed modules: https://github.com/PyCQA/pylint/issues/1495 .

Even after disabling some of the new checks that have been added, the new version of pylint found about twice as much to complain about. Just bumping the threshold for now to unblock the Django upgrade, we can try automated utilities like pyupgrade to fix some of these later.
2020-03-02 08:27:19 -05:00

51 lines
3.4 KiB
Plaintext

# This requirements file is only for python packages that need to be installed
# for the edx-platform in testing environments. This includes:
# * Jenkins
# * devstack
# Please do not use this file for packages that are needed in production
#
# DON'T JUST ADD NEW DEPENDENCIES!!!
#
# If you open a pull request that adds a new dependency, you should:
# * verify that the dependency has a license compatible with AGPLv3
# * confirm that it has no system requirements beyond what we already install
# * run "make upgrade" to update the detailed requirements files
# * add an appropriate pattern to scripts/dependencies/testing.py
-c ../constraints.txt
-r base.txt # Core edx-platform production dependencies
-r coverage.txt # Utilities for calculating test coverage
beautifulsoup4 # Library for extracting data from HTML and XML files
bok-choy # Framework for browser automation tests, based on selenium
code-annotations # Perform code annotation checking, such as for PII annotations
cssselect # Used to extract HTML fragments via CSS selectors in 2 test cases and pyquery
ddt # Run a test case multiple times with different input; used in many, many of our tests
edx-i18n-tools>=0.4.6 # Commands for developers and translators to extract, compile and validate translations
edx-lint # pylint extensions for Open edX repositories
factory-boy # Library for creating test fixtures, used in many tests
# Pinning the freezegun version because 0.3.13 is causing failures which have also been reported on the git repo by public.
freezegun # Allows tests to mock the output of assorted datetime module functions
httpretty # Library for mocking HTTP requests, used in many tests
isort # For checking and fixing the order of imports
pycodestyle # Checker for compliance with the Python style guide (PEP 8)
polib # Library for manipulating gettext translation files, used to test paver i18n commands
pyquery # jQuery-like API for retrieving fragments of HTML and XML files in tests
pytest # Testing framework
pytest-attrib # Select tests based on attributes
pytest-cov # pytest plugin for measuring code coverage
git+https://github.com/nedbat/coverage_pytest_plugin.git@29de030251471e200ff255eb9e549218cd60e872#egg=coverage_pytest_plugin==0.0
pytest-django # Django support for pytest
pytest-json-report # Output json formatted warnings after running pytest
pytest-randomly # pytest plugin to randomly order tests
pytest-xdist # Parallel execution of tests on multiple CPU cores or hosts
radon # Calculates cyclomatic complexity of Python code (code quality utility)
selenium # Browser automation library, used for acceptance tests
singledispatch # Backport of functools.singledispatch from Python 3.4+, used in tests of XBlock rendering
testfixtures # Provides a LogCapture utility used by several tests
tox # virtualenv management for tests
tox-battery # Makes tox aware of requirements file changes
transifex-client # Command-line interface for the Transifex localization service
unidiff # Required by coverage_pytest_plugin