Esempio n. 1
0
  def PerformStage(self):
    """Generate debug symbols and upload debug.tgz."""
    buildroot = self._build_root
    board = self._current_board

    # Generate breakpad symbols of Chrome OS binaries.
    commands.GenerateBreakpadSymbols(buildroot, board, self._run.debug)

    # Generate breakpad symbols of Android binaries if we have a symbol archive.
    # This archive is created by AndroidDebugSymbolsStage in Android PFQ.
    # This must be done after GenerateBreakpadSymbols because it clobbers the
    # output directory.
    symbols_file = os.path.join(self.archive_path,
                                constants.ANDROID_SYMBOLS_FILE)
    if os.path.exists(symbols_file):
      commands.GenerateAndroidBreakpadSymbols(buildroot, board, symbols_file)

    self.board_runattrs.SetParallel('breakpad_symbols_generated', True)

    # Upload them.
    self.UploadDebugTarball()

    # Upload debug/breakpad tarball.
    self.UploadDebugBreakpadTarball()

    # Upload them to crash server.
    if self._run.config.upload_symbols:
      self.UploadSymbols(buildroot, board)
Esempio n. 2
0
  def PerformStage(self):
    """Generate debug symbols and upload debug.tgz."""
    buildroot = self._build_root
    board = self._current_board

    commands.GenerateBreakpadSymbols(buildroot, board, self._run.debug)
    self.board_runattrs.SetParallel('breakpad_symbols_generated', True)

    steps = [self.UploadDebugTarball]
    failed_list = os.path.join(self.archive_path, 'failed_upload_symbols.list')
    if self._run.config.upload_symbols:
      steps.append(lambda: self.UploadSymbols(buildroot, board, failed_list))

    parallel.RunParallelSteps(steps)
Esempio n. 3
0
    def PerformStage(self):
        """Generate debug symbols and upload debug.tgz."""
        buildroot = self._build_root
        board = self._current_board

        # Create breakpad symbols.
        commands.GenerateBreakpadSymbols(buildroot, board, self._run.debug)
        self.board_runattrs.SetParallel('breakpad_symbols_generated', True)

        # Upload them.
        self.UploadDebugTarball()

        # Upload them to crash server.
        if self._run.config.upload_symbols:
            self.UploadSymbols(buildroot, board)
    def PerformStage(self):
        """Generate debug symbols and upload debug.tgz."""
        buildroot = self._build_root
        board = self._current_board

        # Generate breakpad symbols of Chrome OS binaries.
        commands.GenerateBreakpadSymbols(buildroot,
                                         board,
                                         self._run.options.debug_forced,
                                         chroot_args=ChrootArgs(
                                             self._run.options),
                                         extra_env=self._portage_extra_env)

        # Download android symbols (if this build has them), and Generate
        # breakpad symbols of Android binaries. This must be done after
        # GenerateBreakpadSymbols because it clobbers the output
        # directory.
        symbols_file = self.DownloadAndroidSymbols()

        if symbols_file:
            try:
                commands.GenerateAndroidBreakpadSymbols(
                    buildroot,
                    board,
                    symbols_file,
                    chroot_args=ChrootArgs(self._run.options),
                    extra_env=self._portage_extra_env)
            except failures_lib.BuildScriptFailure:
                # Android breakpad symbol preparation is expected to work in
                # modern branches.
                if self.AfterLimit(ANDROID_BREAKPAD):
                    raise

                # For older branches, we only process them on a best effort basis.
                logging.PrintBuildbotStepWarnings()
                logging.warning('Preparing Android symbols failed, ignoring..')

        # Upload them.
        self.UploadDebugTarball()

        # Upload debug/breakpad tarball.
        self.UploadDebugBreakpadTarball()

        # Upload them to crash server.
        if self._run.config.upload_symbols:
            self.UploadSymbols(buildroot, board)
 def testGenerateSymbols(self):
   """Test GenerateBreakpadSymbols Command."""
   commands.GenerateBreakpadSymbols(self.tempdir, self._board, False)
   self.assertCommandContains(['--board=%s' % self._board])