| Index: snapshot/win/end_to_end_test.py
|
| diff --git a/snapshot/win/end_to_end_test.py b/snapshot/win/end_to_end_test.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0a13befd1b76fddc42bfe96c1dfc1a7512490138
|
| --- /dev/null
|
| +++ b/snapshot/win/end_to_end_test.py
|
| @@ -0,0 +1,68 @@
|
| +#!/usr/bin/env python
|
| +
|
| +# 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.
|
| +
|
| +import os
|
| +import sys
|
| +
|
| +
|
| +def FindInstalledWindowsApplication(app_path):
|
| + search_paths = [os.getenv('PROGRAMFILES(X86)'),
|
| + os.getenv('PROGRAMFILES'),
|
| + os.getenv('LOCALAPPDATA')]
|
| + search_paths += os.getenv('PATH', '').split(os.pathsep)
|
| +
|
| + for search_path in search_paths:
|
| + if not search_path:
|
| + continue
|
| + path = os.path.join(search_path, app_path)
|
| + if os.path.isfile(path):
|
| + return path
|
| +
|
| + return None
|
| +
|
| +
|
| +def GetCdbPath():
|
| + possible_paths = (
|
| + os.path.join('Windows Kits', '10', 'Debuggers', 'x64'),
|
| + os.path.join('Windows Kits', '10', 'Debuggers', 'x86'),
|
| + os.path.join('Windows Kits', '8.1', 'Debuggers', 'x64'),
|
| + os.path.join('Windows Kits', '8.1', 'Debuggers', 'x86'),
|
| + os.path.join('Windows Kits', '8.0', 'Debuggers', 'x64'),
|
| + os.path.join('Windows Kits', '8.0', 'Debuggers', 'x86'),
|
| + 'Debugging Tools For Windows (x64)',
|
| + 'Debugging Tools For Windows (x86)',
|
| + 'Debugging Tools For Windows',
|
| + os.path.join('win_toolchain', 'vs2013_files', 'win8sdk', 'Debuggers',
|
| + 'x64'),
|
| + os.path.join('win_toolchain', 'vs2013_files', 'win8sdk', 'Debuggers',
|
| + 'x86'),
|
| + )
|
| + for possible_path in possible_paths:
|
| + app_path = os.path.join(possible_path, 'cdb.exe')
|
| + app_path = FindInstalledWindowsApplication(app_path)
|
| + if app_path:
|
| + return app_path
|
| + return None
|
| +
|
| +
|
| +def main(args):
|
| + cdb_path = GetCdbPath()
|
| + print 'cdb_path:', cdb_path
|
| + return 0
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + sys.exit(main(sys.argv[1:]))
|
|
|