| 2761 | return _load(spec) |
| 2762 | |
| 2763 | def load(self, name): |
| 2764 | try: |
| 2765 | already_loaded = self.already_loaded |
| 2766 | except AttributeError: |
| 2767 | already_loaded = self.already_loaded = {} |
| 2768 | assert name not in already_loaded |
| 2769 | mod = self._load_dynamic(name, self.ORIGIN) |
| 2770 | self.assertNotIn(mod, already_loaded.values()) |
| 2771 | already_loaded[name] = mod |
| 2772 | return types.SimpleNamespace( |
| 2773 | name=name, |
| 2774 | module=mod, |
| 2775 | snapshot=TestSinglePhaseSnapshot.from_module(mod), |
| 2776 | ) |
| 2777 | |
| 2778 | def re_load(self, name, mod): |
| 2779 | assert sys.modules[name] is mod |