• Kirill Smelkov's avatar
    tests: Don't try to access db.storage when automatically closing connections · fd6b5252
    Kirill Smelkov authored
    DB.close() does `del self.storage`.
    
    https://github.com/zopefoundation/ZODB/blob/5.6.0-14-g0eae10cd0/src/ZODB/DB.py#L646
    
    This way if DB was closed, but some conn(s) were not, it will crash in
    teardown as e.g. below:
    
        _____________ ERROR at teardown of test_bigfile_zblk1_zdata_reuse ______________
    
            def teardown_module():
        >       testdb.teardown()
    
        bigfile/tests/test_filezodb.py:58:
        _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    
        self = <wendelin.lib.testing.TestDB_ZEO object at 0x7fb9c0216350>
    
            def teardown(self):
                # close connections that test code forgot to close
                for connref, tb in self.connv:
                    conn = connref()
                    if conn is None:
                        continue
                    if not conn.opened:
                        continue    # still alive, but closed
                    print("W: testdb: teardown: %s left not closed by test code"
                          "; opened by:\n%s" % (conn, tb), file=sys.stderr)
    
                    db = conn.db()
        >           stor = db.storage
        E           AttributeError: 'DB' object has no attribute 'storage'
    
        lib/testing.py:217: AttributeError
    
    The fix is simple - don't use db.storage at all, because it is not actually used in that code.
    fd6b5252
Name
Last commit
Last update
..
tests Loading commit data...
__init__.py Loading commit data...
bug.c Loading commit data...
calc.py Loading commit data...
mem.py Loading commit data...
testing.py Loading commit data...
utils.c Loading commit data...
xnumpy.py Loading commit data...
zodb.py Loading commit data...