• Kirill Smelkov's avatar
    test/gen_testdata: Require ZODB ≥ 5 explicitly · a954d1bb
    Kirill Smelkov authored
    Zodbtools supports ZODB ≥ 4 so far (see e.g. c59a54ca "Drop support for
    ZODB3"). However running gen_testdata.py works only with ZODB5 and later
    as it currently fails on ZODB4:
    
        (z4-dev) kirr@deca:~/src/wendelin/z/zodbtools/zodbtools/test$ python gen_testdata.py
        Traceback (most recent call last):
          File "gen_testdata.py", line 70, in <module>
            from ZODB.Connection import TransactionMetaData
        ImportError: cannot import name TransactionMetaData
    
    We discussed this with Jérome and we think it is ok to require ZODB ≥ 5
    for testdata generation because even with ZODB5 we generate all kinds of
    ZODB test data we care about and commit them to git:
    
        py2: ZODB 4 and ZODB5 < 5.3     (pickle protocol 1)
        py2: ZODB 5.3                   (pickle protocol 2)
        py2: ZODB ≥ 5.4                 (pickle protocol 3)
        py3: ZODB4 and ZODB5            (pickle protocol 3)
    
    -> Add explicit check that ZODB is 5 or later when running the script to
    avoid any potential confusion with `ImportError: cannot import name
    TransactionMetaData`.
    
    /reviewed-by @jerome
    /reviewed-on nexedi/zodbtools!34
    /discussed-at nexedi/zodbtools!21
    a954d1bb