Ticket #13469: t13469.2.diff

File t13469.2.diff, 3.4 KB (added by russellm, 5 years ago)

Possible fix for Python2.3 issues

  • tests/regressiontests/utils/module_loading.py

    diff -r fd56af1f744b tests/regressiontests/utils/module_loading.py
    a b  
    3131
    3232    def tearDown(self):
    3333        sys.path = self.old_path
     34        sys.path_importer_cache.clear()
     35
     36        sys.modules.pop('egg_module.sub1.sub2.bad_module', None)
     37        sys.modules.pop('egg_module.sub1.sub2.good_module', None)
     38        sys.modules.pop('egg_module.sub1.sub2', None)
     39        sys.modules.pop('egg_module.sub1', None)
     40        sys.modules.pop('egg_module.bad_module', None)
     41        sys.modules.pop('egg_module.good_module', None)
     42        sys.modules.pop('egg_module', None)
    3443
    3544    def test_shallow_loader(self):
    3645        "Module existence can be tested inside eggs"
     
    8998        mod.__loader__ = self
    9099        return mod
    91100
    92 class CustomLoader(TestCase):
     101class CustomLoader(EggLoader):
    93102    def setUp(self):
    94103        self.egg_dir = '%s/eggs' % os.path.dirname(__file__)
    95104        self.old_path = sys.path
     
    99108    def tearDown(self):
    100109        sys.path = self.old_path
    101110        sys.path_hooks.pop(0)
     111        sys.path_importer_cache.clear()
    102112
    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')
     113        sys.modules.pop('egg_module.sub1.sub2.bad_module', None)
     114        sys.modules.pop('egg_module.sub1.sub2.good_module', None)
     115        sys.modules.pop('egg_module.sub1.sub2', None)
     116        sys.modules.pop('egg_module.sub1', None)
     117        sys.modules.pop('egg_module.bad_module', None)
     118        sys.modules.pop('egg_module.good_module', None)
     119        sys.modules.pop('egg_module', None)
Back to Top