1. 26 Mar, 2021 4 commits
  2. 22 Mar, 2021 1 commit
  3. 08 Mar, 2021 3 commits
    • Kirill Smelkov's avatar
      tox: v↑ NEO (1.9 -> 1.12) · 95b012d3
      Kirill Smelkov authored
      NEO 1.9 was released in 2018 and is outdated by now. NEO 1.12 is
      currently the latest NEO release.
      95b012d3
    • Kirill Smelkov's avatar
      Require Zodbtools · d62a297c
      Kirill Smelkov authored
      After switching to ZODB >= 4 in the previous commit, we can safely
      require zodbtools, because there is now no conflict in between
      ZODB3/ZODB eggs.
      d62a297c
    • Kirill Smelkov's avatar
      Drop support for ZODB3 · 0802da2b
      Kirill Smelkov authored
      It's been a while since last ZODB3 3.10.7 release in 2016 and the last
      commit in upstream ZODB3 repository (3.10 branch) is from 2017. The
      world switched since then to ZODB4 and to ZODB5 after that.
      
      We were still requiring ZODB3, because ZODB3 3.11 egg was just a
      dependency on newer ZODB, ZEO, BTrees and persistent; and this way we
      could be supporting all ZODB3.10.x and  ZODB4 and ZODB5 via ZODB3.11.
      
      However upcoming Wendelin.core 2, for its proper working, needs MVCC
      semantic as implemented in ZODB5. This forces us, even for ZODB4, to
      backport non-trivial bits from ZODB5 (see [1]). Maintaining ZODB3
      support at this point becomes non-practical, because, to our knowledge,
      there is no wendelin.core user that plans to continue using ZODB3
      without switching to at least ZODB4 in the near future.
      
      So goodbye ZODB3. Even though ZODB still stays with us, it gives a
      feeling similar to [2], because in 2014, when I was myself learning
      ZODB, it was through ZODB3 - still at the time when all ZODB bits were
      living together in one place.
      
      [1] nexedi/ZODB!1
      [2] https://lists.osuosl.org/pipermail/darcs-users/2008-September/014095.html
      0802da2b
  4. 03 Mar, 2021 2 commits
  5. 02 Mar, 2021 2 commits
  6. 01 Mar, 2021 1 commit
  7. 03 Jan, 2021 1 commit
  8. 11 Dec, 2020 8 commits
    • Kirill Smelkov's avatar
      . · f2effbb7
      Kirill Smelkov authored
      f2effbb7
    • Kirill Smelkov's avatar
      Merge branch 'master' into t · 79f8ac05
      Kirill Smelkov authored
      * master:
        tests: Don't try to access db.storage when automatically closing connections
        bigfile/py: Garbage-collect BigFile <=> BigFileH cycles
        bigfile/py: Move PyVMA's support for cyclic GC close to pyvma_dealloc
        t/tfault-run: Require bash
        t/tfault-run: Clear state from previous run before starting
        Add way to run tests via nxdtest
      79f8ac05
    • Kirill Smelkov's avatar
      . ci · 3db1c907
      Kirill Smelkov authored
      3db1c907
    • Kirill Smelkov's avatar
      X wcfs: Move wconn<->zconn sync functionality into wcfs.clien._wczsync · cf92937f
      Kirill Smelkov authored
      - it is more logical
      - this way !wcfs tests don't try to excerceise wcfs functionality (and
        unexpectedly spawn wcfs server).
      cf92937f
    • 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
    • Kirill Smelkov's avatar
      . ci · 6f1b871c
      Kirill Smelkov authored
      6f1b871c
    • Kirill Smelkov's avatar
      X wcfs: lsof tweaks · 68ee5bdc
      Kirill Smelkov authored
      - use +D to request recursive search of everything under mntpt
      - use -w to avoid seeing many-many warnings in case there are stale FUSE mounts.
      68ee5bdc
    • Kirill Smelkov's avatar
      tests: Don't try to access db.storage when automatically closing connections · e5d73d9d
      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.
      e5d73d9d
  9. 10 Dec, 2020 1 commit
  10. 09 Dec, 2020 5 commits
  11. 04 Dec, 2020 1 commit
  12. 29 Nov, 2020 3 commits
  13. 27 Nov, 2020 2 commits
  14. 20 Nov, 2020 6 commits