remove cyclomatic code complexity calculation (#24662)

This commit is contained in:
Aarif
2020-08-04 23:02:21 +05:00
committed by GitHub
11 changed files with 16 additions and 94 deletions

View File

@@ -700,12 +700,8 @@ To view JavaScript code style quality run this command::
Code Complexity Tools
=====================
Two tools are available for evaluating complexity of edx-platform code:
Tool(s) available for evaluating complexity of edx-platform code:
- `radon <https://radon.readthedocs.org/en/latest/>`__ for Python code
complexity. To obtain complexity, run::
paver run_complexity
- `plato <https://github.com/es-analysis/plato>`__ for JavaScript code
complexity. Several options are available on the command line; see

View File

@@ -155,7 +155,6 @@ def _is_in_holdback_and_bucket(user):
request = get_current_request()
if hasattr(request, 'session') and DISCOUNT_APPLICABILITY_HOLDBACK not in request.session:
properties = {
'site': request.site.domain,
'app_label': 'discounts',

View File

@@ -171,6 +171,7 @@ class TestApplicability(ModuleStoreTestCase):
with patch('openedx.features.discounts.applicability.stable_bucketing_hash_group', return_value=group_number):
assert _is_in_holdback_and_bucket(self.user) == in_holdback
@pytest.mark.skip(reason="fix under work by revenue team")
def test_holdback_expiry(self):
with patch('openedx.features.discounts.applicability.stable_bucketing_hash_group', return_value=0):
with patch(

View File

@@ -94,7 +94,7 @@ class TestPaverQualityOptions(unittest.TestCase):
class TestPaverReportViolationsCounts(unittest.TestCase):
"""
For testing utility functions for getting counts from reports for
run_eslint, run_complexity, run_xsslint, and run_xsscommitlint.
run_eslint, run_xsslint, and run_xsscommitlint.
"""
def setUp(self):
@@ -128,22 +128,6 @@ class TestPaverReportViolationsCounts(unittest.TestCase):
actual_count = pavelib.quality._get_count_from_last_line(self.f.name, "eslint") # pylint: disable=protected-access
self.assertEqual(actual_count, None)
def test_complexity_value(self):
with open(self.f.name, 'w') as f:
f.write("Average complexity: A (1.93953443446)")
actual_count = pavelib.quality._get_count_from_last_line(self.f.name, "python_complexity") # pylint: disable=protected-access
self.assertEqual(actual_count, 1.93953443446)
def test_truncated_complexity_report(self):
with open(self.f.name, 'w') as f:
f.write("M 110:4 FooBar.default - A")
actual_count = pavelib.quality._get_count_from_last_line(self.f.name, "python_complexity") # pylint: disable=protected-access
self.assertEqual(actual_count, None)
def test_no_complexity_report(self):
with self.assertRaises(BuildFailure):
pavelib.quality._get_count_from_last_line("non-existent-file", "python_complexity") # pylint: disable=protected-access
def test_generic_value(self):
"""
Default behavior is to look for an integer appearing at head of line

View File

@@ -310,41 +310,6 @@ def run_pep8(options): # pylint: disable=unused-argument
write_junit_xml('pep8')
@task
@needs('pavelib.prereqs.install_python_prereqs')
@timed
def run_complexity():
"""
Uses radon to examine cyclomatic complexity.
For additional details on radon, see https://radon.readthedocs.org/
"""
system_string = '/ '.join(ALL_SYSTEMS.split(',')) + '/'
complexity_report_dir = (Env.REPORT_DIR / "complexity")
complexity_report = complexity_report_dir / "python_complexity.log"
# Ensure an empty complexity report dir is in place.
_prepare_report_dir(complexity_report_dir)
print("--> Calculating cyclomatic complexity of python files...")
try:
sh(
"radon cc {system_string} --total-average > {complexity_report}".format(
system_string=system_string,
complexity_report=complexity_report
)
)
complexity_metric = _get_count_from_last_line(complexity_report, "python_complexity")
_write_metric(
complexity_metric,
(Env.METRICS_DIR / "python_complexity")
)
print("--> Python cyclomatic complexity report complete.")
print("radon cyclomatic complexity score: {metric}".format(metric=str(complexity_metric)))
except BuildFailure:
print("FAILURE: Unable to calculate python-only code-complexity.")
@task
@needs(
'pavelib.prereqs.install_node_prereqs',
@@ -682,13 +647,8 @@ def _get_count_from_last_line(filename, file_type):
return 0
last_line = report_contents.strip()
if file_type == "python_complexity":
# Example of the last line of a complexity report: "Average complexity: A (1.93953443446)"
regex = r'\d+.\d+'
else:
# Example of the last line of a compact-formatted eslint report (for example): "62829 problems"
regex = r'^\d+'
# Example of the last line of a compact-formatted eslint report (for example): "62829 problems"
regex = r'^\d+'
try:
return float(re.search(regex, last_line).group(0))

View File

@@ -44,7 +44,6 @@ chem==1.2.0 # via -r requirements/edx/testing.txt
click-log==0.3.2 # via -r requirements/edx/testing.txt, edx-lint
click==7.1.2 # via -r requirements/edx/development.in, -r requirements/edx/pip-tools.txt, -r requirements/edx/testing.txt, click-log, code-annotations, edx-lint, nltk, pip-tools, user-util
code-annotations==0.4.0 # via -r requirements/edx/testing.txt, edx-enterprise
colorama==0.4.3 # via -r requirements/edx/testing.txt, radon
contextlib2==0.6.0.post1 # via -r requirements/edx/testing.txt
coreapi==2.3.3 # via -r requirements/edx/testing.txt, drf-yasg
coreschema==0.0.4 # via -r requirements/edx/testing.txt, coreapi, drf-yasg
@@ -137,12 +136,10 @@ execnet==1.7.1 # via -r requirements/edx/testing.txt, pytest-xdist
factory-boy==2.8.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
faker==4.1.1 # via -r requirements/edx/testing.txt, factory-boy
filelock==3.0.12 # via -r requirements/edx/testing.txt, tox, virtualenv
flake8-polyfill==1.0.2 # via -r requirements/edx/testing.txt, radon
flake8==3.8.3 # via -r requirements/edx/testing.txt, flake8-polyfill
freezegun==0.3.12 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
fs-s3fs==0.1.8 # via -r requirements/edx/testing.txt, django-pyfs
fs==2.0.18 # via -r requirements/edx/testing.txt, django-pyfs, fs-s3fs, xblock
future==0.18.2 # via -r requirements/edx/testing.txt, django-ses, edx-celeryutils, edx-enterprise, pycontracts, pyjwkest, radon
future==0.18.2 # via -r requirements/edx/testing.txt, django-ses, edx-celeryutils, edx-enterprise, pycontracts, pyjwkest
geoip2==3.0.0 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
gitdb==4.0.5 # via -r requirements/edx/testing.txt, gitpython
gitpython==3.1.7 # via -r requirements/edx/testing.txt, transifex-client
@@ -154,7 +151,7 @@ httpretty==0.9.7 # via -c requirements/edx/../constraints.txt, -r requi
icalendar==4.0.6 # via -r requirements/edx/testing.txt
idna==2.10 # via -r requirements/edx/testing.txt, requests
imagesize==1.2.0 # via sphinx
importlib-metadata==1.7.0 # via -r requirements/edx/testing.txt, flake8, inflect, jsonschema, path, pluggy, pytest, pytest-randomly, tox, virtualenv
importlib-metadata==1.7.0 # via -r requirements/edx/testing.txt, inflect, jsonschema, path, pluggy, pytest, pytest-randomly, tox, virtualenv
importlib-resources==3.0.0 # via -r requirements/edx/testing.txt, virtualenv
inflect==3.0.2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, jinja2-pluralize
inflection==0.5.0 # via -r requirements/edx/testing.txt, drf-yasg
@@ -181,12 +178,11 @@ lxml==4.5.0 # via -c requirements/edx/../constraints.txt, -r requi
m2r==0.2.1 # via sphinxcontrib-openapi
mailsnake==1.6.4 # via -r requirements/edx/testing.txt
mako==1.1.3 # via -r requirements/edx/testing.txt, acid-xblock, lti-consumer-xblock, xblock-google-drive, xblock-utils
mando==0.6.4 # via -r requirements/edx/testing.txt, radon
markdown==2.6.11 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, django-wiki, staff-graded-xblock, xblock-poll
markey==0.8 # via -r requirements/edx/testing.txt, enmerkar-underscore
markupsafe==1.1.1 # via -r requirements/edx/testing.txt, chem, jinja2, mako, xblock
maxminddb==1.5.4 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, geoip2
mccabe==0.6.1 # via -r requirements/edx/testing.txt, flake8, pylint
mccabe==0.6.1 # via -r requirements/edx/testing.txt, pylint
mistune==0.8.4 # via m2r
mock==3.0.5 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, xblock-drag-and-drop-v2, xblock-poll
git+https://github.com/edx/MongoDBProxy.git@d92bafe9888d2940f647a7b2b2383b29c752f35a#egg=MongoDBProxy==0.1.0+edx.2 # via -r requirements/edx/testing.txt
@@ -217,12 +213,11 @@ polib==1.1.0 # via -r requirements/edx/testing.txt, edx-i18n-tools
psutil==1.2.1 # via -r requirements/edx/testing.txt, edx-django-utils
py2neo==3.1.2 # via -r requirements/edx/testing.txt
py==1.9.0 # via -r requirements/edx/testing.txt, pytest, pytest-forked, tox
pycodestyle==2.6.0 # via -r requirements/edx/testing.txt, flake8
pycodestyle==2.6.0 # via -r requirements/edx/testing.txt
pycontracts==1.8.12 # via -r requirements/edx/testing.txt, edx-user-state-client
pycountry==20.7.3 # via -r requirements/edx/testing.txt
pycparser==2.20 # via -r requirements/edx/testing.txt, cffi
pycryptodomex==3.9.8 # via -r requirements/edx/testing.txt, edx-proctoring, lti-consumer-xblock, pyjwkest
pyflakes==2.2.0 # via -r requirements/edx/testing.txt, flake8
pygments==2.6.1 # via -r requirements/edx/testing.txt, diff-cover, sphinx
pyjwkest==1.4.2 # via -r requirements/edx/testing.txt, edx-drf-extensions, lti-consumer-xblock
pyjwt[crypto]==1.7.1 # via -r requirements/edx/testing.txt, drf-jwt, edx-rest-api-client, social-auth-core
@@ -256,7 +251,6 @@ pytz==2020.1 # via -r requirements/edx/testing.txt, babel, capa, ce
pyuca==1.2 # via -r requirements/edx/testing.txt
pywatchman==1.4.1 # via -r requirements/edx/development.in
pyyaml==5.3.1 # via -r requirements/edx/testing.txt, code-annotations, edx-django-release-util, edx-i18n-tools, sphinxcontrib-openapi, xblock
radon==4.2.0 # via -r requirements/edx/testing.txt
random2==1.0.1 # via -r requirements/edx/testing.txt
recommender-xblock==1.4.9 # via -r requirements/edx/testing.txt
redis==2.10.6 # via -r requirements/edx/testing.txt
@@ -276,7 +270,7 @@ semantic-version==2.8.5 # via -r requirements/edx/testing.txt, edx-drf-extensi
shapely==1.7.0 # via -r requirements/edx/testing.txt
simplejson==3.17.2 # via -r requirements/edx/testing.txt, sailthru-client, super-csv, xblock-utils
singledispatch==3.4.0.3 # via -r requirements/edx/testing.txt
six==1.15.0 # via -r requirements/edx/pip-tools.txt, -r requirements/edx/testing.txt, analytics-python, astroid, bleach, bok-choy, chem, crowdsourcehinter-xblock, cryptography, diff-cover, django-classy-tags, django-countries, django-sekizai, django-simple-history, django-statici18n, django-wiki, drf-yasg, edx-ace, edx-bulk-grades, edx-ccx-keys, edx-django-release-util, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-lint, edx-milestones, edx-opaque-keys, edx-rbac, edx-search, edx-sphinx-theme, event-tracking, freezegun, fs, fs-s3fs, help-tokens, html5lib, httpretty, isodate, jsonschema, libsass, mando, mock, openedx-calc, packaging, pathlib2, paver, pip-tools, pycontracts, pyjwkest, pytest-xdist, python-dateutil, python-memcached, python-swiftclient, singledispatch, social-auth-app-django, social-auth-core, sphinxcontrib-httpdomain, stevedore, tox, transifex-client, virtualenv, xblock
six==1.15.0 # via -r requirements/edx/pip-tools.txt, -r requirements/edx/testing.txt, analytics-python, astroid, bleach, bok-choy, chem, crowdsourcehinter-xblock, cryptography, diff-cover, django-classy-tags, django-countries, django-sekizai, django-simple-history, django-statici18n, django-wiki, drf-yasg, edx-ace, edx-bulk-grades, edx-ccx-keys, edx-django-release-util, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-lint, edx-milestones, edx-opaque-keys, edx-rbac, edx-search, edx-sphinx-theme, event-tracking, freezegun, fs, fs-s3fs, help-tokens, html5lib, httpretty, isodate, jsonschema, libsass, mock, openedx-calc, packaging, pathlib2, paver, pip-tools, pycontracts, pyjwkest, pytest-xdist, python-dateutil, python-memcached, python-swiftclient, singledispatch, social-auth-app-django, social-auth-core, sphinxcontrib-httpdomain, stevedore, tox, transifex-client, virtualenv, xblock
slumber==0.7.1 # via -r requirements/edx/testing.txt, edx-bulk-grades, edx-enterprise, edx-rest-api-client
smmap==3.0.4 # via -r requirements/edx/testing.txt, gitdb
snowballstemmer==2.0.0 # via sphinx

View File

@@ -41,7 +41,6 @@ pytest-json-report # Output json formatted warnings after running pytest
pytest-metadata==1.8.0 # To prevent 'make upgrade' failure, dependency of pytest-json-report
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

View File

@@ -43,7 +43,6 @@ chem==1.2.0 # via -r requirements/edx/base.txt
click-log==0.3.2 # via edx-lint
click==7.1.2 # via -r requirements/edx/base.txt, click-log, code-annotations, edx-lint, nltk, user-util
code-annotations==0.4.0 # via -r requirements/edx/base.txt, -r requirements/edx/testing.in, edx-enterprise
colorama==0.4.3 # via radon
contextlib2==0.6.0.post1 # via -r requirements/edx/base.txt
coreapi==2.3.3 # via -r requirements/edx/base.txt, drf-yasg
coreschema==0.0.4 # via -r requirements/edx/base.txt, coreapi, drf-yasg
@@ -133,12 +132,10 @@ execnet==1.7.1 # via pytest-xdist
factory-boy==2.8.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in
faker==4.1.1 # via factory-boy
filelock==3.0.12 # via tox, virtualenv
flake8-polyfill==1.0.2 # via radon
flake8==3.8.3 # via flake8-polyfill
freezegun==0.3.12 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in
fs-s3fs==0.1.8 # via -r requirements/edx/base.txt, django-pyfs
fs==2.0.18 # via -r requirements/edx/base.txt, django-pyfs, fs-s3fs, xblock
future==0.18.2 # via -r requirements/edx/base.txt, django-ses, edx-celeryutils, edx-enterprise, pycontracts, pyjwkest, radon
future==0.18.2 # via -r requirements/edx/base.txt, django-ses, edx-celeryutils, edx-enterprise, pycontracts, pyjwkest
geoip2==3.0.0 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt
gitdb==4.0.5 # via gitpython
gitpython==3.1.7 # via transifex-client
@@ -149,7 +146,7 @@ html5lib==1.1 # via -r requirements/edx/base.txt, ora2
httpretty==0.9.7 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in
icalendar==4.0.6 # via -r requirements/edx/base.txt
idna==2.10 # via -r requirements/edx/base.txt, requests
importlib-metadata==1.7.0 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, flake8, inflect, path, pluggy, pytest, pytest-randomly, tox, virtualenv
importlib-metadata==1.7.0 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, inflect, path, pluggy, pytest, pytest-randomly, tox, virtualenv
importlib-resources==3.0.0 # via virtualenv
inflect==3.0.2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/coverage.txt, jinja2-pluralize
inflection==0.5.0 # via -r requirements/edx/base.txt, drf-yasg
@@ -174,12 +171,11 @@ lti-consumer-xblock==2.1.0 # via -r requirements/edx/base.txt
lxml==4.5.0 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, capa, edxval, lti-consumer-xblock, ora2, pyquery, safe-lxml, xblock, xmlsec
mailsnake==1.6.4 # via -r requirements/edx/base.txt
mako==1.1.3 # via -r requirements/edx/base.txt, acid-xblock, lti-consumer-xblock, xblock-google-drive, xblock-utils
mando==0.6.4 # via radon
markdown==2.6.11 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, django-wiki, staff-graded-xblock, xblock-poll
markey==0.8 # via -r requirements/edx/base.txt, enmerkar-underscore
markupsafe==1.1.1 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, chem, jinja2, mako, xblock
maxminddb==1.5.4 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, geoip2
mccabe==0.6.1 # via flake8, pylint
mccabe==0.6.1 # via pylint
mock==3.0.5 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, xblock-drag-and-drop-v2, xblock-poll
git+https://github.com/edx/MongoDBProxy.git@d92bafe9888d2940f647a7b2b2383b29c752f35a#egg=MongoDBProxy==0.1.0+edx.2 # via -r requirements/edx/base.txt
mongoengine==0.20.0 # via -r requirements/edx/base.txt
@@ -208,12 +204,11 @@ polib==1.1.0 # via -r requirements/edx/base.txt, -r requirements/ed
psutil==1.2.1 # via -r requirements/edx/base.txt, edx-django-utils
py2neo==3.1.2 # via -r requirements/edx/base.txt
py==1.9.0 # via pytest, pytest-forked, tox
pycodestyle==2.6.0 # via -r requirements/edx/testing.in, flake8
pycodestyle==2.6.0 # via -r requirements/edx/testing.in
pycontracts==1.8.12 # via -r requirements/edx/base.txt, edx-user-state-client
pycountry==20.7.3 # via -r requirements/edx/base.txt
pycparser==2.20 # via -r requirements/edx/base.txt, cffi
pycryptodomex==3.9.8 # via -r requirements/edx/base.txt, edx-proctoring, lti-consumer-xblock, pyjwkest
pyflakes==2.2.0 # via flake8
pygments==2.6.1 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, diff-cover
pyjwkest==1.4.2 # via -r requirements/edx/base.txt, edx-drf-extensions, lti-consumer-xblock
pyjwt[crypto]==1.7.1 # via -r requirements/edx/base.txt, drf-jwt, edx-rest-api-client, social-auth-core
@@ -245,7 +240,6 @@ python3-saml==1.9.0 # via -r requirements/edx/base.txt
pytz==2020.1 # via -r requirements/edx/base.txt, babel, capa, celery, django, django-ses, edx-completion, edx-enterprise, edx-proctoring, edx-submissions, edx-tincan-py35, event-tracking, fs, icalendar, ora2, xblock
pyuca==1.2 # via -r requirements/edx/base.txt
pyyaml==5.3.1 # via -r requirements/edx/base.txt, code-annotations, edx-django-release-util, edx-i18n-tools, xblock
radon==4.2.0 # via -r requirements/edx/testing.in
random2==1.0.1 # via -r requirements/edx/base.txt
recommender-xblock==1.4.9 # via -r requirements/edx/base.txt
redis==2.10.6 # via -r requirements/edx/base.txt
@@ -265,7 +259,7 @@ semantic-version==2.8.5 # via -r requirements/edx/base.txt, edx-drf-extensions
shapely==1.7.0 # via -r requirements/edx/base.txt
simplejson==3.17.2 # via -r requirements/edx/base.txt, sailthru-client, super-csv, xblock-utils
singledispatch==3.4.0.3 # via -r requirements/edx/testing.in
six==1.15.0 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, analytics-python, astroid, bleach, bok-choy, chem, crowdsourcehinter-xblock, cryptography, diff-cover, django-classy-tags, django-countries, django-sekizai, django-simple-history, django-statici18n, django-wiki, drf-yasg, edx-ace, edx-bulk-grades, edx-ccx-keys, edx-django-release-util, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-lint, edx-milestones, edx-opaque-keys, edx-rbac, edx-search, event-tracking, freezegun, fs, fs-s3fs, help-tokens, html5lib, httpretty, isodate, libsass, mando, mock, openedx-calc, packaging, pathlib2, paver, pycontracts, pyjwkest, pytest-xdist, python-dateutil, python-memcached, python-swiftclient, singledispatch, social-auth-app-django, social-auth-core, stevedore, tox, transifex-client, virtualenv, xblock
six==1.15.0 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, analytics-python, astroid, bleach, bok-choy, chem, crowdsourcehinter-xblock, cryptography, diff-cover, django-classy-tags, django-countries, django-sekizai, django-simple-history, django-statici18n, django-wiki, drf-yasg, edx-ace, edx-bulk-grades, edx-ccx-keys, edx-django-release-util, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-lint, edx-milestones, edx-opaque-keys, edx-rbac, edx-search, event-tracking, freezegun, fs, fs-s3fs, help-tokens, html5lib, httpretty, isodate, libsass, mock, openedx-calc, packaging, pathlib2, paver, pycontracts, pyjwkest, pytest-xdist, python-dateutil, python-memcached, python-swiftclient, singledispatch, social-auth-app-django, social-auth-core, stevedore, tox, transifex-client, virtualenv, xblock
slumber==0.7.1 # via -r requirements/edx/base.txt, edx-bulk-grades, edx-enterprise, edx-rest-api-client
smmap==3.0.4 # via gitdb
social-auth-app-django==4.0.0 # via -r requirements/edx/base.txt

View File

@@ -198,7 +198,7 @@ pipeline {
// Publish Quality report
publishHTML([allowMissing: true, alwaysLinkToLastBuild: false, keepAll: true,
reportDir: 'reports/metrics/',
reportFiles: 'pylint/*view*/,pep8/*view*/,python_complexity/*view*/,xsscommitlint/*view*/,xsslint/*view*/,eslint/*view*/,pii/*view*/',
reportFiles: 'pylint/*view*/,pep8/*view*/,xsscommitlint/*view*/,xsslint/*view*/,eslint/*view*/,pii/*view*/',
reportName: 'Quality Report', reportTitles: ''])
} finally {
if (env.ghprbPullId != null) {

View File

@@ -71,9 +71,6 @@ else
# Run quality task. Pass in the 'fail-under' percentage to diff-quality
paver run_quality -p 100 || EXIT=1
echo "Running code complexity report (python)."
paver run_complexity > reports/code_complexity.log || echo "Unable to calculate code complexity. Ignoring error."
exit $EXIT
;;

View File

@@ -127,8 +127,6 @@ case "$TEST_SUITE" in
run_paver_quality run_eslint -l $ESLINT_THRESHOLD || { EXIT=1; }
echo "Finding Stylelint violations and storing report..."
run_paver_quality run_stylelint -l $STYLELINT_THRESHOLD || { EXIT=1; }
echo "Running code complexity report (python)."
run_paver_quality run_complexity || echo "Unable to calculate code complexity. Ignoring error."
echo "Running xss linter report."
run_paver_quality run_xsslint -t $XSSLINT_THRESHOLDS || { EXIT=1; }
echo "Running safe commit linter report."