win: Add implementation of ExecutablePath

R=mark@chromium.org
BUG=crashpad:1

Review URL: https://codereview.chromium.org/852773004
This commit is contained in:
Scott Graham 2015-01-15 10:00:09 -08:00
parent c4a5f7de28
commit 7e7b65da1b
3 changed files with 36 additions and 1 deletions

View File

@ -15,6 +15,7 @@
#include "util/test/executable_path.h" #include "util/test/executable_path.h"
#include "base/files/file_path.h" #include "base/files/file_path.h"
#include "build/build_config.h"
#include "gtest/gtest.h" #include "gtest/gtest.h"
namespace crashpad { namespace crashpad {
@ -24,7 +25,11 @@ namespace {
TEST(ExecutablePath, ExecutablePath) { TEST(ExecutablePath, ExecutablePath) {
base::FilePath executable_path = ExecutablePath(); base::FilePath executable_path = ExecutablePath();
base::FilePath executable_name = executable_path.BaseName(); base::FilePath executable_name = executable_path.BaseName();
EXPECT_EQ(FILE_PATH_LITERAL("util_test"), executable_name.value()); #if defined(OS_WIN)
EXPECT_EQ(FILE_PATH_LITERAL("util_test.exe"), executable_name.value());
#else
EXPECT_EQ("util_test", executable_name.value());
#endif // OS_WIN
} }
} // namespace } // namespace

View File

@ -0,0 +1,29 @@
// Copyright 2015 The Crashpad Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "util/test/executable_path.h"
#include <windows.h>
namespace crashpad {
namespace test {
base::FilePath ExecutablePath() {
wchar_t executable_path[_MAX_PATH];
GetModuleFileName(nullptr, executable_path, sizeof(executable_path));
return base::FilePath(executable_path);
}
} // namespace test
} // namespace crashpad

View File

@ -205,6 +205,7 @@
'test/errors.h', 'test/errors.h',
'test/executable_path.h', 'test/executable_path.h',
'test/executable_path_mac.cc', 'test/executable_path_mac.cc',
'test/executable_path_win.cc',
'test/mac/dyld.h', 'test/mac/dyld.h',
'test/mac/mach_errors.cc', 'test/mac/mach_errors.cc',
'test/mac/mach_errors.h', 'test/mac/mach_errors.h',