1. 11 Dec, 2020 4 commits
    • 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
      . 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
  2. 10 Dec, 2020 1 commit
  3. 09 Dec, 2020 5 commits
  4. 04 Dec, 2020 1 commit
  5. 29 Nov, 2020 3 commits
  6. 27 Nov, 2020 2 commits
  7. 20 Nov, 2020 6 commits
  8. 18 Nov, 2020 1 commit
  9. 17 Nov, 2020 1 commit
  10. 09 Nov, 2020 4 commits
  11. 08 Nov, 2020 2 commits
  12. 05 Nov, 2020 4 commits
  13. 04 Nov, 2020 3 commits
  14. 03 Nov, 2020 3 commits
    • Kirill Smelkov's avatar
      . · 066d7203
      Kirill Smelkov authored
      066d7203
    • Kirill Smelkov's avatar
      X bigfile/_file_zodb: Fix logic around ZSync usage · 8bf8f23b
      Kirill Smelkov authored
      The logic inside ZSync was correct, but it was incorrect to attach zsync
      to zconn to stay alive and react when that zconn is garbage collected:
      zsync._on_zconn_dealloc was not called because zsync itself was garbage
      collected too.
      
      This fixes many failures where wconn and associated pinner was not
      released even though ZODB DB was correctly closed.
      8bf8f23b
    • Kirill Smelkov's avatar
      X wcfs: tests: Run `fusermount -u` the second time if we had to kill wcfs · 3a6bd764
      Kirill Smelkov authored
      This makes sure to cleanup /proc/mounts from stale / broken FUSE
      connection, and removes uninformational `assert not is_mountpoint` from
      raising, thus, adding more noise in already very verbose wcfs-kill-dump.
      3a6bd764