tox.ini
author Denis Laxalde <denis.laxalde@logilab.fr>
Mon, 08 Apr 2019 11:24:53 +0200
branch3.26
changeset 12586 afafc8fd9a45
parent 12432 2fcb53ee5178
child 12491 540904e0ff0f
permissions -rw-r--r--
Account for new psycopg2 exception classes mapping From psycopg2 >= 2.8, specific exceptions are raised corresponding to postgresql errors. E.g. a CheckViolation exception is raised instead of a generic IntegrityError previously when a constraint violation occurs. The way we intercept database errors, especially for constraint violation, is not compliant with that because we do not catch subclasses of IntegrityError in native source's doexec() method. We fix this by checking for the presence of IntegrityError error in exception class's mro. This is still overcomplicated and clumsy, because we still use string comparison, but this is the best we can do as far as I know. (A better fix would be 'isinstance(ex, IntegrityError)' but we have no engine-independent error classes, so this is not possible. Something like sqlalchemy's DBAPI Errors [1] might help: https://docs.sqlalchemy.org/en/latest/errors.html#dbapi-errors)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11602
0737f481b358 Add a tox configuration
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     1
[tox]
11144
fd8bf29ed00e [tox] Generate test environments for Python 2.7 and 3.4
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11072
diff changeset
     2
envlist =
11474
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
     3
  check-manifest,flake8,
12229
a812e9a75831 [tox] Use py3 environment instead of py34
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12226
diff changeset
     4
  py{27,3}-{server,web,misc}
11602
0737f481b358 Add a tox configuration
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     5
0737f481b358 Add a tox configuration
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     6
[testenv]
10975
6615ecb60244 [tox] Use generating environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10900
diff changeset
     7
deps =
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
     8
  -r{toxinidir}/requirements/dev.txt
11744
a6dc650bc230 [test] Replace logilab-common's with_tempdir by tempfile.TemporaryDirectory
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11714
diff changeset
     9
  py27: backports.tempfile
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    10
  misc: -r{toxinidir}/requirements/test-misc.txt
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    11
  server: -r{toxinidir}/requirements/test-server.txt
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    12
  web: -r{toxinidir}/requirements/test-web.txt
10976
b150016e476c [tox] Ensure pytest gets run with virtualenv's python
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10975
diff changeset
    13
commands =
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    14
  misc: {envpython} -m pip install --upgrade --no-deps --quiet git+git://github.com/logilab/yapps@master#egg=yapps
11631
faf279e33298 Merge with pyramid-cubicweb
Yann Voté <yann.vote@logilab.fr>
parents: 11478 11630
diff changeset
    15
  misc: {envpython} -m pytest {posargs} {toxinidir}/cubicweb/test {toxinidir}/cubicweb/dataimport/test {toxinidir}/cubicweb/devtools/test {toxinidir}/cubicweb/entities/test {toxinidir}/cubicweb/ext/test {toxinidir}/cubicweb/hooks/test {toxinidir}/cubicweb/sobjects/test {toxinidir}/cubicweb/wsgi/test {toxinidir}/cubicweb/pyramid/test
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    16
  py27-misc: {envpython} -m pytest {posargs} {toxinidir}/cubicweb/etwist/test
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    17
  server: {envpython} -m pytest {posargs} {toxinidir}/cubicweb/server/test
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    18
  web: {envpython} -m pytest {posargs} {toxinidir}/cubicweb/web/test
10512
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    19
11474
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    20
[testenv:flake8]
12432
2fcb53ee5178 Fix flake8 issues since release 3.6.0
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 12354
diff changeset
    21
basepython=python3
11474
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    22
skip_install = true
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    23
deps =
12432
2fcb53ee5178 Fix flake8 issues since release 3.6.0
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 12354
diff changeset
    24
  flake8 >= 3.6
11811
f09efeead7f9 Fix broken flake8 configuration
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11744
diff changeset
    25
whitelist_externals =
f09efeead7f9 Fix broken flake8 configuration
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11744
diff changeset
    26
  /bin/sh
f09efeead7f9 Fix broken flake8 configuration
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11744
diff changeset
    27
commands = /bin/sh -c "flake8 `xargs -a {toxinidir}/flake8-ok-files.txt`"
11474
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    28
10512
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    29
[testenv:doc]
12092
09da91a5077b [tox] Install "pyramid" dependencies in "doc" environment
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12072
diff changeset
    30
skip_install = true
10518
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    31
changedir = doc
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    32
deps =
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    33
  sphinx
12092
09da91a5077b [tox] Install "pyramid" dependencies in "doc" environment
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12072
diff changeset
    34
  -r{toxinidir}/requirements/doc.txt
11390
e5453b19bc6e [tox] Ensure virtualenv's python is used to build the documentation
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11354
diff changeset
    35
commands =
12102
392d5d09f0ef [tox] Simplify command line to build the doc
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12092
diff changeset
    36
  {envpython} -m sphinx -b html -d {envtmpdir}/doctrees .  {envtmpdir}/html
11250
597f02c5cf5a [tox] Use py.test to run tests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11249
diff changeset
    37
11453
3522d2a3389e [pkg] Add missing entries to MANIFEST.in
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11419
diff changeset
    38
[testenv:check-manifest]
3522d2a3389e [pkg] Add missing entries to MANIFEST.in
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11419
diff changeset
    39
skip_install = true
11630
1400aee10df4 Port to Python3 (closes #14159555)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11624
diff changeset
    40
deps =
11453
3522d2a3389e [pkg] Add missing entries to MANIFEST.in
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11419
diff changeset
    41
  check-manifest
11602
0737f481b358 Add a tox configuration
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    42
commands =
11830
535e54210332 [tox] Use `python -m check_manifest` instead of check-manifest program
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11811
diff changeset
    43
  {envpython} -m check_manifest {toxinidir} \
11465
10ecd586a9a8 [tox] Exclude symlinks from check-manifest call
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11453
diff changeset
    44
# ignore symlinks that are not recognized by check-manifest, see
10ecd586a9a8 [tox] Exclude symlinks from check-manifest call
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11453
diff changeset
    45
# https://github.com/mgedmin/check-manifest/issues/69
11684
122eacf5210b [tox] Exclude all files in symlinked directories from check-manifest call
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11683
diff changeset
    46
    --ignore cubicweb/devtools/test/data/cubes/i18ntestcube*,cubicweb/test/data/legacy_cubes*
11453
3522d2a3389e [pkg] Add missing entries to MANIFEST.in
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11419
diff changeset
    47
11250
597f02c5cf5a [tox] Use py.test to run tests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11249
diff changeset
    48
[pytest]
597f02c5cf5a [tox] Use py.test to run tests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11249
diff changeset
    49
python_files = *test_*.py
12244
6a71cb23f827 Disable pytest's logs reporting
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12229
diff changeset
    50
log_print = false
11474
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    51
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    52
[flake8]
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    53
format = pylint
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    54
ignore = W503
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    55
max-line-length = 100
11911
37726f66ff82 [tox] Drop "exclude" option from flake8 config and adjust flake8-ok-files.txt accordingly
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11830
diff changeset
    56
exclude = doc/*,.tox/*
11631
faf279e33298 Merge with pyramid-cubicweb
Yann Voté <yann.vote@logilab.fr>
parents: 11478 11630
diff changeset
    57
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    58
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    59
# vim: wrap sts=2 sw=2