| // 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_ |