Chromium Code Reviews| Index: handler/win/crashy_test_program.cc |
| diff --git a/handler/win/crashy_test_program.cc b/handler/win/crashy_test_program.cc |
| index 6650404859e54574d88dd2b70e5ef698c528e249..15c7b613af21dbcf3c3b768e4a0baa70b45d8dab 100644 |
| --- a/handler/win/crashy_test_program.cc |
| +++ b/handler/win/crashy_test_program.cc |
| @@ -12,16 +12,23 @@ |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| +#include <stdlib.h> |
| #include <windows.h> |
| #include <winternl.h> |
| +#include <string> |
| +#include <map> |
| +#include <vector> |
| + |
| // ntstatus.h conflicts with windows.h so define this locally. |
| #ifndef STATUS_NO_SUCH_FILE |
| #define STATUS_NO_SUCH_FILE static_cast<NTSTATUS>(0xC000000F) |
| #endif |
| #include "base/basictypes.h" |
| +#include "base/files/file_path.h" |
| #include "base/logging.h" |
| +#include "base/strings/utf_string_conversions.h" |
| #include "client/crashpad_client.h" |
| #include "tools/tool_support.h" |
| #include "util/win/critical_section_with_debug_info.h" |
| @@ -88,19 +95,31 @@ void SomeCrashyFunction() { |
| } |
| int CrashyMain(int argc, char* argv[]) { |
| - if (argc != 2) { |
| + CrashpadClient client; |
| + |
| + if (argc == 2) { |
| + if (!client.SetHandler(argv[1])) { |
|
scottmg
2015/10/30 23:16:31
We could probably just get rid of the 2 arg versio
|
| + LOG(ERROR) << "SetHandler"; |
| + return EXIT_FAILURE; |
| + } |
| + } else if (argc == 3) { |
| + if (!client.StartHandler(base::FilePath(base::UTF8ToUTF16(argv[1])), |
| + base::FilePath(base::UTF8ToUTF16(argv[2])), |
| + std::string(), |
| + std::map<std::string, std::string>(), |
| + std::vector<std::string>())) { |
| + LOG(ERROR) << "StartHandler"; |
| + return EXIT_FAILURE; |
| + } |
| + } else { |
| fprintf(stderr, "Usage: %s <server_pipe_name>\n", argv[0]); |
| - return 1; |
| + fprintf(stderr, " %s <handler_path> <database_path>\n", argv[0]); |
| + return EXIT_FAILURE; |
| } |
| - CrashpadClient client; |
| - if (!client.SetHandler(argv[1])) { |
| - LOG(ERROR) << "SetHandler"; |
| - return 1; |
| - } |
| if (!client.UseHandler()) { |
| LOG(ERROR) << "UseHandler"; |
| - return 1; |
| + return EXIT_FAILURE; |
| } |
| AllocateMemoryOfVariousProtections(); |
| @@ -112,7 +131,7 @@ int CrashyMain(int argc, char* argv[]) { |
| SomeCrashyFunction(); |
| - return 0; |
| + return EXIT_SUCCESS; |
| } |
| } // namespace |