summaryrefslogtreecommitdiffstats
path: root/tox.ini
blob: 313f1eca27f3e8c537194b7d99334158d3acfbc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[tox]
minversion = 2.0
skipsdist = True
envlist = py{27,3},pep8,functional{,-py3},coverage

[testenv]
usedevelop=True
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY BRANCH
setenv =
   VIRTUAL_ENV={envdir}
deps =
    -r{toxinidir}/requirements.txt
    -r{toxinidir}/test-requirements.txt
whitelist_externals = /bin/bash

[testenv:py27]
commands =
  /bin/bash {toxinidir}/tools/run_tests.sh --unit

[testenv:py3]
basepython = python3
commands = {[testenv:py27]commands}

[testenv:pep8]
# for gate testing, scans only the files changed in the last commit
commands =
  /bin/bash tools/coding-checks.sh --pylint HEAD~ '{posargs}'

[testenv:pep8-full]
# For manual testing, scans the whole codebase
commands =
  /bin/bash tools/coding-checks.sh --pylint '{posargs}'

[testenv:coverage]
basepython = python3
commands =
  /bin/bash {toxinidir}/tools/run_tests.sh --coverage

[testenv:functional]
commands =
  /bin/bash {toxinidir}/tools/run_tests.sh --functional

[testenv:functional-py3]
basepython = python3
commands = {[testenv:functional]commands}

[testenv:os-requirements]
commands =
    python {toxinidir}/tools/os-requirements-check.py {envdir}
an-iterable, # "W" Warnings for stylistic problems or minor programming issues abstract-method, arguments-differ, attribute-defined-outside-init, bad-builtin, bad-indentation, dangerous-default-value, deprecated-lambda, expression-not-assigned, fixme, global-statement, literal-comparison, no-init, non-parent-init-called, not-callable, protected-access, redefined-builtin, redefined-outer-name, signature-differs, star-args, super-init-not-called, super-on-old-class, unpacking-non-sequence, useless-super-delegation, nonstandard-exception, # "C" Coding convention violations bad-continuation, consider-iterating-dictionary, consider-using-enumerate, invalid-name, len-as-condition, misplaced-comparison-constant, missing-docstring, singleton-comparison, superfluous-parens, ungrouped-imports, wrong-import-order, # "R" Refactor recommendations abstract-class-little-used, abstract-class-not-used, consider-merging-isinstance, consider-using-ternary, duplicate-code, inconsistent-return-statements, interface-not-implemented, no-else-return, no-self-use, redefined-argument-from-local, simplifiable-if-statement, too-few-public-methods, too-many-ancestors, too-many-arguments, too-many-branches, too-many-instance-attributes, too-many-lines, too-many-locals, too-many-nested-blocks, too-many-public-methods, too-many-return-statements, too-many-statements [BASIC] # Variable names can be 1 to 31 characters long, with lowercase and underscores variable-rgx=[a-z_][a-z0-9_]{0,30}$ # Argument names can be 2 to 31 characters long, with lowercase and underscores argument-rgx=[a-z_][a-z0-9_]{1,30}$ # Method names should be at least 3 characters long # and be lowercased with underscores method-rgx=([a-z_][a-z0-9_]{2,}|setUp|tearDown)$ # Module names matching neutron-* are ok (files in bin/) module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ # Don't require docstrings on tests. no-docstring-rgx=((__.*__)|([tT]est.*)|setUp|tearDown)$ dummy-variables-rgx=(_+[a-zA-Z0-9]*?$)|dummy|args [FORMAT] # Maximum number of characters on a single line. max-line-length=99 # String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 # tab). indent-string=' ' [VARIABLES] # List of additional names supposed to be defined in builtins. Remember that # you should avoid to define new builtins when possible. # _ is used by our localization additional-builtins=_ [CLASSES] # List of interface methods to ignore, separated by a comma. ignore-iface-methods= [TYPECHECK] # List of module names for which member attributes should not be checked ignored-modules=six.moves,_MovedItems [REPORTS] # Tells whether to display a full report or only the messages reports=no # Set the output format. Available formats are text, parseable, colorized, msvs # (visual studio) and html. You can also give a reporter class, eg # mypackage.mymodule.MyReporterClass. output-format=colorized # Python expression which should return a note less than 10 (10 is the highest # note). You have access to the variables errors warning, statement which # respectively contain the number of errors / warnings messages and the total # number of statements analyzed. This is used by the global evaluation report # (RP0004). evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) [MISCELLANEOUS] # List of note tags to take in consideration, separated by a comma. notes=FIXME,XXX,TODO