tox.ini
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Fri, 20 Jan 2017 18:17:04 +0100
changeset 11919 3a6746dfc57f
parent 11914 587b5605d0c6
child 12072 9233dbde28d5
permissions -rw-r--r--
Change hooks control (deny_all_hooks_but / allow_all_hooks_but) to be more predictable Prior to this, if one execute code like: with cnx.hooks.deny_all_hooks_but('metadata'): with cnx.hooks.deny_all_hooks_but(): # mycode 'metadata' hooks will be activated anyway in the inner block, which is rather unexpected (of course in real life you only see the latest hooks control statement, the former being higher in the call stack). This is due to the underlying usage of old `enable_hook_categories` / `disable_hook_categories` methods, which were introduced much before the now official context manager based API (with `cnx.[deny|all]_all_hooks_but(...)`). To move on, this patch drop the two legacy methods, rename and privatize related internal state on the connection (`hooks_mode` becomes `_hooks_mode`, `disabled_hook_cats` and `enabled_hook_cats` become `_hooks_categories`) and reimplement the `_hooks_control` context manager to simply update them. See the added unit test for details.
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,
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
     4
  py{27,34}-{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]
10512
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     7
sitepackages = True
10975
6615ecb60244 [tox] Use generating environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10900
diff changeset
     8
deps =
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
     9
  -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
    10
  py27: backports.tempfile
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    11
  misc: -r{toxinidir}/requirements/test-misc.txt
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    12
  server: -r{toxinidir}/requirements/test-server.txt
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    13
  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
    14
commands =
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    15
  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
    16
  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
    17
  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
    18
  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
    19
  web: {envpython} -m pytest {posargs} {toxinidir}/cubicweb/web/test
10512
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    20
11474
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    21
[testenv:flake8]
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 =
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    24
  flake8 >= 3
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]
10518
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    30
changedir = doc
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    31
deps =
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    32
  sphinx
11390
e5453b19bc6e [tox] Ensure virtualenv's python is used to build the documentation
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11354
diff changeset
    33
commands =
e5453b19bc6e [tox] Ensure virtualenv's python is used to build the documentation
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11354
diff changeset
    34
  {envpython} -c 'import sphinx; sphinx.main()' -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
    35
11453
3522d2a3389e [pkg] Add missing entries to MANIFEST.in
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11419
diff changeset
    36
[testenv:check-manifest]
3522d2a3389e [pkg] Add missing entries to MANIFEST.in
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11419
diff changeset
    37
skip_install = true
11630
1400aee10df4 Port to Python3 (closes #14159555)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11624
diff changeset
    38
deps =
11453
3522d2a3389e [pkg] Add missing entries to MANIFEST.in
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11419
diff changeset
    39
  check-manifest
11602
0737f481b358 Add a tox configuration
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    40
commands =
11830
535e54210332 [tox] Use `python -m check_manifest` instead of check-manifest program
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11811
diff changeset
    41
  {envpython} -m check_manifest {toxinidir} \
11465
10ecd586a9a8 [tox] Exclude symlinks from check-manifest call
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11453
diff changeset
    42
# 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
    43
# 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
    44
    --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
    45
11250
597f02c5cf5a [tox] Use py.test to run tests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11249
diff changeset
    46
[pytest]
597f02c5cf5a [tox] Use py.test to run tests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11249
diff changeset
    47
python_files = *test_*.py
11474
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    48
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    49
[flake8]
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    50
format = pylint
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    51
ignore = W503
28311db7a2a5 [tox] Basic flake8 config
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11465
diff changeset
    52
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
    53
exclude = doc/*,.tox/*
11631
faf279e33298 Merge with pyramid-cubicweb
Yann Voté <yann.vote@logilab.fr>
parents: 11478 11630
diff changeset
    54
11478
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    55
1817f8946c22 [tox] Have less test environments
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11475
diff changeset
    56
# vim: wrap sts=2 sw=2