def testCreateAndRemoveTraceConfigFileOnAndroid(self): platform_backend = FakeAndroidPlatformBackend() agent = chrome_tracing_agent.ChromeTracingAgent(platform_backend) self.assertIsNone(agent.trace_config_file) config = tracing_config.TracingConfig() agent._CreateTraceConfigFile(config) self.assertIsNotNone(agent.trace_config_file) self.assertTrue( platform_backend.presentation.device.PathExists( agent.trace_config_file)) config_file_str = platform_backend.presentation.device.ReadFile( agent.trace_config_file, as_root=True) self.assertEqual(agent._CreateTraceConfigFileString(config), config_file_str.strip()) config_file_path = agent.trace_config_file agent._RemoveTraceConfigFile() self.assertFalse( platform_backend.presentation.device.PathExists(config_file_path)) self.assertIsNone(agent.trace_config_file) # robust to multiple file removal agent._RemoveTraceConfigFile() self.assertFalse( platform_backend.presentation.device.PathExists(config_file_path)) self.assertIsNone(agent.trace_config_file)
def testCreateAndRemoveTraceConfigFileOnDesktop(self): platform_backend = FakeDesktopPlatformBackend() agent = chrome_tracing_agent.ChromeTracingAgent(platform_backend) self.assertIsNone(agent.trace_config_file) config = tracing_config.TracingConfig( tracing_options.TracingOptions(), tracing_category_filter.TracingCategoryFilter()) agent._CreateTraceConfigFile(config) self.assertIsNotNone(agent.trace_config_file) self.assertTrue(os.path.exists(agent.trace_config_file)) self.assertTrue(os.stat(agent.trace_config_file).st_mode & stat.S_IROTH) with open(agent.trace_config_file, 'r') as f: config_file_str = f.read() self.assertEqual(agent._CreateTraceConfigFileString(config), config_file_str.strip()) config_file_path = agent.trace_config_file agent._RemoveTraceConfigFile() self.assertFalse(os.path.exists(config_file_path)) self.assertIsNone(agent.trace_config_file) # robust to multiple file removal agent._RemoveTraceConfigFile() self.assertFalse(os.path.exists(config_file_path)) self.assertIsNone(agent.trace_config_file)
def StartTracing(self, platform_backend, enable_chrome_trace=True): assert chrome_tracing_agent.ChromeTracingAgent.IsSupported( platform_backend) agent = chrome_tracing_agent.ChromeTracingAgent(platform_backend) trace_options = FakeTraceOptions() trace_options.enable_chrome_trace = enable_chrome_trace agent.Start(trace_options, FakeCategoryFilter(), 10) return agent
def StartTracing(self, platform_backend, enable_chrome_trace=True): assert chrome_tracing_agent.ChromeTracingAgent.IsSupported(platform_backend) agent = chrome_tracing_agent.ChromeTracingAgent(platform_backend) trace_options = tracing_options.TracingOptions() trace_options.enable_chrome_trace = enable_chrome_trace category_filter = tracing_category_filter.TracingCategoryFilter('foo') agent._platform_backend.tracing_controller_backend.is_tracing_running = True agent.Start(trace_options, category_filter, 10) return agent
def StartTracing(self, platform_backend, enable_chrome_trace=True): assert chrome_tracing_agent.ChromeTracingAgent.IsSupported( platform_backend) agent = chrome_tracing_agent.ChromeTracingAgent(platform_backend) config = tracing_config.TracingConfig() config.tracing_category_filter.AddIncludedCategory('foo') config.enable_chrome_trace = enable_chrome_trace agent._platform_backend.tracing_controller_backend.is_tracing_running = True agent.StartAgentTracing(config, 10) return agent
def StartTracing(self, platform_backend, enable_chrome_trace=True, throw_exception=False): config = tracing_config.TracingConfig() config.enable_chrome_trace = enable_chrome_trace config.chrome_trace_config.category_filter.AddIncludedCategory('foo') agent = chrome_tracing_agent.ChromeTracingAgent(platform_backend, config) if throw_exception: agent._trace_config = True agent._platform_backend.tracing_controller_backend.is_tracing_running = True agent._test_config = config agent._transfer_mode = 'ReturnAsStream' with mock.patch(_CHROME_TRACING_AGENT_IMPORT_PATH + '._StartStartupTracing', return_value=True): agent.StartAgentTracing(config, 10) return agent
def CreateAndRemoveTraceConfigFileOnDesktop(self, platform_backend): agent = chrome_tracing_agent.ChromeTracingAgent(platform_backend) config = tracing_config.TracingConfig( tracing_options.TracingOptions(), tracing_category_filter.TracingCategoryFilter()) config_file_path = os.path.join( chrome_tracing_agent._CHROME_TRACE_CONFIG_DIR_DESKTOP, chrome_tracing_agent._CHROME_TRACE_CONFIG_FILE_NAME) agent._CreateTraceConfigFileOnDesktop(config) self.assertTrue(os.path.exists(config_file_path)) with open(config_file_path, 'r') as f: config_file_str = f.read() self.assertEqual(config.GetTraceConfigJsonString(), config_file_str.strip()) agent._RemoveTraceConfigFileOnDesktop() self.assertFalse(os.path.exists(config_file_path)) # robust to multiple file removal agent._RemoveTraceConfigFileOnDesktop() self.assertFalse(os.path.exists(config_file_path))
def testCreateAndRemoveTraceConfigFileOnCrOS(self): platform_backend = FakeCrOSPlatformBackend() cri = platform_backend.cri agent = chrome_tracing_agent.ChromeTracingAgent(platform_backend) self.assertIsNone(agent.trace_config_file) config = tracing_config.TracingConfig() agent._CreateTraceConfigFile(config) self.assertIsNotNone(agent.trace_config_file) self.assertTrue(cri.FileExistsOnDevice(agent.trace_config_file)) config_file_str = cri.GetFileContents(agent.trace_config_file) self.assertEqual(agent._CreateTraceConfigFileString(config), config_file_str.strip()) config_file_path = agent.trace_config_file agent._RemoveTraceConfigFile() self.assertFalse(cri.FileExistsOnDevice(config_file_path)) self.assertIsNone(agent.trace_config_file) # robust to multiple file removal agent._RemoveTraceConfigFile() self.assertFalse(cri.FileExistsOnDevice(config_file_path)) self.assertIsNone(agent.trace_config_file)
def testCreateAndRemoveTraceConfigFileOnAndroid(self): platform_backend = FakeAndroidPlatformBackend() agent = chrome_tracing_agent.ChromeTracingAgent(platform_backend) config = tracing_config.TracingConfig( tracing_options.TracingOptions(), tracing_category_filter.TracingCategoryFilter()) config_file_path = os.path.join( chrome_tracing_agent._CHROME_TRACE_CONFIG_DIR_ANDROID, chrome_tracing_agent._CHROME_TRACE_CONFIG_FILE_NAME) agent._CreateTraceConfigFileOnAndroid(config) config_file_str = platform_backend.device.ReadFile(config_file_path, as_root=True) self.assertTrue(platform_backend.device.PathExists(config_file_path)) self.assertEqual(config.GetTraceConfigJsonString(), config_file_str.strip()) agent._RemoveTraceConfigFileOnAndroid() self.assertFalse(platform_backend.device.PathExists(config_file_path)) # robust to multiple file removal agent._RemoveTraceConfigFileOnAndroid() self.assertFalse(platform_backend.device.PathExists(config_file_path))