Ticket #13469: t13469.diff

File t13469.diff, 2.8 KB (added by Russell Keith-Magee, 15 years ago)

Possible fix for Python2.3 failures

  • tests/regressiontests/utils/module_loading.py

    diff -r fd56af1f744b tests/regressiontests/utils/module_loading.py
    a b  
    8989        mod.__loader__ = self
    9090        return mod
    9191
    92 class CustomLoader(TestCase):
     92class CustomLoader(EggLoader):
    9393    def setUp(self):
    9494        self.egg_dir = '%s/eggs' % os.path.dirname(__file__)
    9595        self.old_path = sys.path
     
    9999    def tearDown(self):
    100100        sys.path = self.old_path
    101101        sys.path_hooks.pop(0)
     102        sys.path_importer_cache.clear()
    102103
    103     def test_shallow_loader(self):
    104         "Module existence can be tested with a custom loader"
    105         egg_name = '%s/test_egg.egg' % self.egg_dir
    106         sys.path.append(egg_name)
    107         egg_module = import_module('egg_module')
    108 
    109         # An importable child
    110         self.assertTrue(module_has_submodule(egg_module, 'good_module'))
    111         mod = import_module('egg_module.good_module')
    112         self.assertEqual(mod.content, 'Good Module')
    113 
    114         # A child that exists, but will generate an import error if loaded
    115         self.assertTrue(module_has_submodule(egg_module, 'bad_module'))
    116         self.assertRaises(ImportError, import_module, 'egg_module.bad_module')
    117 
    118         # A child that doesn't exist
    119         self.assertFalse(module_has_submodule(egg_module, 'no_such_module'))
    120         self.assertRaises(ImportError, import_module, 'egg_module.no_such_module')
    121 
    122     def test_deep_loader(self):
    123         "Modules existence can be tested deep inside a custom loader"
    124         egg_name = '%s/test_egg.egg' % self.egg_dir
    125         sys.path.append(egg_name)
    126         egg_module = import_module('egg_module.sub1.sub2')
    127 
    128         # An importable child
    129         self.assertTrue(module_has_submodule(egg_module, 'good_module'))
    130         mod = import_module('egg_module.sub1.sub2.good_module')
    131         self.assertEqual(mod.content, 'Deep Good Module')
    132 
    133         # A child that exists, but will generate an import error if loaded
    134         self.assertTrue(module_has_submodule(egg_module, 'bad_module'))
    135         self.assertRaises(ImportError, import_module, 'egg_module.sub1.sub2.bad_module')
    136 
    137         # A child that doesn't exist
    138         self.assertFalse(module_has_submodule(egg_module, 'no_such_module'))
    139         self.assertRaises(ImportError, import_module, 'egg_module.sub1.sub2.no_such_module')
     104        sys.modules.pop('egg_module.sub1.sub2.bad_module', None)
     105        sys.modules.pop('egg_module.sub1.sub2.good_module', None)
     106        sys.modules.pop('egg_module.sub1.sub2', None)
     107        sys.modules.pop('egg_module.sub1', None)
     108        sys.modules.pop('egg_module.bad_module', None)
     109        sys.modules.pop('egg_module.good_module', None)
     110        sys.modules.pop('egg_module', None)
Back to Top