| 
					
				 | 
			
			
				@@ -2,9 +2,15 @@ from __future__ import absolute_import 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import sys 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from celery.utils.serialization import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    UnpickleableExceptionWrapper, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    get_pickleable_etype, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from celery.tests.utils import Case, mask_modules 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class test_AAPickle(Case): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def test_no_cpickle(self): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -16,3 +22,22 @@ class test_AAPickle(Case): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 self.assertIs(pickle.dumps, orig_pickle.dumps) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         finally: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             sys.modules['celery.utils.serialization'] = prev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class test_UnpickleExceptionWrapper(Case): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def test_init(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        x = UnpickleableExceptionWrapper('foo', 'Bar', [10, lambda x: x]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertTrue(x.exc_args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertEqual(len(x.exc_args), 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class test_get_pickleable_etype(Case): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def test_get_pickleable_etype(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class Unpickleable(Exception): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            def __reduce__(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                raise ValueError('foo') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertIs(get_pickleable_etype(Unpickleable), Exception) 
			 |