tox.ini
author Julien Cristau <julien.cristau@logilab.fr>
Tue, 28 Jul 2015 09:25:26 +0200
changeset 10553 1d824df4f2bd
parent 10545 8fa6506aa038
child 10838 b6cfbcdccc7f
permissions -rw-r--r--
Fix (de)serialization of ComputedRelation read permissions For normal relation types, permissions don't need to be stored since they're just default values for the relation definitions. However, computed relations are serialized (as CWComputedRType), while their relation definitions are added at schema finalization time, and are only in memory. So add the 'read_permission' relation to CWComputedRType, and the appropriate hooks to save and restore those permissions. To avoid having to touch yams, we drop the 'add' and 'delete' permissions from the default computed relation permissions; this should probably be backported there. The actual permissions (set on the relation definitions) are hardcoded in finalize_computed_relations anyway. In deserialize_schema, the CWComputedRType handling needs to be delayed a little bit, until after we've called deserialize_ertype_permissions. The rql2sql test is adjusted because CWComputedRType has a 'name' attribute and the 'read_permission' relation, which generates ambiguity vs CWEType. We add an explicit CubicWebRelationSchema.check_permission_definitions, since we need to check both that computed and non-computed rtypes are defined properly. Based on report and initial patch from Christophe de Vienne (thanks!). Closes #5706307
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10512
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     1
[tox]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     2
env = py27
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     3
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     4
[testenv]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     5
sitepackages = True
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     6
commands = pytest -t {envname}/test {posargs}
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     7
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     8
[testenv:cubicweb]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     9
deps =
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    10
  -r{toxinidir}/test/requirements.txt
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    11
commands = pytest -t test {posargs}
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    12
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    13
[testenv:dataimport]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    14
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    15
[testenv:devtools]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    16
deps =
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    17
  -r{toxinidir}/devtools/test/requirements.txt
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    18
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    19
[testenv:entities]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    20
deps =
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    21
  -r{toxinidir}/entities/test/requirements.txt
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    22
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    23
[testenv:etwist]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    24
deps =
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    25
  -r{toxinidir}/etwist/test/requirements.txt
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    26
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    27
[testenv:ext]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    28
deps =
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    29
  -r{toxinidir}/ext/test/requirements.txt
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    30
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    31
[testenv:hooks]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    32
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    33
[testenv:server]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    34
deps =
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    35
  -r{toxinidir}/server/test/requirements.txt
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    36
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    37
[testenv:sobjects]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    38
deps =
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    39
  -r{toxinidir}/sobjects/test/requirements.txt
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    40
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    41
[testenv:web]
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    42
deps =
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    43
  -r{toxinidir}/web/test/requirements.txt
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    44
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    45
[testenv:wsgi]
10545
8fa6506aa038 [tox] Add missing dependency on webtest for wsgi tests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10544
diff changeset
    46
deps =
8fa6506aa038 [tox] Add missing dependency on webtest for wsgi tests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10544
diff changeset
    47
  -r{toxinidir}/wsgi/test/requirements.txt
10512
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    48
99bdd4bddd77 Add tox.ini file
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    49
[testenv:doc]
10518
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    50
changedir = doc
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    51
whitelist_externals =
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    52
  sphinx-build
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    53
deps =
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    54
  sphinx
d276e4b332ba [tox] Update doc testenv to account for documentation restructuring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10512
diff changeset
    55
commands = sphinx-build -b html -d {envtmpdir}/doctrees .  {envtmpdir}/html