mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Fixed #34209 -- Prevented FileBasedCache.has_key() crash caused by a race condition.
This commit is contained in:
		
				
					committed by
					
						 Mariusz Felisiak
						Mariusz Felisiak
					
				
			
			
				
	
			
			
			
						parent
						
							1d0fa848e0
						
					
				
				
					commit
					32268456d6
				
			
							
								
								
									
										6
									
								
								tests/cache/tests.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								tests/cache/tests.py
									
									
									
									
										vendored
									
									
								
							| @@ -1762,6 +1762,12 @@ class FileBasedCacheTests(BaseCacheTests, TestCase): | ||||
|         with open(cache_file, "rb") as fh: | ||||
|             self.assertIs(cache._is_expired(fh), True) | ||||
|  | ||||
|     def test_has_key_race_handling(self): | ||||
|         self.assertIs(cache.add("key", "value"), True) | ||||
|         with mock.patch("builtins.open", side_effect=FileNotFoundError) as mocked_open: | ||||
|             self.assertIs(cache.has_key("key"), False) | ||||
|             mocked_open.assert_called_once() | ||||
|  | ||||
|  | ||||
| @unittest.skipUnless(RedisCache_params, "Redis backend not configured") | ||||
| @override_settings( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user