@ -44,6 +44,11 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  $path  =  string  =  ` echo $PATH  ` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  def  print_debug ( msg ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      message  =  " [INFO]   #{ msg } \n " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  message 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  # method called before any test case 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  def  setup 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -72,16 +77,19 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      options [ :startup ]  =  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      opts . on (  '-s' ,  '--startup MILLISECONDS' ,  'Time limit in milliseconds. Slower startup will make test to fail.'  )  do | milliseconds | 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        options [ :startup ]  =  milliseconds . to_i 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " The Startup limit is :  #{ options [ :startup ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      options [ :appCache ]  =  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      opts . on (  '-t' ,  '--appCache MILLISECONDS' ,  'Time limit in milliseconds for application from cache.'  )  do | milliseconds | 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        options [ :appCache ]  =  milliseconds . to_i 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " The limit for MApplication from cache is :  #{ options [ :appCache ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      options [ :winCache ]  =  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      opts . on (  '-w' ,  '--winCache MILLISECONDS' ,  'Time limit in milliseconds for window from cache.'  )  do | milliseconds | 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        options [ :winCache ]  =  milliseconds . to_i 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " The limit for MApplicationWindow from cache is :  #{ options [ :winCache ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      options [ :pre_step ]  =  nil 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -101,33 +109,39 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :application ]  ==  nil  &&   @options [ :command ]  ==  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  " Application not defined! "  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " Application not defined! " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      exit  1 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :binary ]  ==  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  " Binary of the application not defined! "  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " Binary of the application not defined! " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      exit  1 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :command ]  !=  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  " #{ @options [ :command ] } "  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " The command to launch is  #{ @options [ :command ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :pre_step ]  !=  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  " #{ @options [ :pre_step ] } "  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " The Pre-steps is : #{ @options [ :pre_step ] } "  ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  $path . include? ( " scratchbox " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  " Inside SB, Do Nothing to unlock " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " Inside SB, Do Nothing to unlock " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    else 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " Unlocking device " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " mcetool --set-tklock-mode=unlocked " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " mcetool --set-inhibit-mode=stay-on " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end         
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug ( " restart mthome " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    system ( " initctl restart xsession/mthome " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug ( " move  #{ MATTI_LOCATION }  to  #{ TEMPORARY_MATTI_LOCATION } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    system  " mv  #{ MATTI_LOCATION }   #{ TEMPORARY_MATTI_LOCATION } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug ( " restart applauncherd " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    system ( " initctl restart xsession/applauncherd " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    sleep ( 10 ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  end 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -136,9 +150,12 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  # method called after any test case for cleanup purposes 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  def  teardown 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    puts  " exit from teardown " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " exit from teardown " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug ( " move  #{ TEMPORARY_MATTI_LOCATION }  to  #{ MATTI_LOCATION } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    system  " mv  #{ TEMPORARY_MATTI_LOCATION }   #{ MATTI_LOCATION } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :application ]  !=  nil      
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " restart mthome " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system ( " initctl restart xsession/mthome " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      sleep ( 10 ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -148,52 +165,61 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    #Remove the Log file if it exists 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  FileTest . exists? ( PIXELCHANGED_LOG ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " remove  #{ PIXELCHANGED_LOG } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " rm  #{ PIXELCHANGED_LOG } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  FileTest . exists? ( TESTAPP_LOG ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " remove  #{ TESTAPP_LOG } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " rm  #{ TESTAPP_LOG } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # Kill the binary if alive 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug ( " Kill  #{ @options [ :binary ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    system  " pkill  #{ @options [ :binary ] } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    sleep ( 2 ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :command ]  !=  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      # execute the optional command if available 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      if  @options [ :pre_step ]  !=  nil  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        puts  " pre_step:  #{ @options [ :pre_step ] } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        print_debug  ( " pre_step:  #{ @options [ :pre_step ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        system  " #{ @options [ :pre_step ] } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      # Check the avarage system load is under 0.3 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " Check the avarage system load is under 0.3 " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " /usr/bin/waitloadavg.rb -l 0.3 -p 1.0 -t 100 -d " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      start_command  = " ` #{ PIXELCHANGED_BINARY }  -t 20x20 -t 840x466 -q >>  #{ PIXELCHANGED_LOG }  &`;  #{ FALA_GETTIME_BINARY }   \" Started from command line \"  >>   #{ PIXELCHANGED_LOG } ;  #{ @options [ :command ] }  & " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  " start command:  #{ start_command } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " start command:  #{ start_command } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " #{ start_command } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      sleep  ( 4 ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  " pkill  \" #{ @options [ :binary ] } \" " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " pkill  #{ @options [ :binary ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " pkill  \" #{ @options [ :binary ] } \" " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    else 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     # execute the optional command if available 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      if  @options [ :pre_step ]  !=  nil  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        puts  " pre_step:  #{ @options [ :pre_step ] } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        print_debug  ( " pre_step:  #{ @options [ :pre_step ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        system  " #{ @options [ :pre_step ] } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      @pos  =  ` #{ GET_COORDINATES_SCRIPT }  -a  #{ @options [ :application ] } ` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  " original:  #{ @pos } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      @pos  =  @pos . split ( " \n " ) [ - 1 ] 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " Co-ordinates:  #{ @pos } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " Check the avarage system load is under 0.3 " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " /usr/bin/waitloadavg.rb -l 0.3 -p 1.0 -t 50 -d " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      cmd  =  " #{ PIXELCHANGED_BINARY }  -c  #{ @pos }  -t 20x20 -t 840x466 -f  #{ PIXELCHANGED_LOG }  -q " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      puts  cmd 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " pixel changed command is :  #{ cmd } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  cmd 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      sleep  ( 4 ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      # Raise meegotouchhome to the top. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      #Workaround for keeping the window stack in shape. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " #{ GET_COORDINATES_SCRIPT }  -g " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " #{ GET_COORDINATES_SCRIPT }  -g " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " pkill : #{ @options [ :binary ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system  " pkill  #{ @options [ :binary ] } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -201,21 +227,22 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  def  read_file ( appName ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    #Reading the log file to get the time 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    lines  =  File . open ( PIXELCHANGED_LOG ) . readlines ( ) . collect  {  | x |  x . split ( "   " ) [ 0 ] . to_i  } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    lines_app  =  File . open ( TESTAPP_LOG ) . readlines ( ) . collect  {  | x |  x . split ( "   " ) [ 0 ] . to_i  } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    #app_from_cache value 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    @app_from_cache  =  lines_app [ 2 ]  -  lines_app [ 1 ]    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    puts  " App from cache  #{ @app_from_cache } \n " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    @win_from_cache  =  lines_app [ 3 ]  -  lines_app [ 2 ]    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    puts  " Window from cache  #{ @win_from_cache } \n " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    @app_from_cache  =  lines_app [ 1 ]  -  lines_app [ 0 ]    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " App from cache  #{ @app_from_cache } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    @win_from_cache  =  lines_app [ 2 ]  -  lines_app [ 1 ]    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " Window from cache  #{ @win_from_cache } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # First line tells when the button is released 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    @start_time  =  lines [ 0 ] 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    puts  " Started  : #{ lines [ 0 ] } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " Started at   : #{ lines [ 0 ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    # Second one when the first pixel has changed its color 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    @end_time  =  lines [ 1 ] 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    puts  " Pixel changed:  #{ lines [ 1 ] } " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " Pixel changed:  #{ lines [ 1 ] } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    return  @app_from_cache ,  @win_from_cache 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -223,6 +250,7 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  def  measure_time 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    #Measuring the Startup Time for applications 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    app_t  =  @end_time  -  @start_time 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " Startup time :  #{ app_t } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    return  app_t 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -234,7 +262,9 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    win_cache_sum  =  0  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    #Run Application with invoker 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    for  i  in  1 .. COUNT 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print  " Now Launching   #{ @options [ :application ] }  %d times \n "  % i 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " Now Launching   #{ @options [ :application ] }   #{ i }  times "  ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " Kill  #{ PIXELCHANGED_BINARY }  if any before launching  " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      system ( " pkill  #{ PIXELCHANGED_BINARY } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      open_Apps ( @options [ :application ] ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      sleep  ( 5 ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      list . push ( read_file ( @options [ :application ] ) ) 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -242,10 +272,10 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print  " \n \n Startup time in milliseconds \n " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print  " Application:  #{ @options [ :application ] }   \n " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " Startup time in milliseconds \n " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " Application:  #{ @options [ :application ] }   \n " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :startup ]  !=  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print  " Time startup:  #{ @options [ :startup ] }   \n " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug  ( " Time startup:  #{ @options [ :startup ] }   " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    #Printing the data 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -255,22 +285,22 @@ class TC_PerformanceTests < Test::Unit::TestCase
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      app_cache_sum  =  app_cache_sum  +  list [ i ] [ 0 ] 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      win_cache_sum  =  win_cache_sum  +  list [ i ] [ 1 ] 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print  " \n Average:  \n " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print  " %d \n "  %[ wLsum/COUNT ] 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print  " \n Average: Application from cache  \n " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print  " %d \n "  %[ app_cache_sum/COUNT ] 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print  " \n Average: Window from cache  \n " 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print  " %d \n "  %[ win_cache_sum/COUNT ] 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " Average Startup :  #{ wLsum / COUNT } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " MAppliacation from cache:  #{ app_cache_sum / COUNT } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    print_debug  ( " MApplicationWindow from cache  #{ win_cache_sum / COUNT } " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :startup ]  !=  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " Check that startup time is less than  #{ @options [ :startup ] }  ms " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      assert ( ( wLsum / COUNT )  <  @options [ :startup ] ,  " Application:  #{ @options [ :application ] }  avarage startup was slower than  #{ @options [ :startup ] }  ms " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :appCache ]  !=  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " Check that MApplication from cache takes less than  #{ @options [ :appCache ] }  ms " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      assert ( ( app_cache_sum / COUNT )  <  @options [ :appCache ] ,  " Application:  #{ @options [ :application ] }  avarage app-cache was slower than  #{ @options [ :appCache ] }  ms " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  @options [ :winCache ]  !=  nil 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      print_debug ( " Check that MApplicationWindow from cache takes less than  #{ @options [ :winCache ] }  ms " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      assert ( ( win_cache_sum / COUNT )  <  @options [ :winCache ] ,  " Application:  #{ @options [ :application ] }  avarage window-cache was slower than  #{ @options [ :winCache ] }  ms " ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    end