17 lines
		
	
	
		
			618 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			17 lines
		
	
	
		
			618 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import unittest | ||
|  | 
 | ||
|  | from worlds.AutoWorld import AutoWorldRegister | ||
|  | from . import setup_solo_multiworld | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestWorldMemory(unittest.TestCase): | ||
|  |     def test_leak(self): | ||
|  |         """Tests that worlds don't leak references to MultiWorld or themselves with default options.""" | ||
|  |         import gc | ||
|  |         import weakref | ||
|  |         for game_name, world_type in AutoWorldRegister.world_types.items(): | ||
|  |             with self.subTest("Game", game_name=game_name): | ||
|  |                 weak = weakref.ref(setup_solo_multiworld(world_type)) | ||
|  |                 gc.collect() | ||
|  |                 self.assertFalse(weak(), "World leaked a reference") |