mirror of
				https://github.com/ARM-software/workload-automation.git
				synced 2025-10-27 13:14:06 +00:00 
			
		
		
		
	applaunch creates and deploys an auxilary script in order to collect precise timings. This script invoked busybox with the assumption that it is in PATH. Since recent changes mean that it is no longer deployed to /system/bin, the busybox in not found. With this commit, the full path to busybox will be passed into the script's template.
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #!{{ device.binaries_directory.rstrip('/') }}/sh
 | |
| 
 | |
| 
 | |
| {% for sensor in sensors %}
 | |
| GET_{{ sensor.label }}="cat {{ sensor.filepath }}"
 | |
| {% endfor %}
 | |
| 
 | |
| LAUNCH_COMMAND="am start -W -n {{ package }}/{{ activity }} {{ options }}"
 | |
| STOP_COMMAND="am force-stop {{ package }}"
 | |
| TEMP_FILE=tmp.txt
 | |
| 
 | |
| TIME_RESULT=""
 | |
| {% for sensor in sensors %}
 | |
| {{ sensor.label }}=""
 | |
| {% endfor %}
 | |
| 
 | |
| cd {{ device.working_directory }}
 | |
| 
 | |
| # esc esc down down down ENTER (this should bring up the apps menu)
 | |
| input keyevent 111
 | |
| sleep 1
 | |
| input keyevent 111
 | |
| sleep 1
 | |
| input keyevent 20
 | |
| sleep 1
 | |
| input keyevent 20
 | |
| sleep 1
 | |
| input keyevent 20
 | |
| sleep 1
 | |
| input keyevent 66
 | |
| sleep 1
 | |
| 
 | |
| # Warm up caches.
 | |
| $LAUNCH_COMMAND
 | |
| $STOP_COMMAND
 | |
| $LAUNCH_COMMAND
 | |
| $STOP_COMMAND
 | |
| $LAUNCH_COMMAND
 | |
| $STOP_COMMAND
 | |
| 
 | |
| {% if io_scheduler != None %}
 | |
| echo {{ io_scheduler }} > /sys/block/mmcblk0/queue/scheduler
 | |
| {% endif %}
 | |
| 
 | |
| for i in $({{ busybox }} seq 1 {{ iterations }})
 | |
| do
 | |
|     {% for sensor in sensors %}
 | |
|     {{ sensor.label }}="${{ sensor.label }} `$GET_{{ sensor.label }}`"
 | |
|     {% endfor %}
 | |
| 
 | |
|     {% if io_stress %}
 | |
|     # Drop caches to get a cold start.
 | |
|     sync; echo 3 > /proc/sys/vm/drop_caches
 | |
|     # Run IO stress during App launch.
 | |
|     {{ busybox }} dd if=/dev/zero of=write.img bs=1048576 count=2000 conv=fsync > dd_write.txt 2>&1 &
 | |
|     io_write=$!
 | |
|     {{ busybox }} dd if=/dev/block/mmcblk0 of=/dev/null bs=1048576 > dd_read.txt 2>&1 &
 | |
|     io_read=$!
 | |
|     {% endif %}
 | |
| 
 | |
|     $LAUNCH_COMMAND > $TEMP_FILE
 | |
|     
 | |
|     {% for sensor in sensors %}
 | |
|     {{ sensor.label }}="${{ sensor.label }} `$GET_{{ sensor.label }}`"
 | |
|     {% endfor %}
 | |
| 
 | |
|     TIME=`{{ busybox }} awk '{if($1~"TotalTime") print $2}' $TEMP_FILE`
 | |
|     TIME_RESULT="$TIME_RESULT $TIME"
 | |
|     {% if cleanup %}
 | |
|     rm $TEMP_FILE
 | |
|     {% if io_stress %}
 | |
|     kill $io_write
 | |
|     kill $io_read
 | |
|     rm -f write.img
 | |
|     {% endif %}
 | |
|     {% endif %}
 | |
| 
 | |
|     $STOP_COMMAND
 | |
|     sleep 2
 | |
| done
 | |
| 
 | |
| {% for sensor in sensors %}
 | |
| echo ${{ sensor.label }} > {{ sensor.label }}.result
 | |
| {% endfor %}
 | |
| echo $TIME_RESULT > time.result
 | |
| # esc esc down down down ENTER (this should bring up the apps menu)
 | |
| input keyevent 111
 | |
| sleep 1
 |