| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -5,14 +5,13 @@ import time | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import unittest | 
					 | 
					 | 
					 | 
					import unittest | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import selfdrive.manager.manager as manager | 
					 | 
					 | 
					 | 
					import selfdrive.manager.manager as manager | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from system.hardware import AGNOS, HARDWARE | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from selfdrive.manager.process import DaemonProcess | 
					 | 
					 | 
					 | 
					from selfdrive.manager.process import DaemonProcess | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					from selfdrive.manager.process_config import managed_processes | 
					 | 
					 | 
					 | 
					from selfdrive.manager.process_config import managed_processes | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					from system.hardware import AGNOS, HARDWARE | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					os.environ['FAKEUPLOAD'] = "1" | 
					 | 
					 | 
					 | 
					os.environ['FAKEUPLOAD'] = "1" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					# TODO: make eon fast | 
					 | 
					 | 
					 | 
					MAX_STARTUP_TIME = 3 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					MAX_STARTUP_TIME = 15 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					ALL_PROCESSES = [p.name for p in managed_processes.values() if (type(p) is not DaemonProcess) and p.enabled and (p.name not in ['updated', 'pandad'])] | 
					 | 
					 | 
					 | 
					ALL_PROCESSES = [p.name for p in managed_processes.values() if (type(p) is not DaemonProcess) and p.enabled and (p.name not in ['updated', 'pandad'])] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -54,9 +53,6 @@ class TestManager(unittest.TestCase): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        # TODO: make Qt UI exit gracefully | 
					 | 
					 | 
					 | 
					        # TODO: make Qt UI exit gracefully | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        continue | 
					 | 
					 | 
					 | 
					        continue | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      # Make sure the process is actually dead | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      managed_processes[p].stop() | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      # TODO: interrupted blocking read exits with 1 in cereal. use a more unique return code | 
					 | 
					 | 
					 | 
					      # TODO: interrupted blocking read exits with 1 in cereal. use a more unique return code | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      exit_codes = [0, 1] | 
					 | 
					 | 
					 | 
					      exit_codes = [0, 1] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      if managed_processes[p].sigkill: | 
					 | 
					 | 
					 | 
					      if managed_processes[p].sigkill: | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |