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
Example #5
0
 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
Example #6
0
  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))
Example #8
0
    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))