示例#1
0
  def GetDisabledTests(self):
    """Returns a list of disabled tests.

    Returns:
      A list of disabled tests obtained from gtest_filter/test_suite_disabled.
    """
    disabled_tests = run_tests_helper.GetExpectations(self._GetFilterFileName())
    if self._running_on_emulator:
      # Append emulator's filter file.
      disabled_tests.extend(run_tests_helper.GetExpectations(
          self._GetAdditionalEmulatorFilterName()))
    return disabled_tests
示例#2
0
    def UpdateFilter(self, failed_tests):
        """Updates test_suite_disabled file with the new filter (deletes if empty).

    If running in Emulator, only the failed tests which are not in the normal
    filter returned by _GetFilterFileName() are written to emulator's
    additional filter file.

    Args:
      failed_tests: A sorted list of failed tests.
    """
        disabled_tests = []
        if not self._running_on_emulator:
            filter_file_name = self._GetFilterFileName()
        else:
            filter_file_name = self._GetAdditionalEmulatorFilterName()
            disabled_tests.extend(
                run_tests_helper.GetExpectations(self._GetFilterFileName()))
            logging.info(
                'About to update emulator\'s additional filter (%s).' %
                filter_file_name)

        new_failed_tests = []
        if failed_tests:
            for test in failed_tests:
                if test.name not in disabled_tests:
                    new_failed_tests.append(test.name)

        if not new_failed_tests:
            if os.path.exists(filter_file_name):
                os.unlink(filter_file_name)
            return

        filter_file = file(filter_file_name, 'w')
        if self._running_on_emulator:
            filter_file.write(
                '# Addtional list of suppressions from emulator\n')
        else:
            filter_file.write('# List of suppressions\n')
        filter_file.write('# This file was automatically generated by %s\n' %
                          sys.argv[0])
        filter_file.write('\n'.join(sorted(new_failed_tests)))
        filter_file.write('\n')
        filter_file.close()