Uploaded image for project: 'Motor'
  1. Motor
  2. MOTOR-460

Python 3.8 TypeError: descriptor '__dict__' for 'AgnosticGridFSBucket' objects doesn't apply to a 'MotorGridFSBucket' object

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 2.1
    • Affects Version/s: None
    • Component/s: None
    • None

      On Python 3.8 the following tests fail:

      ERROR: test_gridfs_attrs (tornado_tests.test_motor_core.MotorCoreTestGridFS)
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "/home/travis/virtualenv/python3.8.0/lib/python3.8/site-packages/tornado/testing.py", line 98, in __call__
          result = self.orig_method(*args, **kwargs)
        File "/home/travis/build/mongodb/motor/test/tornado_tests/test_motor_core.py", line 164, in test_gridfs_attrs
          attrs(MotorGridFSBucket(self.cx.test)) - motor_gridfs_only)
        File "/home/travis/build/mongodb/motor/test/tornado_tests/test_motor_core.py", line 29, in attrs
          return set(a for a in dir(klass) if not a.startswith('_'))
      TypeError: descriptor '__dict__' for 'AgnosticGridFSBucket' objects doesn't apply to a 'MotorGridFSBucket' object
      ======================================================================
      ERROR: test_gridin_attrs (tornado_tests.test_motor_core.MotorCoreTestGridFS)
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "/home/travis/virtualenv/python3.8.0/lib/python3.8/site-packages/tornado/testing.py", line 98, in __call__
          result = self.orig_method(*args, **kwargs)
        File "/home/travis/build/mongodb/motor/test/tornado_tests/test_motor_core.py", line 171, in test_gridin_attrs
          attrs(MotorGridIn(self.cx.test.fs)) - motor_gridin_only)
        File "/home/travis/build/mongodb/motor/test/tornado_tests/test_motor_core.py", line 29, in attrs
          return set(a for a in dir(klass) if not a.startswith('_'))
      TypeError: descriptor '__dict__' for 'AgnosticGridIn' objects doesn't apply to a 'MotorGridIn' object
      ======================================================================
      ERROR: test_gridout_attrs (tornado_tests.test_motor_core.MotorCoreTestGridFS)
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "/home/travis/virtualenv/python3.8.0/lib/python3.8/site-packages/tornado/testing.py", line 98, in __call__
          result = self.orig_method(*args, **kwargs)
        File "/home/travis/virtualenv/python3.8.0/lib/python3.8/site-packages/tornado/testing.py", line 594, in post_coroutine
          return self.io_loop.run_sync(
        File "/home/travis/virtualenv/python3.8.0/lib/python3.8/site-packages/tornado/ioloop.py", line 532, in run_sync
          return future_cell[0].result()
        File "/home/travis/virtualenv/python3.8.0/lib/python3.8/site-packages/tornado/gen.py", line 748, in run
          yielded = self.gen.send(value)
        File "/home/travis/build/mongodb/motor/test/tornado_tests/test_motor_core.py", line 184, in test_gridout_attrs
          attrs(motor_gridout) - motor_gridout_only)
        File "/home/travis/build/mongodb/motor/test/tornado_tests/test_motor_core.py", line 29, in attrs
          return set(a for a in dir(klass) if not a.startswith('_'))
      TypeError: descriptor '__dict__' for 'AgnosticGridOut' objects doesn't apply to a 'MotorGridOut' object
      

      It seems that something about descriptors has changed.

            Assignee:
            shane.harvey@mongodb.com Shane Harvey
            Reporter:
            shane.harvey@mongodb.com Shane Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: