Ejemplo n.º 1
0
    def __init__(self,
                 trace_handles,
                 job,
                 stop_on_error=False,
                 progress_reporter=None,
                 jobs=AUTO_JOB_COUNT,
                 output_formatters=None):
        self._job = job
        self._stop_on_error = stop_on_error
        self._failed_canonical_url_to_dump = None
        if progress_reporter is None:
            self._progress_reporter = gtest_progress_reporter.GTestProgressReporter(
                sys.stdout)
        else:
            self._progress_reporter = progress_reporter
        self._output_formatters = output_formatters or []

        self._trace_handles = trace_handles
        self._num_traces_merged_into_results = 0
        self._map_results = None
        self._map_results_file = None

        if jobs == AUTO_JOB_COUNT:
            jobs = multiprocessing.cpu_count()
        self._wq = threaded_work_queue.ThreadedWorkQueue(num_threads=jobs)
Ejemplo n.º 2
0
 def __init__(self, trace_handles, map_file, stop_on_error=False):
     self._map_file = map_file
     self._work_queue = queue.Queue()
     self._result_queue = queue.Queue()
     self._stop_on_error = stop_on_error
     self._abort = False
     self._failed_run_info_to_dump = None
     self._progress_reporter = gtest_progress_reporter.GTestProgressReporter(
         sys.stdout)
     for trace_handle in trace_handles:
         self._work_queue.put(trace_handle)
Ejemplo n.º 3
0
 def _ProcessTrace(self, trace_handle):
     run_info = trace_handle.run_info
     subresults = results_module.Results()
     # TODO: Modify ProgressReporter API to deal with interleaving runs so
     # that we can use self._progress_reporter here.
     progress_reporter = gtest_progress_reporter.GTestProgressReporter(
         sys.stdout)
     progress_reporter.WillRun(run_info)
     map_single_trace.MapSingleTrace(subresults, trace_handle,
                                     os.path.abspath(self._map_file))
     self._result_queue.put(subresults)
     had_failure = subresults.DoesRunContainFailure(run_info)
     progress_reporter.DidRun(run_info, had_failure)
     if self._stop_on_error and had_failure:
         self._failed_run_info_to_dump = run_info
         self._abort = True