tox.ini 1.76 KB
Newer Older
1 2
# wendelin.core | tox setup
[tox]
3
envlist = py27-{ZODB3,ZODB4,ZODB5}-{zblk0,zblk1}-{fs,zeo,neo}-{numpy115,numpy116},
Kirill Smelkov's avatar
Kirill Smelkov committed
4 5
          {py36,py37}-{ZODB4,ZODB5}-{zblk0,zblk1}-fs-{numpy115,numpy116},
          py36-{ZODB4,ZODB5}-{zblk0,zblk1}-zeo-{numpy115,numpy116},
6
          py37-ZODB5-{zblk0,zblk1}-zeo-{numpy115,numpy116}
7
# (NOTE ZODB3 does not work on python3)
8
# (NOTE ZEO4 does not work with python3.7)
Kirill Smelkov's avatar
Kirill Smelkov committed
9 10
# (NOTE NEO does not work on python3 at all)
# (XXX ZODB5-*-neo are currently failing)
11 12 13

[testenv]
deps    =
14
    .[test]
15 16 17

    # latest ZODB from 3 series
    ZODB3:  ZODB3 >=3.10, <3.11dev
18
    ZODB3:  transaction <2.0dev
19 20 21
    # ZConfig 3.2.0 passes filename to ZEO config as unicode which eventualy breaks in FileStorage:
    # https://github.com/zopefoundation/ZODB/blob/3.10.7-4-gb8d7a8567/src/ZODB/FileStorage/FileStorage.py#L1640
    ZODB3:  ZConfig <3.2.0
22 23

    # latest current ZODB _4_
24 25
    ZODB4:  ZODB >=4.0, <5.0dev
    ZODB4:  ZEO  >=4.0, <5.0dev
26

Kirill Smelkov's avatar
Kirill Smelkov committed
27 28 29
    # latest current ZODB 5
    ZODB5:  ZODB >=5.0,	<6.0dev
    ZODB5:  ZEO	 >=5.0, <6.0dev
30 31
    # ZODB/test/util depends on mock starting from ZODB 5.5
    ZODB5:  mock
Kirill Smelkov's avatar
Kirill Smelkov committed
32 33

    neo:    neoppod >= 1.9
34
    # neo.tests also imports MySQLdb unconditionally
35
    neo:    mysqlclient
36 37 38 39 40


    # zeo: ZEO is already required by ZODB, but for testing utilities from ZEO we also need:
    zeo:    zope.testing

41 42
    numpy116: numpy >=1.16.0, <1.17.0
    numpy115: numpy >=1.15.0, <1.16.0
43

44 45 46 47
setenv =
    fs:  WENDELIN_CORE_TEST_DB=<fs>
    zeo: WENDELIN_CORE_TEST_DB=<zeo>
    neo: WENDELIN_CORE_TEST_DB=<neo>
48

49
    zblk0:  WENDELIN_CORE_ZBLK_FMT=ZBlk0
50
    zblk1:  WENDELIN_CORE_ZBLK_FMT=ZBlk1
51

52 53 54
commands= {envpython} setup.py test
# XXX setenv = TMPDIR = ... ?  (so that /tmp is not on tmpfs and we don't run out of memory on bench)
# + {envpython} setup.py bench  (?)