old_contents: import os
  import unittest
  
  from modularodm import StoredObject
  from modularodm.storage import PickleStorage
  
  
  class TestObject(StoredObject):
      def __init__(self, *args, **kwargs):
          self.set_storage(PickleStorage('Test'))
          super(TestObject, self).__init__(*args, **kwargs)
          self._clear_caches()
  
  
  class PickleStorageTestCase(unittest.TestCase):
  
      def tearDown(self):
          try:
              os.remove('db_Test.pkl')
          except OSError:
              pass
new_contents: import os
  import unittest
  
  from modularodm import StoredObject
  from modularodm.storage import PickleStorage
  
  
  class TestObject(StoredObject):
      def __init__(self, *args, **kwargs):
          self.set_storage(PickleStorage('Test'))
          super(TestObject, self).__init__(*args, **kwargs)
  
  
  class PickleStorageTestCase(unittest.TestCase):
  
      def tearDown(self):
          StoredObject._clear_caches()
          try:
              os.remove('db_Test.pkl')
          except OSError:
              pass
subject: remove _clear_caches() from __init__; this causes confusing behavior