• Kirill Smelkov's avatar
    wcfs: zdata: Test ZBlk loading on all py2/py3 ZODB kinds of data we care about · 76f7e270
    Kirill Smelkov authored
    Previously we were testing ZBlk loading on Go side only with data generated by
    python2 and pickle protocol=2. However even on py2 there are more pickle
    protocols that are in use, and also there is python3.
    
    -> Modernize testdata/zblk_test_gen.py to use run_with_all_zodb_pickle_kinds
       that was recently added as part of nexedi/zodbtools@f9d36ba7
       and generate test data with both python2 and python3. It is handy to
       use py2py3-venv(*) to prepare python environment to do that.
    
       Adjust tests on Go side to verify how ZBlk is loaded for all generated zkinds.
    
    py2_pickle1, py2_pickle2 and py2_pickle3 are handled well.
    ZBlk test for py3_pickle3 currently fails with
    
            --- FAIL: TestZBlk/py3_pickle3 (0.01s)
        panic: ZBlk0(0000000000000002): loadBlkData: wendelin.bigfile.file_zodb.ZBlk0(0000000000000002): activate: pysetstate: expect str; got ogórek.Bytes [recovered]
    
    and so is marked with "xfail".
    
    We will fix tests for py3_pickle3 in follow-up patches.
    
    (*) see nexedi/zodbtools@fac2f190
    76f7e270
zblk_test.go 5.31 KB