def testFramesFromMp4(self): mock_adb = MockAdbCommands([]) backend = android_platform_backend.AndroidPlatformBackend( mock_adb, False) try: backend.InstallApplication('avconv') finally: if not backend.CanLaunchApplication('avconv'): logging.warning('Test not supported on this platform') return # pylint: disable=W0150 vid = os.path.join(util.GetUnittestDataDir(), 'vid.mp4') expected_timestamps = [ 0, 763, 783, 940, 1715, 1732, 1842, 1926, ] # pylint: disable=W0212 for i, timestamp_bitmap in enumerate(backend._FramesFromMp4(vid)): timestamp, bmp = timestamp_bitmap self.assertEquals(timestamp, expected_timestamps[i]) expected_bitmap = bitmap.Bitmap.FromPngFile( os.path.join(util.GetUnittestDataDir(), 'frame%d.png' % i)) self.assertTrue(expected_bitmap.IsEqual(bmp))
def testGetCpuStatsInvalidPID(self): # Mock an empty /proc/pid/stat. adb_empty_proc_stat = MockAdbCommands([]) backend = android_platform_backend.AndroidPlatformBackend( adb_empty_proc_stat, False) cpu_stats = backend.GetCpuStats('7702') self.assertEquals(cpu_stats, {})
def Create(self): backend = android_browser_backend.AndroidBrowserBackend( self._options, *self._args) platform_backend = android_platform_backend.AndroidPlatformBackend( self._args[0].Adb(), self._options.no_performance_mode) b = browser.Browser(backend, platform_backend) backend.SetBrowser(b) return b
def _InitPlatformIfNeeded(self): if self._platform: return self._platform_backend = android_platform_backend.AndroidPlatformBackend( self._backend_settings.adb.device(), self.finder_options.no_performance_mode) self._platform = platform.Platform(self._platform_backend)
def testPsutil2(self): psutil = self.psutil_2_0() android_platform_backend.psutil = psutil # Mock an empty /proc/pid/stat. backend = android_platform_backend.AndroidPlatformBackend( android_device.AndroidDevice('1234'), self._options) cpu_stats = backend.GetCpuStats('7702') self.assertEquals({}, cpu_stats) self.assertEquals([[0]], psutil.set_cpu_affinity_args)
def Create(self): backend = android_browser_backend.AndroidBrowserBackend( self.finder_options.browser_options, self._backend_settings, self.finder_options.android_rndis, output_profile_path=self.finder_options.output_profile_path, extensions_to_load=self.finder_options.extensions_to_load) platform_backend = android_platform_backend.AndroidPlatformBackend( self._backend_settings.adb.Adb(), self.finder_options.no_performance_mode) b = browser.Browser(backend, platform_backend) return b
def testGetCpuStats(self): proc_stat_content = [ '7702 (.android.chrome) S 167 167 0 0 -1 1077936448 ' '3247 0 0 0 4 1 0 0 20 0 9 0 5603962 337379328 5867 ' '4294967295 1074458624 1074463824 3197495984 3197494152 ' '1074767676 0 4612 0 38136 4294967295 0 0 17 0 0 0 0 0 0 ' '1074470376 1074470912 1102155776'] adb_valid_proc_content = MockAdbCommands(proc_stat_content, {}) backend = android_platform_backend.AndroidPlatformBackend( adb_valid_proc_content, False) cpu_stats = backend.GetCpuStats('7702') self.assertEquals(cpu_stats, {'CpuProcessTime': 5.0})
def Create(self): if profile_types.GetProfileCreator(self.options.profile_type): raise Exception( "Profile creation not currently supported on Android") backend = android_browser_backend.AndroidBrowserBackend( self._options, self._backend_settings) platform_backend = android_platform_backend.AndroidPlatformBackend( self._backend_settings.adb.Adb(), self._options.no_performance_mode) b = browser.Browser(backend, platform_backend) return b
def testGetCpuStats(self): proc_stat_content = ( '7702 (.android.chrome) S 167 167 0 0 -1 1077936448 ' '3247 0 0 0 4 1 0 0 20 0 9 0 5603962 337379328 5867 ' '4294967295 1074458624 1074463824 3197495984 3197494152 ' '1074767676 0 4612 0 38136 4294967295 0 0 17 0 0 0 0 0 0 ' '1074470376 1074470912 1102155776\n') self._stubs.adb_commands.adb_device.mock_content = proc_stat_content self._stubs.adb_commands.adb_device.has_root = True backend = android_platform_backend.AndroidPlatformBackend( android_device.AndroidDevice('12345'), self._options) cpu_stats = backend.GetCpuStats('7702') self.assertEquals(cpu_stats, {'CpuProcessTime': 0.05})
def testGetCpuStats(self): proc_stat_content = [ '7702 (.android.chrome) S 167 167 0 0 -1 1077936448 ' '3247 0 0 0 4 1 0 0 20 0 9 0 5603962 337379328 5867 ' '4294967295 1074458624 1074463824 3197495984 3197494152 ' '1074767676 0 4612 0 38136 4294967295 0 0 17 0 0 0 0 0 0 ' '1074470376 1074470912 1102155776'] self._stubs.adb_commands.adb_device.mock_content = proc_stat_content old_interface = self._stubs.adb_commands.adb_device.old_interface old_interface.can_access_protected_file_contents = True backend = android_platform_backend.AndroidPlatformBackend( android_device.AndroidDevice('12345')) cpu_stats = backend.GetCpuStats('7702') self.assertEquals(cpu_stats, {'CpuProcessTime': 5.0})
def _platform_backend(self): return android_platform_backend.AndroidPlatformBackend( self._backend_settings.adb.Adb(), self.finder_options.no_performance_mode)
def testIsScreenLockedTrue(self): test_input = ['a=b', 'mHasBeenInactive=true'] backend = android_platform_backend.AndroidPlatformBackend( android_device.AndroidDevice('success'), self._options) self.assertTrue(backend._IsScreenLocked(test_input))
def testIsScreenOnmScreenOnTrue(self): test_input = ['a=b', 'mScreenOn=true'] backend = android_platform_backend.AndroidPlatformBackend( android_device.AndroidDevice('success'), self._options) self.assertTrue(backend._IsScreenOn(test_input))
def testInstallTestCaSuccess(self): backend = android_platform_backend.AndroidPlatformBackend( android_device.AndroidDevice('success'), self._options) backend.InstallTestCa() self.assertTrue(backend.is_test_ca_installed)
def testInstallTestCaFailure(self): backend = android_platform_backend.AndroidPlatformBackend( android_device.AndroidDevice('failure'), self._options) backend.InstallTestCa() self.assertFalse(backend.is_test_ca_installed)
def testGetCpuStatsInvalidPID(self): # Mock an empty /proc/pid/stat. backend = android_platform_backend.AndroidPlatformBackend( android_device.AndroidDevice('1234'), self._options) cpu_stats = backend.GetCpuStats('7702') self.assertEquals(cpu_stats, {})
def testIsScreenOnmInteractiveFalse(self): test_input = ['a=b', 'mInteractive=false'] backend = android_platform_backend.AndroidPlatformBackend( android_device.AndroidDevice('success'), self._options) self.assertFalse(backend._IsScreenOn(test_input))