// Copyright 2016 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_SCOPED_COMMAND_LINE_H_ #define BASE_TEST_SCOPED_COMMAND_LINE_H_ #include "base/command_line.h" namespace base { namespace test { // Helper class to restore the original command line at the end of the scope. // NOTE: In most unit tests, the command line is automatically restored per // test, so this class is not necessary if the command line applies to // the entire single test. class ScopedCommandLine final { public: ScopedCommandLine(); ~ScopedCommandLine(); // Gets the command line for the current process. // NOTE: Do not name this GetCommandLine as this will conflict with Windows's // GetCommandLine and get renamed to GetCommandLineW. CommandLine* GetProcessCommandLine(); private: const CommandLine original_command_line_; }; } // namespace test } // namespace base #endif // BASE_TEST_SCOPED_COMMAND_LINE_H_