| Index: base/test/launcher/parallel_test_launcher.h
|
| diff --git a/base/test/launcher/parallel_test_launcher.h b/base/test/launcher/parallel_test_launcher.h
|
| deleted file mode 100644
|
| index ef788a0e757674e45851bd4fb40e0fe477840562..0000000000000000000000000000000000000000
|
| --- a/base/test/launcher/parallel_test_launcher.h
|
| +++ /dev/null
|
| @@ -1,91 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef BASE_TEST_LAUNCHER_PARALLEL_TEST_LAUNCHER_H_
|
| -#define BASE_TEST_LAUNCHER_PARALLEL_TEST_LAUNCHER_H_
|
| -
|
| -#include <map>
|
| -#include <string>
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/threading/thread_checker.h"
|
| -#include "base/time/time.h"
|
| -#include "base/timer/timer.h"
|
| -
|
| -class CommandLine;
|
| -
|
| -namespace base {
|
| -
|
| -class SequencedWorkerPoolOwner;
|
| -
|
| -// Launches child gtest process in parallel. Keeps track of running processes,
|
| -// prints a message in case no output is produced for a while.
|
| -class ParallelTestLauncher {
|
| - public:
|
| - // Constructor. |jobs| is the maximum number of tests launched in parallel.
|
| - explicit ParallelTestLauncher(size_t jobs);
|
| - ~ParallelTestLauncher();
|
| -
|
| - // Callback called after a child process finishes. First argument is the exit
|
| - // code, second one is child process elapsed time, third one is true if
|
| - // the child process was terminated because of a timeout, and fourth one
|
| - // contains output of the child (stdout and stderr together).
|
| - typedef Callback<void(int, const TimeDelta&, bool, const std::string&)>
|
| - LaunchChildGTestProcessCallback;
|
| -
|
| - // Launches a child process (assumed to be gtest-based binary) using
|
| - // |command_line|. If |wrapper| is not empty, it is prepended to the final
|
| - // command line. If the child process is still running after |timeout|, it
|
| - // is terminated. After the child process finishes |callback| is called
|
| - // on the same thread this method was called.
|
| - void LaunchChildGTestProcess(const CommandLine& command_line,
|
| - const std::string& wrapper,
|
| - base::TimeDelta timeout,
|
| - const LaunchChildGTestProcessCallback& callback);
|
| -
|
| - // Resets the output watchdog, indicating some test results have been printed
|
| - // out. If a pause between the calls exceeds an internal treshold, a message
|
| - // will be printed listing all child processes we're still waiting for.
|
| - void ResetOutputWatchdog();
|
| -
|
| - private:
|
| - // Called on a worker thread after a child process finishes.
|
| - void OnLaunchTestProcessFinished(
|
| - size_t sequence_number,
|
| - const LaunchChildGTestProcessCallback& callback,
|
| - int exit_code,
|
| - const TimeDelta& elapsed_time,
|
| - bool was_timeout,
|
| - const std::string& output);
|
| -
|
| - // Called by the delay timer when no output was made for a while.
|
| - void OnOutputTimeout();
|
| -
|
| - // Make sure we don't accidentally call the wrong methods e.g. on the worker
|
| - // pool thread. With lots of callbacks used this is non-trivial.
|
| - // Should be the first member so that it's destroyed last: when destroying
|
| - // other members, especially the worker pool, we may check the code is running
|
| - // on the correct thread.
|
| - ThreadChecker thread_checker_;
|
| -
|
| - // Watchdog timer to make sure we do not go without output for too long.
|
| - DelayTimer<ParallelTestLauncher> timer_;
|
| -
|
| - // Monotonically increasing sequence number to uniquely identify each
|
| - // launched child process.
|
| - size_t launch_sequence_number_;
|
| -
|
| - // Map of currently running child processes, keyed by the sequence number.
|
| - typedef std::map<size_t, CommandLine> RunningProcessesMap;
|
| - RunningProcessesMap running_processes_map_;
|
| -
|
| - // Worker pool used to launch processes in parallel.
|
| - scoped_ptr<SequencedWorkerPoolOwner> worker_pool_owner_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ParallelTestLauncher);
|
| -};
|
| -
|
| -} // namespace base
|
| -
|
| -#endif // BASE_TEST_LAUNCHER_PARALLEL_TEST_LAUNCHER_H_
|
|
|