def sanity_check(self): HardwareAndroid.sanity_check(self) if not self._adb.is_root(): return # only issue one shell command in an attempt to minimize interference. result = self._adb.check('''\ cat /sys/class/power_supply/bq27742-0/capacity \ /sys/devices/system/cpu/online \ /sys/class/thermal/thermal_zone7/temp \ /sys/class/thermal/thermal_zone0/temp \ /sys/class/thermal/thermal_zone1/temp \ /sys/class/thermal/thermal_zone7/cdev1/cur_state \ /sys/class/thermal/thermal_zone7/cdev0/cur_state for N in 0 1 2; do cat /sys/devices/system/cpu/cpu$N/cpufreq/scaling_cur_freq done cat /sys/devices/57000000.gpu/pstate | grep \*$''') expectations = \ [Expectation(int, min_value=30, name='battery', sleeptime=30*60), Expectation(str, exact_value='0-2', name='online cpus'), Expectation(int, max_value=40000, name='skin temperature'), Expectation(int, max_value=86000, name='cpu temperature'), Expectation(int, max_value=87000, name='gpu temperature'), Expectation(int, exact_value=0, name='cpu throttle'), Expectation(int, exact_value=0, name='gpu throttle')] + \ [Expectation(int, exact_value=CPU_CLOCK_RATE, name='cpu_%i clock rate' % i, sleeptime=30) for i in (0, 1, 2)] + \ [Expectation(str, exact_value=GPU_EMC_PROFILE, name='gpu/emc profile')] Expectation.check_all(expectations, result.splitlines())
def sanity_check(self): HardwareAndroid.sanity_check(self) if not self._adb.is_root(): return result = self._adb.check(' '.join( ['cat', '/sys/class/power_supply/battery/capacity', '/sys/devices/system/cpu/online'] + \ ['/sys/devices/system/cpu/cpu%i/cpufreq/scaling_cur_freq' % i for i in range(2, 4)] + \ ['/sys/kernel/debug/clk/bimc_clk/measure', '/sys/class/thermal/thermal_zone22/temp', '/sys/class/thermal/thermal_zone23/temp'])) expectations = \ [Expectation(int, min_value=30, name='battery', sleeptime=30*60), Expectation(str, exact_value='2-3', name='online cpus')] + \ [Expectation(int, exact_value=CPU_CLOCK_RATE, name='cpu_%i clock rate' %i) for i in range(2, 4)] + \ [Expectation(long, min_value=902390000, max_value=902409999, name='measured ddr clock', sleeptime=10), Expectation(int, max_value=41000, name='pm8994_tz temperature'), Expectation(int, max_value=40, name='msm_therm temperature')] Expectation.check_all(expectations, result.splitlines())
def sanity_check(self): HardwareAndroid.sanity_check(self) if not self._adb.is_root(): return result = self._adb.check('''\ cat /sys/class/power_supply/battery/capacity \ /sys/devices/system/cpu/online \ /sys/class/thermal/thermal_zone14/temp \ /sys/class/thermal/thermal_zone15/temp \ /sys/kernel/debug/clk/oxili_gfx3d_clk/measure \ /sys/kernel/debug/clk/bimc_clk/measure for N in 4 5 6; do cat /sys/devices/system/cpu/cpu$N/cpufreq/scaling_cur_freq done''') expectations = \ [Expectation(int, min_value=30, name='battery', sleeptime=30*60), Expectation(str, exact_value='4-6', name='online cpus'), Expectation(int, max_value=88, name='tsens_tz_sensor13'), Expectation(int, max_value=88, name='tsens_tz_sensor14'), Expectation(long, min_value=(GPU_CLOCK_RATE - 5000), max_value=(GPU_CLOCK_RATE + 5000), name='gpu clock rate'), Expectation(long, min_value=647995000, max_value=648007500, name='ddr clock rate', sleeptime=10)] + \ [Expectation(int, exact_value=CPU_CLOCK_RATE, name='cpu_%i clock rate' %i) for i in range(4, 7)] Expectation.check_all(expectations, result.splitlines())
def sanity_check(self): HardwareAndroid.sanity_check(self) if not self._is_root: return # only issue one shell command in an attempt to minimize interference. result = self._adb.check_lines('''\ cat /sys/class/power_supply/bq27742-0/capacity \ /sys/class/thermal/thermal_zone7/temp \ /sys/class/thermal/thermal_zone0/temp \ /sys/class/thermal/thermal_zone1/temp \ /sys/class/thermal/thermal_zone7/cdev1/cur_state \ /sys/class/thermal/thermal_zone7/cdev0/cur_state for N in $(seq 0 3); do cat /sys/devices/system/cpu/cpu$N/cpufreq/scaling_cur_freq done cat /sys/devices/57000000.gpu/pstate | grep \*$''') expectations = \ [Expectation(int, min_value=30, name='battery', sleeptime=30*60), Expectation(int, max_value=40000, name='skin temperature'), Expectation(int, max_value=86000, name='cpu temperature'), Expectation(int, max_value=87000, name='gpu temperature'), Expectation(int, exact_value=0, name='cpu throttle'), Expectation(int, exact_value=0, name='gpu throttle')] + \ [Expectation(int, exact_value=CPU_CLOCK_RATE, name='cpu_%i clock rate' % i, sleeptime=30) for i in range(4)] + \ [Expectation(str, exact_value=GPU_EMC_PROFILE, name='gpu/emc profile')] Expectation.check_all(expectations, result)
def sanity_check(self): HardwareAndroid.sanity_check(self) if not self._is_root: return result = self._adb.check_lines('''\ cat /sys/class/power_supply/battery/capacity \ /sys/devices/system/cpu/online \ /sys/class/thermal/thermal_zone14/temp \ /sys/class/thermal/thermal_zone15/temp \ /sys/kernel/debug/clk/oxili_gfx3d_clk/measure \ /sys/kernel/debug/clk/bimc_clk/measure for N in 4 5 6; do cat /sys/devices/system/cpu/cpu$N/cpufreq/scaling_cur_freq done''') expectations = \ [Expectation(int, min_value=30, name='battery', sleeptime=30*60), Expectation(str, exact_value='4-6', name='online cpus'), Expectation(int, max_value=88, name='tsens_tz_sensor13'), Expectation(int, max_value=88, name='tsens_tz_sensor14'), Expectation(long, min_value=(GPU_CLOCK_RATE - 5000), max_value=(GPU_CLOCK_RATE + 5000), name='gpu clock rate'), Expectation(long, min_value=647995000, max_value=648007500, name='ddr clock rate', sleeptime=10)] + \ [Expectation(int, exact_value=CPU_CLOCK_RATE, name='cpu_%i clock rate' %i) for i in range(4, 7)] Expectation.check_all(expectations, result)
def sanity_check(self): HardwareAndroid.sanity_check(self) if not self._adb.is_root(): return result = self._adb.check(' '.join( ['cat', '/sys/class/power_supply/battery/capacity', '/sys/devices/system/cpu/online'] + \ ['/sys/devices/system/cpu/cpu%i/cpufreq/scaling_cur_freq' % i for i in range(4, 7)] + \ # Unfortunately we can't monitor the gpu clock: # # /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq # # It doesn't respect the min_freq/max_freq values when not under load. ['/sys/kernel/debug/clk/bimc_clk/measure', '/sys/class/kgsl/kgsl-3d0/temp', '/sys/class/kgsl/kgsl-3d0/throttling', '/sys/class/thermal/thermal_zone10/temp', '/sys/class/thermal/thermal_zone7/temp'])) expectations = \ [Expectation(int, min_value=30, name='battery', sleeptime=30*60), Expectation(str, exact_value='4-6', name='online cpus')] + \ [Expectation(int, exact_value=CPU_CLOCK_RATE, name='cpu_%i clock rate' %i) for i in range(4, 7)] + \ [Expectation(long, min_value=902390000, max_value=902409999, name='measured ddr clock', sleeptime=10), Expectation(int, max_value=750, name='gpu temperature'), Expectation(int, exact_value=1, name='gpu throttling'), Expectation(int, max_value=75, name='msm_therm temperature'), Expectation(int, max_value=75000, name='pm8998_tz temperature')] Expectation.check_all(expectations, result.splitlines())