├── .gitignore ├── CHANGES ├── COPYING ├── Doxyfile ├── README ├── TODO ├── breakpad-qt-handler.pri ├── breakpad-qt-sender.pri ├── breakpad-qt.pro ├── conf.pri ├── demo ├── demo.pro ├── program │ ├── TestThread.cpp │ ├── TestThread.h │ ├── main.cpp │ └── program.pro └── reporter │ ├── main.cpp │ └── reporter.pro ├── docs └── mainpage.dox ├── handler ├── BreakpadHandler.cpp ├── BreakpadHandler.h └── handler.pro ├── sender ├── BreakpadHttpSender.cpp ├── BreakpadHttpSender.h └── sender.pro ├── tests ├── duplicates │ ├── duplicates.pro │ └── main.cpp └── tests.pro └── third-party ├── .gitignore ├── 010-linux-compilation.patch ├── README ├── google-breakpad.pri └── google-breakpad ├── AUTHORS ├── COPYING ├── ChangeLog ├── INSTALL ├── Makefile.am ├── Makefile.in ├── NEWS ├── README ├── aclocal.m4 ├── autotools ├── config.guess ├── config.sub ├── depcomp ├── install-sh ├── ltmain.sh └── missing ├── configure ├── configure.ac └── src ├── breakpad_googletest_includes.h ├── client ├── linux │ └── handler │ │ ├── Makefile │ │ ├── exception_handler.cc │ │ ├── exception_handler.h │ │ ├── exception_handler_test.cc │ │ ├── linux_thread.cc │ │ ├── linux_thread.h │ │ ├── linux_thread_test.cc │ │ ├── minidump_generator.cc │ │ ├── minidump_generator.h │ │ └── minidump_test.cc ├── mac │ ├── Breakpad.xcodeproj │ │ └── project.pbxproj │ ├── Framework │ │ ├── Breakpad.h │ │ ├── Breakpad.mm │ │ ├── Breakpad_Prefix.pch │ │ ├── Info.plist │ │ ├── OnDemandServer.h │ │ └── OnDemandServer.mm │ ├── UnitTests-Info.plist │ ├── crash_generation │ │ ├── Inspector.h │ │ ├── Inspector.mm │ │ └── InspectorMain.mm │ ├── gcov │ │ └── libgcov.a │ ├── handler │ │ ├── breakpad_exc_server.c │ │ ├── breakpad_exc_server.h │ │ ├── breakpad_nlist_64.cc │ │ ├── breakpad_nlist_64.h │ │ ├── dynamic_images.cc │ │ ├── dynamic_images.h │ │ ├── exception_handler.cc │ │ ├── exception_handler.h │ │ ├── exception_handler_test.cc │ │ ├── minidump_generator.cc │ │ ├── minidump_generator.h │ │ ├── minidump_generator_test.cc │ │ ├── minidump_test.xcodeproj │ │ │ └── project.pbxproj │ │ ├── minidump_tests32-Info.plist │ │ ├── minidump_tests64-Info.plist │ │ ├── obj-cTestCases-Info.plist │ │ ├── protected_memory_allocator.cc │ │ ├── protected_memory_allocator.h │ │ └── testcases │ │ │ ├── DynamicImagesTests.cc │ │ │ ├── DynamicImagesTests.h │ │ │ ├── breakpad_nlist_test.cc │ │ │ ├── breakpad_nlist_test.h │ │ │ ├── dwarftests.h │ │ │ ├── dwarftests.mm │ │ │ └── testdata │ │ │ ├── dump_syms_dwarf_data │ │ │ └── dump_syms_i386_breakpad.sym │ ├── sender │ │ ├── Breakpad.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ ├── English.lproj │ │ │ ├── InfoPlist.strings │ │ │ └── Localizable.strings │ │ ├── ReporterIcon.graffle │ │ ├── crash_report_sender-Info.plist │ │ ├── crash_report_sender.h │ │ ├── crash_report_sender.icns │ │ └── crash_report_sender.m │ ├── testapp │ │ ├── Controller.h │ │ ├── Controller.m │ │ ├── English.lproj │ │ │ ├── InfoPlist.strings │ │ │ └── MainMenu.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ ├── Info.plist │ │ ├── TestClass.h │ │ ├── TestClass.mm │ │ ├── bomb.icns │ │ ├── crashInMain │ │ ├── crashduringload │ │ └── main.m │ └── tests │ │ ├── BreakpadFramework_Test.mm │ │ ├── SimpleStringDictionaryTest.h │ │ └── SimpleStringDictionaryTest.mm ├── minidump_file_writer-inl.h ├── minidump_file_writer.cc ├── minidump_file_writer.h ├── minidump_file_writer_unittest.cc ├── solaris │ └── handler │ │ ├── Makefile │ │ ├── exception_handler.cc │ │ ├── exception_handler.h │ │ ├── exception_handler_test.cc │ │ ├── minidump_generator.cc │ │ ├── minidump_generator.h │ │ ├── minidump_test.cc │ │ ├── solaris_lwp.cc │ │ └── solaris_lwp.h └── windows │ ├── breakpad_client.sln │ ├── common │ ├── auto_critical_section.h │ └── ipc_protocol.h │ ├── crash_generation │ ├── ReadMe.txt │ ├── client_info.cc │ ├── client_info.h │ ├── crash_generation.vcproj │ ├── crash_generation_client.cc │ ├── crash_generation_client.h │ ├── crash_generation_server.cc │ ├── crash_generation_server.h │ ├── minidump_generator.cc │ └── minidump_generator.h │ ├── handler │ ├── exception_handler.cc │ ├── exception_handler.h │ └── exception_handler.vcproj │ ├── sender │ ├── crash_report_sender.cc │ ├── crash_report_sender.h │ └── crash_report_sender.vcproj │ └── tests │ └── crash_generation_app │ ├── abstract_class.cc │ ├── abstract_class.h │ ├── crash_generation_app.cc │ ├── crash_generation_app.h │ ├── crash_generation_app.ico │ ├── crash_generation_app.rc │ ├── crash_generation_app.sln │ ├── crash_generation_app.vcproj │ ├── precompile.cc │ ├── precompile.h │ ├── resource.h │ └── small.ico ├── common ├── convert_UTF.c ├── convert_UTF.h ├── linux │ ├── dump_symbols.cc │ ├── dump_symbols.h │ ├── file_id.cc │ ├── file_id.h │ ├── guid_creator.cc │ ├── guid_creator.h │ ├── http_upload.cc │ └── http_upload.h ├── mac │ ├── GTMDefines.h │ ├── GTMGarbageCollection.h │ ├── GTMLogger.h │ ├── GTMLogger.m │ ├── HTTPMultipartUpload.h │ ├── HTTPMultipartUpload.m │ ├── MachIPC.h │ ├── MachIPC.mm │ ├── SimpleStringDictionary.h │ ├── SimpleStringDictionary.mm │ ├── dump_syms.h │ ├── dump_syms.mm │ ├── dwarf │ │ ├── bytereader-inl.h │ │ ├── bytereader.cc │ │ ├── bytereader.h │ │ ├── dwarf2enums.h │ │ ├── dwarf2reader.cc │ │ ├── dwarf2reader.h │ │ ├── functioninfo.cc │ │ ├── functioninfo.h │ │ ├── line_state_machine.h │ │ └── types.h │ ├── file_id.cc │ ├── file_id.h │ ├── macho_id.cc │ ├── macho_id.h │ ├── macho_utilities.cc │ ├── macho_utilities.h │ ├── macho_walker.cc │ ├── macho_walker.h │ ├── string_utilities.cc │ ├── string_utilities.h │ └── testing │ │ ├── GTMSenTestCase.h │ │ └── GTMSenTestCase.m ├── md5.c ├── md5.h ├── solaris │ ├── dump_symbols.cc │ ├── dump_symbols.h │ ├── file_id.cc │ ├── file_id.h │ ├── guid_creator.cc │ ├── guid_creator.h │ └── message_output.h ├── string_conversion.cc ├── string_conversion.h └── windows │ ├── guid_string.cc │ ├── guid_string.h │ ├── http_upload.cc │ ├── http_upload.h │ ├── pdb_source_line_writer.cc │ ├── pdb_source_line_writer.h │ ├── string_utils-inl.h │ └── string_utils.cc ├── config.h.in ├── google_breakpad ├── common │ ├── breakpad_types.h │ ├── minidump_cpu_amd64.h │ ├── minidump_cpu_ppc.h │ ├── minidump_cpu_ppc64.h │ ├── minidump_cpu_sparc.h │ ├── minidump_cpu_x86.h │ ├── minidump_exception_linux.h │ ├── minidump_exception_mac.h │ ├── minidump_exception_solaris.h │ ├── minidump_exception_win32.h │ ├── minidump_format.h │ └── minidump_size.h └── processor │ ├── basic_source_line_resolver.h │ ├── call_stack.h │ ├── code_module.h │ ├── code_modules.h │ ├── memory_region.h │ ├── minidump.h │ ├── minidump_processor.h │ ├── process_state.h │ ├── source_line_resolver_interface.h │ ├── stack_frame.h │ ├── stack_frame_cpu.h │ ├── stackwalker.h │ ├── symbol_supplier.h │ └── system_info.h ├── processor ├── address_map-inl.h ├── address_map.h ├── address_map_unittest.cc ├── basic_code_module.h ├── basic_code_modules.cc ├── basic_code_modules.h ├── basic_source_line_resolver.cc ├── basic_source_line_resolver_unittest.cc ├── call_stack.cc ├── contained_range_map-inl.h ├── contained_range_map.h ├── contained_range_map_unittest.cc ├── linked_ptr.h ├── logging.cc ├── logging.h ├── minidump.cc ├── minidump_dump.cc ├── minidump_dump_test ├── minidump_processor.cc ├── minidump_processor_unittest.cc ├── minidump_stackwalk.cc ├── minidump_stackwalk_machine_readable_test ├── minidump_stackwalk_test ├── pathname_stripper.cc ├── pathname_stripper.h ├── pathname_stripper_unittest.cc ├── postfix_evaluator-inl.h ├── postfix_evaluator.h ├── postfix_evaluator_unittest.cc ├── process_state.cc ├── range_map-inl.h ├── range_map.h ├── range_map_unittest.cc ├── scoped_ptr.h ├── simple_symbol_supplier.cc ├── simple_symbol_supplier.h ├── stack_frame_info.h ├── stackwalker.cc ├── stackwalker_amd64.cc ├── stackwalker_amd64.h ├── stackwalker_ppc.cc ├── stackwalker_ppc.h ├── stackwalker_selftest.cc ├── stackwalker_selftest_sol.s ├── stackwalker_sparc.cc ├── stackwalker_sparc.h ├── stackwalker_x86.cc ├── stackwalker_x86.h └── testdata │ ├── minidump2.dmp │ ├── minidump2.dump.out │ ├── minidump2.stackwalk.machine_readable.out │ ├── minidump2.stackwalk.out │ ├── module1.out │ ├── module2.out │ ├── module3_bad.out │ ├── module4_bad.out │ ├── symbols │ ├── kernel32.pdb │ │ └── BCE8785C57B44245A669896B6A19B9542 │ │ │ └── kernel32.sym │ └── test_app.pdb │ │ └── 5A9832E5287241C1838ED98914E9B7FF1 │ │ └── test_app.sym │ └── test_app.cc ├── testing ├── CHANGES ├── CONTRIBUTORS ├── COPYING ├── Makefile.am ├── README ├── build-aux │ └── .keep ├── configure.ac ├── gtest │ ├── CHANGES │ ├── CONTRIBUTORS │ ├── COPYING │ ├── Makefile.am │ ├── README │ ├── build-aux │ │ └── .keep │ ├── configure.ac │ ├── include │ │ └── gtest │ │ │ ├── gtest-death-test.h │ │ │ ├── gtest-message.h │ │ │ ├── gtest-param-test.h │ │ │ ├── gtest-param-test.h.pump │ │ │ ├── gtest-spi.h │ │ │ ├── gtest-test-part.h │ │ │ ├── gtest-typed-test.h │ │ │ ├── gtest.h │ │ │ ├── gtest_pred_impl.h │ │ │ ├── gtest_prod.h │ │ │ └── internal │ │ │ ├── gtest-death-test-internal.h │ │ │ ├── gtest-filepath.h │ │ │ ├── gtest-internal.h │ │ │ ├── gtest-linked_ptr.h │ │ │ ├── gtest-param-util-generated.h │ │ │ ├── gtest-param-util-generated.h.pump │ │ │ ├── gtest-param-util.h │ │ │ ├── gtest-port.h │ │ │ ├── gtest-string.h │ │ │ ├── gtest-type-util.h │ │ │ └── gtest-type-util.h.pump │ ├── m4 │ │ └── gtest.m4 │ ├── make │ │ └── Makefile │ ├── msvc │ │ ├── gtest.sln │ │ ├── gtest.vcproj │ │ ├── gtest_color_test_.vcproj │ │ ├── gtest_env_var_test_.vcproj │ │ ├── gtest_environment_test.vcproj │ │ ├── gtest_main.vcproj │ │ ├── gtest_output_test_.vcproj │ │ ├── gtest_prod_test.vcproj │ │ ├── gtest_uninitialized_test_.vcproj │ │ └── gtest_unittest.vcproj │ ├── samples │ │ ├── prime_tables.h │ │ ├── sample1.cc │ │ ├── sample1.h │ │ ├── sample1_unittest.cc │ │ ├── sample2.cc │ │ ├── sample2.h │ │ ├── sample2_unittest.cc │ │ ├── sample3-inl.h │ │ ├── sample3_unittest.cc │ │ ├── sample4.cc │ │ ├── sample4.h │ │ ├── sample4_unittest.cc │ │ ├── sample5_unittest.cc │ │ ├── sample6_unittest.cc │ │ ├── sample7_unittest.cc │ │ └── sample8_unittest.cc │ ├── scons │ │ └── SConscript │ ├── scripts │ │ ├── fuse_gtest_files.py │ │ ├── gen_gtest_pred_impl.py │ │ ├── gtest-config.in │ │ ├── test │ │ │ └── Makefile │ │ ├── upload.py │ │ └── upload_gtest.py │ ├── src │ │ ├── gtest-all.cc │ │ ├── gtest-death-test.cc │ │ ├── gtest-filepath.cc │ │ ├── gtest-internal-inl.h │ │ ├── gtest-port.cc │ │ ├── gtest-test-part.cc │ │ ├── gtest-typed-test.cc │ │ ├── gtest.cc │ │ └── gtest_main.cc │ ├── test │ │ ├── gtest-death-test_test.cc │ │ ├── gtest-filepath_test.cc │ │ ├── gtest-linked_ptr_test.cc │ │ ├── gtest-message_test.cc │ │ ├── gtest-options_test.cc │ │ ├── gtest-param-test2_test.cc │ │ ├── gtest-param-test_test.cc │ │ ├── gtest-param-test_test.h │ │ ├── gtest-port_test.cc │ │ ├── gtest-test-part_test.cc │ │ ├── gtest-typed-test2_test.cc │ │ ├── gtest-typed-test_test.cc │ │ ├── gtest-typed-test_test.h │ │ ├── gtest_all_test.cc │ │ ├── gtest_break_on_failure_unittest.py │ │ ├── gtest_break_on_failure_unittest_.cc │ │ ├── gtest_color_test.py │ │ ├── gtest_color_test_.cc │ │ ├── gtest_env_var_test.py │ │ ├── gtest_env_var_test_.cc │ │ ├── gtest_environment_test.cc │ │ ├── gtest_filter_unittest.py │ │ ├── gtest_filter_unittest_.cc │ │ ├── gtest_help_test.py │ │ ├── gtest_help_test_.cc │ │ ├── gtest_list_tests_unittest.py │ │ ├── gtest_list_tests_unittest_.cc │ │ ├── gtest_main_unittest.cc │ │ ├── gtest_nc.cc │ │ ├── gtest_nc_test.py │ │ ├── gtest_no_test_unittest.cc │ │ ├── gtest_output_test.py │ │ ├── gtest_output_test_.cc │ │ ├── gtest_output_test_golden_lin.txt │ │ ├── gtest_output_test_golden_win.txt │ │ ├── gtest_pred_impl_unittest.cc │ │ ├── gtest_prod_test.cc │ │ ├── gtest_repeat_test.cc │ │ ├── gtest_sole_header_test.cc │ │ ├── gtest_stress_test.cc │ │ ├── gtest_test_utils.py │ │ ├── gtest_throw_on_failure_ex_test.cc │ │ ├── gtest_throw_on_failure_test.py │ │ ├── gtest_throw_on_failure_test_.cc │ │ ├── gtest_uninitialized_test.py │ │ ├── gtest_uninitialized_test_.cc │ │ ├── gtest_unittest.cc │ │ ├── gtest_xml_outfile1_test_.cc │ │ ├── gtest_xml_outfile2_test_.cc │ │ ├── gtest_xml_outfiles_test.py │ │ ├── gtest_xml_output_unittest.py │ │ ├── gtest_xml_output_unittest_.cc │ │ ├── gtest_xml_test_utils.py │ │ ├── production.cc │ │ └── production.h │ └── xcode │ │ ├── Config │ │ ├── DebugProject.xcconfig │ │ ├── FrameworkTarget.xcconfig │ │ ├── General.xcconfig │ │ ├── InternalPythonTestTarget.xcconfig │ │ ├── InternalTestTarget.xcconfig │ │ ├── ReleaseProject.xcconfig │ │ └── TestTarget.xcconfig │ │ ├── Resources │ │ └── Info.plist │ │ ├── Samples │ │ └── FrameworkSample │ │ │ ├── Info.plist │ │ │ ├── WidgetFramework.xcodeproj │ │ │ └── project.pbxproj │ │ │ ├── widget.cc │ │ │ ├── widget.h │ │ │ └── widget_test.cc │ │ ├── Scripts │ │ ├── runtests.sh │ │ └── versiongenerate.py │ │ └── gtest.xcodeproj │ │ └── project.pbxproj ├── include │ └── gmock │ │ ├── gmock-actions.h │ │ ├── gmock-cardinalities.h │ │ ├── gmock-generated-actions.h │ │ ├── gmock-generated-actions.h.pump │ │ ├── gmock-generated-function-mockers.h │ │ ├── gmock-generated-function-mockers.h.pump │ │ ├── gmock-generated-matchers.h │ │ ├── gmock-generated-matchers.h.pump │ │ ├── gmock-generated-nice-strict.h │ │ ├── gmock-generated-nice-strict.h.pump │ │ ├── gmock-matchers.h │ │ ├── gmock-printers.h │ │ ├── gmock-spec-builders.h │ │ ├── gmock.h │ │ └── internal │ │ ├── gmock-generated-internal-utils.h │ │ ├── gmock-generated-internal-utils.h.pump │ │ ├── gmock-internal-utils.h │ │ └── gmock-port.h ├── make │ └── Makefile ├── msvc │ ├── gmock-spec-builders_test.vcproj │ ├── gmock.sln │ ├── gmock.vcproj │ ├── gmock_config.vsprops │ ├── gmock_link_test.vcproj │ ├── gmock_main.vcproj │ ├── gmock_output_test_.vcproj │ └── gmock_test.vcproj ├── scripts │ ├── fuse_gmock_files.py │ ├── generator │ │ ├── COPYING │ │ ├── README │ │ ├── README.cppclean │ │ ├── cpp │ │ │ ├── __init__.py │ │ │ ├── ast.py │ │ │ ├── gmock_class.py │ │ │ ├── keywords.py │ │ │ ├── tokenize.py │ │ │ └── utils.py │ │ └── gmock_gen.py │ ├── gmock-config.in │ ├── gmock_doctor.py │ ├── test │ │ └── Makefile │ ├── upload.py │ └── upload_gmock.py ├── src │ ├── gmock-all.cc │ ├── gmock-cardinalities.cc │ ├── gmock-internal-utils.cc │ ├── gmock-matchers.cc │ ├── gmock-printers.cc │ ├── gmock-spec-builders.cc │ ├── gmock.cc │ └── gmock_main.cc └── test │ ├── gmock-actions_test.cc │ ├── gmock-cardinalities_test.cc │ ├── gmock-generated-actions_test.cc │ ├── gmock-generated-function-mockers_test.cc │ ├── gmock-generated-internal-utils_test.cc │ ├── gmock-generated-matchers_test.cc │ ├── gmock-internal-utils_test.cc │ ├── gmock-matchers_test.cc │ ├── gmock-nice-strict_test.cc │ ├── gmock-port_test.cc │ ├── gmock-printers_test.cc │ ├── gmock-spec-builders_test.cc │ ├── gmock_leak_test.py │ ├── gmock_leak_test_.cc │ ├── gmock_link2_test.cc │ ├── gmock_link_test.cc │ ├── gmock_link_test.h │ ├── gmock_output_test.py │ ├── gmock_output_test_.cc │ ├── gmock_output_test_golden.txt │ ├── gmock_test.cc │ └── gmock_test_utils.py └── tools ├── linux ├── dump_syms │ ├── Makefile │ └── dump_syms.cc └── symupload │ ├── Makefile │ ├── minidump_upload.cc │ └── sym_upload.cc ├── mac ├── crash_report │ ├── crash_report.mm │ ├── crash_report.xcodeproj │ │ └── project.pbxproj │ ├── on_demand_symbol_supplier.h │ └── on_demand_symbol_supplier.mm ├── dump_syms │ ├── dump_syms.xcodeproj │ │ └── project.pbxproj │ └── dump_syms_tool.mm └── symupload │ ├── minidump_upload.m │ ├── symupload.m │ └── symupload.xcodeproj │ └── project.pbxproj ├── solaris └── dump_syms │ ├── Makefile │ ├── dump_syms.cc │ ├── run_regtest.sh │ └── testdata │ ├── dump_syms_regtest.cc │ ├── dump_syms_regtest.o │ ├── dump_syms_regtest.stabs │ └── dump_syms_regtest.sym └── windows ├── converter ├── ms_symbol_server_converter.cc ├── ms_symbol_server_converter.h └── ms_symbol_server_converter.vcproj ├── dump_syms ├── dump_syms.cc ├── dump_syms.vcproj ├── run_regtest.sh └── testdata │ ├── dump_syms_regtest.cc │ ├── dump_syms_regtest.pdb │ └── dump_syms_regtest.sym └── symupload ├── symupload.cc └── symupload.vcproj /.gitignore: -------------------------------------------------------------------------------- 1 | *.pro.user 2 | docs/html/ 3 | -------------------------------------------------------------------------------- /CHANGES: -------------------------------------------------------------------------------- 1 | 0.3 2 | - It will be first usable version. 3 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009, Aleksey Palazhchenko 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 18 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 21 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | 27 | ---- 28 | 29 | This package also includes google-breakpad, distributed under similar terms. 30 | See third-party/google-breakpad/COPYING for more info. 31 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | This is cross-platform crash handler, based on Qt and google-breakpad. 2 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | Handler: 2 | - minidump on demand 3 | - crash-friendly start of reporter external program 4 | - do we really need 'thread, exception, rtti' ? 5 | - to check everything with non-latin1 dir and file names - QFile::encodeName 6 | 7 | Sender: 8 | - to get information about environment (OS, hardware, software versions, etc.) 9 | - to get information about crashed program (version, ...) 10 | - send minidump with above-mentioned information and user's comment 11 | 12 | google-breakpad: 13 | - *nix: Does it support debugging symbols which was stripped to other file? (libA.so and libA.so.debug) 14 | - GNU/Linux: Add support for DWARF symbols. 15 | 16 | Build: 17 | - 'make test' 18 | - 'make install' - needed? 19 | 20 | Demo: 21 | - GUI for search in minidump (for sensitive data like passwords); highlight words 'password', 'login', etc. 22 | 23 | Docs: 24 | - "What do you expect to have in debug/release build?" 25 | - debugging symbols 26 | - special debugging code (#ifndef NDEBUG) 27 | - linking with debug versions of libraries 28 | -------------------------------------------------------------------------------- /breakpad-qt-handler.pri: -------------------------------------------------------------------------------- 1 | # this file should be included in .pro file of protected program 2 | 3 | unix:!mac { 4 | debug { 5 | # google-breakpad supports only stabs symbols on GNU/Linux and *BSD for now 6 | QMAKE_CFLAGS_DEBUG +=-gstabs 7 | QMAKE_CXXFLAGS_DEBUG +=-gstabs 8 | } 9 | } 10 | 11 | mac { 12 | LIBS += -lcrypto 13 | } 14 | 15 | # test config 16 | # TODO actually, I shoud check it better 17 | LIST = thread exceptions rtti stl 18 | for(f, LIST) { 19 | !CONFIG($$f) { 20 | warning("Add '$$f' to CONFIG, or you will find yourself in 'funny' problems.") 21 | } 22 | } 23 | 24 | INCLUDEPATH += $$PWD/handler/ 25 | HEADERS += $$PWD/handler/BreakpadHandler.h 26 | -------------------------------------------------------------------------------- /breakpad-qt-sender.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD/sender/ 2 | HEADERS += $$PWD/sender/BreakpadHttpSender.h 3 | -------------------------------------------------------------------------------- /breakpad-qt.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS += handler sender demo tests 3 | -------------------------------------------------------------------------------- /conf.pri: -------------------------------------------------------------------------------- 1 | CONFIG += static 2 | CONFIG += release 3 | -------------------------------------------------------------------------------- /demo/demo.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS = program reporter 3 | -------------------------------------------------------------------------------- /demo/program/TestThread.cpp: -------------------------------------------------------------------------------- 1 | /* This file is in public domain. */ 2 | 3 | #include "TestThread.h" 4 | 5 | #include 6 | 7 | TestThread::TestThread(bool buggy, uint seed) 8 | : m_buggy(buggy) 9 | { 10 | qsrand(seed); 11 | } 12 | 13 | TestThread::~TestThread() 14 | { 15 | } 16 | 17 | void TestThread::crash() 18 | { 19 | reinterpret_cast(1)->toInt(); 20 | throw 1; 21 | } 22 | 23 | void TestThread::run() 24 | { 25 | if(m_buggy) { 26 | QTimer::singleShot(qrand() % 2000 + 100, this, SLOT(crash())); 27 | } else { 28 | QTimer::singleShot(qrand() % 2000 + 100, this, SLOT(quit())); 29 | } 30 | exec(); 31 | } 32 | -------------------------------------------------------------------------------- /demo/program/TestThread.h: -------------------------------------------------------------------------------- 1 | /* This file is in public domain. */ 2 | 3 | #ifndef TESTTHREAD_H 4 | #define TESTTHREAD_H 5 | 6 | #include 7 | 8 | class TestThread : public QThread 9 | { 10 | Q_OBJECT 11 | 12 | public: 13 | TestThread(bool buggy, uint seed); 14 | virtual ~TestThread(); 15 | 16 | protected: 17 | virtual void run(); 18 | 19 | private slots: 20 | void crash(); 21 | 22 | private: 23 | bool m_buggy; 24 | }; 25 | 26 | #endif // TESTTHREAD_H 27 | -------------------------------------------------------------------------------- /demo/program/main.cpp: -------------------------------------------------------------------------------- 1 | /* This file is in public domain. */ 2 | 3 | #include "TestThread.h" 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | int main(int argc, char* argv[]) 12 | { 13 | QCoreApplication app(argc, argv); 14 | app.setApplicationName(QLatin1String("AppName")); 15 | app.setApplicationVersion(QLatin1String("1.0")); 16 | app.setOrganizationName(QLatin1String("OrgName")); 17 | app.setOrganizationDomain(QLatin1String("name.org")); 18 | 19 | BreakpadQt::GlobalHandler::instance()->setDumpPath(QLatin1String("crashes")); 20 | 21 | qsrand(QDateTime::currentDateTime().toTime_t()); 22 | TestThread t1(false, qrand()); 23 | TestThread t2(true, qrand()); 24 | 25 | t1.start(); 26 | t2.start(); 27 | 28 | QTimer::singleShot(3000, qApp, SLOT(quit())); 29 | return app.exec(); 30 | } 31 | -------------------------------------------------------------------------------- /demo/program/program.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = test 3 | QT -= gui 4 | CONFIG -= app_bundle 5 | CONFIG += debug_and_release warn_off console 6 | CONFIG += thread exceptions rtti stl 7 | 8 | HEADERS += TestThread.h 9 | SOURCES += TestThread.cpp 10 | 11 | SOURCES += main.cpp 12 | 13 | include($$PWD/../../breakpad-qt-handler.pri) 14 | LIBS += -L$$PWD/../../ -lbreakpad-qt-handler 15 | 16 | OBJECTS_DIR = _build/obj 17 | MOC_DIR = _build 18 | 19 | DEFINES += QT_NO_CAST_TO_ASCII 20 | DEFINES += QT_NO_CAST_FROM_ASCII 21 | -------------------------------------------------------------------------------- /demo/reporter/main.cpp: -------------------------------------------------------------------------------- 1 | /* This file is in public domain. */ 2 | 3 | #include 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | int main(int argc, char* argv[]) 10 | { 11 | QCoreApplication app(argc, argv); 12 | if(argc < 2 || argc > 3) { 13 | qDebug("Usage: reporter [host]"); 14 | return 100; 15 | } 16 | 17 | QString file(app.arguments().at(1)); 18 | QUrl host = (argc == 3 ? app.arguments().at(2) : QString::fromLatin1("http://localhost:8082")); 19 | 20 | BreakpadQt::HttpSender sender(host); 21 | app.connect(&sender, SIGNAL(finished(QNetworkReply::NetworkError)), SLOT(quit())); 22 | sender.uploadDump(file); 23 | app.exec(); 24 | } 25 | -------------------------------------------------------------------------------- /demo/reporter/reporter.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = reporter 3 | QT += network 4 | CONFIG -= app_bundle 5 | CONFIG += debug_and_release warn_on console 6 | CONFIG += thread exceptions rtti stl 7 | 8 | SOURCES += main.cpp 9 | 10 | include($$PWD/../../breakpad-qt-sender.pri) 11 | LIBS += -L$$PWD/../../ -lbreakpad-qt-sender 12 | 13 | OBJECTS_DIR = _build/obj 14 | MOC_DIR = _build 15 | 16 | DEFINES += QT_NO_CAST_TO_ASCII 17 | DEFINES += QT_NO_CAST_FROM_ASCII 18 | -------------------------------------------------------------------------------- /docs/mainpage.dox: -------------------------------------------------------------------------------- 1 | /*! \mainpage Breakpad-Qt 2 | 3 |

Building

4 | Just type: 5 | \verbatim 6 | qmake (or qmake-qt4 for Debian-based GNU/Linux distributions) 7 | make (or nmake for MSVS) 8 | \endverbatim 9 | It will create 2 shared libraries, tools and tests. 10 | 11 |

Including in your application

12 | Add 2 lines to your .pro file: 13 | \verbatim 14 | include($$PWD/<...>/breakpad-qt/breakpad-qt-handler.pri) 15 | LIBS += -L$$PWD/<...>/breakpad-qt/ -lbreakpad-qt-handler 16 | \endverbatim 17 | 18 | 19 | See namespace BreakpadQt for few docs. 20 | 21 | Docs from Google:
22 | http://code.google.com/p/google-breakpad/wiki/ClientDesign
23 | http://code.google.com/p/google-breakpad/wiki/ProcessorDesign
24 | 25 | */ 26 | -------------------------------------------------------------------------------- /handler/BreakpadHandler.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2009, Aleksey Palazhchenko 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are 7 | met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | * Redistributions in binary form must reproduce the above 12 | copyright notice, this list of conditions and the following disclaimer 13 | in the documentation and/or other materials provided with the 14 | distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef BREAKPAD_HANDLER_H 30 | #define BREAKPAD_HANDLER_H 31 | 32 | #include 33 | namespace google_breakpad { class ExceptionHandler; } 34 | 35 | namespace BreakpadQt 36 | { 37 | 38 | class GlobalHandlerPrivate; 39 | 40 | enum ReportCrashesToSystem 41 | { 42 | ReportUnhandled = 1, 43 | AlwaysReport = 2 44 | }; 45 | 46 | class GlobalHandler 47 | { 48 | public: 49 | static GlobalHandler* instance(); 50 | 51 | void setDumpPath(const QString& path); 52 | void setReporter(const QString& reporter); 53 | void setReportCrashesToSystem(ReportCrashesToSystem report); 54 | bool writeMinidump(); 55 | 56 | private: 57 | GlobalHandler(); 58 | ~GlobalHandler(); 59 | Q_DISABLE_COPY(GlobalHandler) 60 | 61 | GlobalHandlerPrivate* d; 62 | }; 63 | 64 | } // namespace 65 | 66 | #endif // BREAKPAD_HANDLER_H 67 | -------------------------------------------------------------------------------- /handler/handler.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | TARGET = $$PWD/../breakpad-qt-handler 3 | VERSION = 0.3.0 4 | 5 | include($$PWD/../conf.pri) 6 | 7 | CONFIG += warn_on thread exceptions rtti stl 8 | QT -= gui 9 | 10 | OBJECTS_DIR = _build/obj 11 | MOC_DIR = _build 12 | 13 | DEFINES += QT_NO_CAST_TO_ASCII 14 | DEFINES += QT_NO_CAST_FROM_ASCII 15 | 16 | ## breakpad-qt 17 | include($$PWD/../breakpad-qt-handler.pri) 18 | SOURCES += $$PWD/BreakpadHandler.cpp 19 | 20 | ## google-breakpad 21 | include($$PWD/../third-party/google-breakpad.pri) 22 | -------------------------------------------------------------------------------- /sender/BreakpadHttpSender.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2009, Aleksey Palazhchenko 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are 7 | met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | * Redistributions in binary form must reproduce the above 12 | copyright notice, this list of conditions and the following disclaimer 13 | in the documentation and/or other materials provided with the 14 | distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef BREAKPAD_HTTP_SENDER_H 30 | #define BREAKPAD_HTTP_SENDER_H 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | class QString; 38 | class QUrl; 39 | class QFile; 40 | 41 | namespace BreakpadQt 42 | { 43 | 44 | class HttpSender : public QObject 45 | { 46 | Q_OBJECT 47 | public: 48 | HttpSender(const QUrl& url); 49 | ~HttpSender(); 50 | 51 | //TODO(AlekSi) proxy, ssl 52 | 53 | void uploadDump(const QString& fileName); 54 | 55 | signals: 56 | void finished(QNetworkReply::NetworkError); 57 | 58 | private slots: 59 | void onUploadProgress(qint64 sent, qint64 total); 60 | void onUploadFinished(); 61 | 62 | private: 63 | QNetworkAccessManager m_manager; 64 | QNetworkRequest m_request; 65 | QPointer m_reply; 66 | QFile* m_file; 67 | }; 68 | 69 | } // namespace 70 | 71 | #endif // BREAKPAD_HTTP_SENDER_H 72 | -------------------------------------------------------------------------------- /sender/sender.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | TARGET = $$PWD/../breakpad-qt-sender 3 | VERSION = 0.3.0 4 | 5 | include($$PWD/../conf.pri) 6 | 7 | CONFIG += warn_on 8 | QT -= gui 9 | QT += network 10 | 11 | OBJECTS_DIR = _build/obj 12 | MOC_DIR = _build 13 | 14 | DEFINES += QT_NO_CAST_TO_ASCII 15 | DEFINES += QT_NO_CAST_FROM_ASCII 16 | 17 | HEADERS += $$PWD/BreakpadHttpSender.h 18 | SOURCES += $$PWD/BreakpadHttpSender.cpp 19 | -------------------------------------------------------------------------------- /tests/duplicates/duplicates.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = $$PWD/../duplicates_test 3 | QT -= gui 4 | CONFIG -= app_bundle 5 | CONFIG += debug_and_release warn_off console 6 | CONFIG += thread exceptions rtti stl 7 | 8 | SOURCES += main.cpp 9 | 10 | include($$PWD/../../breakpad-qt-handler.pri) 11 | LIBS += -L$$PWD/../../ -lbreakpad-qt-handler 12 | 13 | OBJECTS_DIR = _build/obj 14 | MOC_DIR = _build 15 | -------------------------------------------------------------------------------- /tests/duplicates/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #include 5 | 6 | #include 7 | 8 | int buggyFunc() 9 | { 10 | delete reinterpret_cast(0xFEE1DEAD); 11 | } 12 | 13 | int f3(int); 14 | 15 | int f1(int i) 16 | { 17 | if(i) { 18 | f3(i-1); 19 | } else { 20 | buggyFunc(); 21 | } 22 | } 23 | 24 | int f2(int i) 25 | { 26 | f1( i>0 ? i-1 : i); 27 | } 28 | 29 | int f3(int i) 30 | { 31 | f2( i>0 ? i-1 : i ); 32 | } 33 | 34 | int main(int argc, char* argv[]) 35 | { 36 | QCoreApplication app(argc, argv); 37 | 38 | const QStringList args = app.arguments(); 39 | const int method = args.value(1).toInt(); 40 | if(args.count() != 2 || method < 1 || method > 2 ) { 41 | std::printf("Usage: %s \n", qPrintable(app.applicationFilePath())); 42 | std::printf("Where is '1' or '2'\n"); 43 | return 0; 44 | } 45 | 46 | app.setApplicationName("test"); 47 | app.setApplicationVersion("1.0"); 48 | app.setOrganizationName("no-such-org"); 49 | app.setOrganizationDomain("no-such.org"); 50 | BreakpadQt::GlobalHandler::instance()->setDumpPath("crashes"); 51 | 52 | if(method == 1) { 53 | // first method - simple crash 54 | f3(0); 55 | } else { 56 | // second method - more crazy call stack 57 | f3(10); 58 | } 59 | 60 | return app.exec(); 61 | } 62 | -------------------------------------------------------------------------------- /tests/tests.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS += duplicates 3 | -------------------------------------------------------------------------------- /third-party/.gitignore: -------------------------------------------------------------------------------- 1 | .svn 2 | *.lo 3 | *.o 4 | lib*.la 5 | .dirstamp 6 | .libs 7 | .deps 8 | config.log 9 | config.status 10 | config.h 11 | -------------------------------------------------------------------------------- /third-party/010-linux-compilation.patch: -------------------------------------------------------------------------------- 1 | Index: google-breakpad/src/tools/linux/symupload/sym_upload.cc 2 | =================================================================== 3 | --- google-breakpad/src/tools/linux/symupload/sym_upload.cc (revision 348) 4 | +++ google-breakpad/src/tools/linux/symupload/sym_upload.cc (working copy) 5 | @@ -41,6 +41,7 @@ 6 | 7 | #include 8 | 9 | +#include 10 | #include 11 | #include 12 | #include 13 | Index: google-breakpad/src/tools/linux/symupload/minidump_upload.cc 14 | =================================================================== 15 | --- google-breakpad/src/tools/linux/symupload/minidump_upload.cc (revision 348) 16 | +++ google-breakpad/src/tools/linux/symupload/minidump_upload.cc (working copy) 17 | @@ -35,6 +35,7 @@ 18 | 19 | #include 20 | 21 | +#include 22 | #include 23 | 24 | #include "common/linux/http_upload.h" 25 | Index: google-breakpad/src/client/linux/handler/exception_handler.cc 26 | =================================================================== 27 | --- google-breakpad/src/client/linux/handler/exception_handler.cc (revision 348) 28 | +++ google-breakpad/src/client/linux/handler/exception_handler.cc (working copy) 29 | @@ -38,6 +38,7 @@ 30 | #include 31 | #include 32 | #include 33 | +#include 34 | #include 35 | 36 | #include "client/linux/handler/exception_handler.h" 37 | -------------------------------------------------------------------------------- /third-party/README: -------------------------------------------------------------------------------- 1 | google-breakpad trunk: 2 | svn co http://google-breakpad.googlecode.com/svn/trunk/ google-breakpad 3 | 4 | create patch: 5 | svn diff google-breakpad > file.patch 6 | 7 | apply patch: 8 | patch -p0 < file.patch 9 | -------------------------------------------------------------------------------- /third-party/google-breakpad.pri: -------------------------------------------------------------------------------- 1 | # internal file, used but breakpad-qt 2 | 3 | BREAKPAD_PATH = $$PWD/google-breakpad/src 4 | INCLUDEPATH += $$BREAKPAD_PATH 5 | 6 | # every *nix 7 | unix { 8 | SOURCES += $$BREAKPAD_PATH/client/minidump_file_writer.cc \ 9 | $$BREAKPAD_PATH/common/string_conversion.cc \ 10 | $$BREAKPAD_PATH/common/convert_UTF.c \ 11 | $$BREAKPAD_PATH/common/md5.c 12 | } 13 | 14 | # mac os x 15 | mac { 16 | # hack to make minidump_generator.cc compile as it uses 17 | # esp instead of __esp 18 | # DEFINES += __DARWIN_UNIX03=0 -- looks like we doesn't need it anymore 19 | 20 | SOURCES += $$BREAKPAD_PATH/client/mac/handler/exception_handler.cc \ 21 | $$BREAKPAD_PATH/client/mac/handler/minidump_generator.cc \ 22 | $$BREAKPAD_PATH/client/mac/handler/dynamic_images.cc \ 23 | $$BREAKPAD_PATH/common/mac/string_utilities.cc \ 24 | $$BREAKPAD_PATH/common/mac/file_id.cc \ 25 | $$BREAKPAD_PATH/common/mac/macho_id.cc \ 26 | $$BREAKPAD_PATH/common/mac/macho_utilities.cc \ 27 | $$BREAKPAD_PATH/common/mac/macho_walker.cc 28 | } 29 | 30 | # other *nix 31 | unix:!mac { 32 | SOURCES += $$BREAKPAD_PATH/client/linux/handler/exception_handler.cc \ 33 | $$BREAKPAD_PATH/client/linux/handler/minidump_generator.cc \ 34 | $$BREAKPAD_PATH/client/linux/handler/linux_thread.cc \ 35 | $$BREAKPAD_PATH/common/linux/guid_creator.cc \ 36 | $$BREAKPAD_PATH/common/linux/file_id.cc 37 | } 38 | 39 | win32 { 40 | SOURCES += $$BREAKPAD_PATH/client/windows/handler/exception_handler.cc \ 41 | $$BREAKPAD_PATH/client/windows/crash_generation/crash_generation_client.cc \ 42 | $$BREAKPAD_PATH/common/windows/guid_string.cc 43 | } 44 | -------------------------------------------------------------------------------- /third-party/google-breakpad/AUTHORS: -------------------------------------------------------------------------------- 1 | opensource@google.com 2 | -------------------------------------------------------------------------------- /third-party/google-breakpad/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006, Google Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /third-party/google-breakpad/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/ChangeLog -------------------------------------------------------------------------------- /third-party/google-breakpad/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/NEWS -------------------------------------------------------------------------------- /third-party/google-breakpad/README: -------------------------------------------------------------------------------- 1 | Breakpad is a set of client and server components which implement a 2 | crash-reporting system. 3 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/breakpad_googletest_includes.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #ifndef BREAKPAD_GOOGLETEST_INCLUDES_H__ 31 | #define BREAKPAD_GOOGLETEST_INCLUDES_H__ 32 | 33 | #include "testing/gtest/include/gtest/gtest.h" 34 | #include "testing/include/gmock/gmock.h" 35 | 36 | #endif // BREAKPAD_GOOGLETEST_INCLUDES_H__ 37 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/linux/handler/Makefile: -------------------------------------------------------------------------------- 1 | CXX=g++ 2 | CC=gcc 3 | 4 | CXXFLAGS=-gstabs+ -I../../.. -Wall -D_REENTRANT 5 | LDFLAGS=-lpthread 6 | 7 | OBJ_DIR=. 8 | BIN_DIR=. 9 | 10 | THREAD_SRC=linux_thread.cc 11 | SHARE_SRC=../../minidump_file_writer.cc\ 12 | ../../../common/string_conversion.cc\ 13 | ../../../common/linux/file_id.cc\ 14 | minidump_generator.cc 15 | HANDLER_SRC=exception_handler.cc\ 16 | ../../../common/linux/guid_creator.cc 17 | SHARE_C_SRC=../../../common/convert_UTF.c 18 | 19 | THREAD_TEST_SRC=linux_thread_test.cc 20 | MINIDUMP_TEST_SRC=minidump_test.cc 21 | EXCEPTION_TEST_SRC=exception_handler_test.cc 22 | 23 | THREAD_OBJ=$(patsubst %.cc,$(OBJ_DIR)/%.o,$(THREAD_SRC)) 24 | SHARE_OBJ=$(patsubst %.cc,$(OBJ_DIR)/%.o,$(SHARE_SRC)) 25 | HANDLER_OBJ=$(patsubst %.cc,$(OBJ_DIR)/%.o,$(HANDLER_SRC)) 26 | SHARE_C_OBJ=$(patsubst %.c,$(OBJ_DIR)/%.o,$(SHARE_C_SRC)) md5.o 27 | THREAD_TEST_OBJ=$(patsubst %.cc,$(OBJ_DIR)/%.o, $(THREAD_TEST_SRC))\ 28 | $(THREAD_OBJ) 29 | MINIDUMP_TEST_OBJ=$(patsubst %.cc,$(OBJ_DIR)/%.o, $(MINIDUMP_TEST_SRC))\ 30 | $(THREAD_OBJ) $(SHARE_OBJ) $(SHARE_C_OBJ) 31 | EXCEPTION_TEST_OBJ=$(patsubst %.cc,$(OBJ_DIR)/%.o, $(EXCEPTION_TEST_SRC))\ 32 | $(THREAD_OBJ) $(SHARE_OBJ) $(SHARE_C_OBJ) $(HANDLER_OBJ) 33 | 34 | BIN=$(BIN_DIR)/minidump_test\ 35 | $(BIN_DIR)/linux_thread_test\ 36 | $(BIN_DIR)/exception_handler_test 37 | 38 | .PHONY:all clean 39 | 40 | all:$(BIN) 41 | 42 | $(BIN_DIR)/linux_thread_test:$(THREAD_TEST_OBJ) 43 | $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ 44 | 45 | $(BIN_DIR)/minidump_test:$(MINIDUMP_TEST_OBJ) 46 | $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ 47 | 48 | $(BIN_DIR)/exception_handler_test:$(EXCEPTION_TEST_OBJ) 49 | $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ 50 | 51 | md5.o:../../../common/md5.c 52 | $(CC) $(CXXFLAGS) -c $^ 53 | 54 | clean: 55 | rm -f $(BIN) *.o *.dmp 56 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/Framework/Breakpad_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'Breakpad' target in the 3 | // 'Breakpad' project. 4 | // 5 | 6 | #ifdef __OBJC__ 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/Framework/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleName 10 | ${PRODUCT_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | com.googlecode.google-breakpad 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/UnitTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.${PRODUCT_NAME:identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/gcov/libgcov.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/gcov/libgcov.a -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/handler/breakpad_nlist_64.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Google Inc. 2 | // All rights reserved 3 | // Redistribution and use in source and binary forms, with or without 4 | // modification, are permitted provided that the following conditions are 5 | // met: 6 | // 7 | // * Redistributions of source code must retain the above copyright 8 | // notice, this list of conditions and the following disclaimer. 9 | // * Redistributions in binary form must reproduce the above 10 | // copyright notice, this list of conditions and the following disclaimer 11 | // in the documentation and/or other materials provided with the 12 | // distribution. 13 | // * Neither the name of Google Inc. nor the names of its 14 | // contributors may be used to endorse or promote products derived from 15 | // this software without specific prior written permission. 16 | // 17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | 29 | // breakpad_nlist.h 30 | // 31 | // This file is meant to provide a header for clients of the modified 32 | // nlist function implemented to work on 64-bit. 33 | 34 | #ifndef CLIENT_MAC_HANDLER_BREAKPAD_NLIST_H__ 35 | 36 | typedef struct nlist_64 breakpad_nlist; 37 | 38 | int 39 | breakpad_nlist_64(const char *name, 40 | breakpad_nlist *list, 41 | const char **symbolNames); 42 | 43 | #endif /* CLIENT_MAC_HANDLER_BREAKPAD_NLIST_H__ */ 44 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/handler/minidump_tests32-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.google.breakpad.minidump_tests32 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/handler/minidump_tests64-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.google.breakpad.minidump_tests64 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | CSResourcesFileMapped 20 | yes 21 | 22 | 23 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/handler/obj-cTestCases-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.${PRODUCT_NAME:identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/handler/testcases/DynamicImagesTests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Google Inc. 2 | // All rights reserved 3 | // Redistribution and use in source and binary forms, with or without 4 | // modification, are permitted provided that the following conditions are 5 | // met: 6 | // 7 | // * Redistributions of source code must retain the above copyright 8 | // notice, this list of conditions and the following disclaimer. 9 | // * Redistributions in binary form must reproduce the above 10 | // copyright notice, this list of conditions and the following disclaimer 11 | // in the documentation and/or other materials provided with the 12 | // distribution. 13 | // * Neither the name of Google Inc. nor the names of its 14 | // contributors may be used to endorse or promote products derived from 15 | // this software without specific prior written permission. 16 | // 17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | 29 | // 30 | // DynamicImagesTests.h 31 | // minidump_test 32 | // 33 | // Created by Neal Sidhwaney on 4/17/08. 34 | // Copyright 2008 Google Inc. All rights reserved. 35 | // 36 | // 37 | 38 | #ifndef _CLIENT_MAC_HANDLER_TESTCASES_DYNAMICIMAGESTESTS_H__ 39 | #define _CLIENT_MAC_HANDLER_TESTCASES_DYNAMICIMAGESTESTS_H__ 40 | 41 | #include 42 | 43 | class DynamicImagesTests : public TestCase { 44 | public: 45 | explicit DynamicImagesTests(TestInvocation* invocation); 46 | virtual ~DynamicImagesTests(); 47 | 48 | void ReadTaskMemoryTest(); 49 | void ReadLibrariesFromLocalTaskTest(); 50 | }; 51 | 52 | #endif /* _CLIENT_MAC_HANDLER_TESTCASES_DYNAMICIMAGESTESTS_H__ */ 53 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/handler/testcases/dwarftests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Google Inc. 2 | // All rights reserved 3 | // Redistribution and use in source and binary forms, with or without 4 | // modification, are permitted provided that the following conditions are 5 | // met: 6 | // 7 | // * Redistributions of source code must retain the above copyright 8 | // notice, this list of conditions and the following disclaimer. 9 | // * Redistributions in binary form must reproduce the above 10 | // copyright notice, this list of conditions and the following disclaimer 11 | // in the documentation and/or other materials provided with the 12 | // distribution. 13 | // * Neither the name of Google Inc. nor the names of its 14 | // contributors may be used to endorse or promote products derived from 15 | // this software without specific prior written permission. 16 | // 17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | 29 | // 30 | // dwarftests.h 31 | // minidump_test 32 | // 33 | // Created by Neal Sidhwaney on 9/24/08. 34 | // Copyright 2008 Google Inc. All rights reserved. 35 | // 36 | 37 | #import 38 | 39 | 40 | @interface dwarftests : SenTestCase { 41 | 42 | } 43 | 44 | - (void) testDWARFSymbolFileGeneration; 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/handler/testcases/testdata/dump_syms_dwarf_data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/handler/testcases/testdata/dump_syms_dwarf_data -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/sender/Breakpad.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | ACTIONS 9 | 10 | cancel 11 | id 12 | sendReport 13 | id 14 | showPrivacyPolicy 15 | id 16 | 17 | CLASS 18 | Reporter 19 | LANGUAGE 20 | ObjC 21 | OUTLETS 22 | 23 | alertWindow_ 24 | NSWindow 25 | cancelButton_ 26 | NSButton 27 | commentMessage_ 28 | NSTextField 29 | dialogTitle_ 30 | NSTextField 31 | emailEntryField_ 32 | NSView 33 | emailLabel_ 34 | NSTextField 35 | emailMessage_ 36 | NSTextField 37 | emailSectionBox_ 38 | NSBox 39 | headerBox_ 40 | NSBox 41 | preEmailBox_ 42 | NSBox 43 | privacyLinkArrow_ 44 | NSView 45 | privacyLinkLabel_ 46 | NSTextField 47 | sendButton_ 48 | NSButton 49 | 50 | SUPERCLASS 51 | NSObject 52 | 53 | 54 | IBVersion 55 | 1 56 | 57 | 58 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/sender/Breakpad.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 672 7 | IBLastKnownRelativeProjectPath 8 | ../Breakpad.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 2 14 | 15 | IBSystem Version 16 | 9G55 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/sender/Breakpad.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/sender/Breakpad.nib/keyedobjects.nib -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/sender/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/sender/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/sender/English.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/sender/English.lproj/Localizable.strings -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/sender/crash_report_sender-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | ${EXECUTABLE_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | crash_report_sender 13 | CFBundleIdentifier 14 | com.Breakpad.${PRODUCT_NAME:identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${EXECUTABLE_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSHasLocalizedDisplayName 26 | 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/sender/crash_report_sender.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/sender/crash_report_sender.icns -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/Controller.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #import 31 | 32 | #import 33 | 34 | enum BreakpadForkBehavior { 35 | DONOTHING = 0, 36 | UNINSTALL, 37 | RESETEXCEPTIONPORT 38 | }; 39 | 40 | enum BreakpadForkTestCrashPoint { 41 | DURINGLAUNCH = 5, 42 | AFTERLAUNCH = 6, 43 | BETWEENFORKEXEC = 7 44 | }; 45 | 46 | @interface Controller : NSObject { 47 | IBOutlet NSWindow *window_; 48 | IBOutlet NSWindow *forkTestOptions_; 49 | 50 | BreakpadRef breakpad_; 51 | 52 | enum BreakpadForkBehavior bpForkOption; 53 | 54 | BOOL useVFork; 55 | enum BreakpadForkTestCrashPoint progCrashPoint; 56 | } 57 | 58 | - (IBAction)crash:(id)sender; 59 | - (IBAction)forkTestOptions:(id)sender; 60 | - (IBAction)forkTestGo:(id)sender; 61 | - (IBAction)showForkTestWindow:(id) sender; 62 | - (void)generateReportWithoutCrash:(id)sender; 63 | - (void)awakeFromNib; 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/testapp/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/English.lproj/MainMenu.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | ACTIONS 9 | 10 | crash 11 | id 12 | forkTestGo 13 | id 14 | forkTestOptions 15 | id 16 | generateReportWithoutCrash 17 | id 18 | showForkTestWindow 19 | id 20 | 21 | CLASS 22 | Controller 23 | LANGUAGE 24 | ObjC 25 | OUTLETS 26 | 27 | forkTestOptions_ 28 | NSWindow 29 | window_ 30 | NSWindow 31 | 32 | SUPERCLASS 33 | NSObject 34 | 35 | 36 | CLASS 37 | FirstResponder 38 | LANGUAGE 39 | ObjC 40 | SUPERCLASS 41 | NSObject 42 | 43 | 44 | IBVersion 45 | 1 46 | 47 | 48 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/English.lproj/MainMenu.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../GoogleBreakpadTest.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 221 14 | 29 15 | 2 16 | 17 | IBSystem Version 18 | 9F33 19 | targetFramework 20 | IBCocoaFramework 21 | 22 | 23 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/testapp/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | bomb 11 | CFBundleIdentifier 12 | com.Google.BreakpadTest 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | BreakpadProductDisplay 28 | Breakpad Tester 29 | BreakpadProduct 30 | Breakpad_Tester 31 | BreakpadVersion 32 | 1.2.3.4 33 | BreakpadReportInterval 34 | 10 35 | BreakpadSkipConfirm 36 | NO 37 | BreakpadSendAndExit 38 | YES 39 | BreakpadRequestEmail 40 | YES 41 | BreakpadRequestComments 42 | YES 43 | BreakpadVendor 44 | Foo Bar Corp, Incorporated, LTD, LLC 45 | BreakpadServerParameters 46 | 47 | Param1 48 | Value1 49 | Param2 50 | Value2 51 | 52 | LSUIElement 53 | 1 54 | 55 | 56 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/TestClass.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #import 31 | 32 | @interface TestClass : NSObject { 33 | } 34 | 35 | - (void)wait; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/bomb.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/testapp/bomb.icns -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/crashInMain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/testapp/crashInMain -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/crashduringload: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/mac/testapp/crashduringload -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/testapp/main.m: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #import 31 | 32 | int main(int argc, char *argv[]) { 33 | return NSApplicationMain(argc, (const char **) argv); 34 | } 35 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/mac/tests/SimpleStringDictionaryTest.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #import 31 | #import "SimpleStringDictionary.h" 32 | 33 | @interface SimpleStringDictionaryTest : GTMTestCase { 34 | 35 | } 36 | 37 | - (void)testKeyValueEntry; 38 | - (void)testSimpleStringDictionary; 39 | - (void)testSimpleStringDictionaryIterator; 40 | @end 41 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/windows/tests/crash_generation_app/abstract_class.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #include "precompile.h" 31 | 32 | namespace google_breakpad { 33 | 34 | Base::Base(Derived* derived) 35 | : derived_(derived) { 36 | } 37 | 38 | Base::~Base() { 39 | derived_->DoSomething(); 40 | } 41 | 42 | #pragma warning(push) 43 | #pragma warning(disable:4355) 44 | // Disable warning C4355: 'this' : used in base member initializer list. 45 | Derived::Derived() 46 | : Base(this) { // C4355 47 | } 48 | #pragma warning(pop) 49 | 50 | void Derived::DoSomething() { 51 | } 52 | 53 | } // namespace google_breakpad 54 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/windows/tests/crash_generation_app/abstract_class.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #ifndef CLIENT_WINDOWS_TESTS_CRASH_GENERATION_APP_ABSTRACT_CLASS_H__ 31 | #define CLIENT_WINDOWS_TESTS_CRASH_GENERATION_APP_ABSTRACT_CLASS_H__ 32 | 33 | namespace google_breakpad { 34 | 35 | // Dummy classes to help generate a pure call violation. 36 | 37 | class Derived; 38 | 39 | class Base { 40 | public: 41 | Base(Derived* derived); 42 | virtual ~Base(); 43 | virtual void DoSomething() = 0; 44 | 45 | private: 46 | Derived* derived_; 47 | }; 48 | 49 | class Derived : public Base { 50 | public: 51 | Derived(); 52 | virtual void DoSomething(); 53 | }; 54 | 55 | } // namespace google_breakpad 56 | 57 | #endif // CLIENT_WINDOWS_TESTS_CRASH_GENERATION_APP_CRASH_GENERATION_APP_H__ 58 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/windows/tests/crash_generation_app/crash_generation_app.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #ifndef CLIENT_WINDOWS_TESTS_CRASH_GENERATION_APP_CRASH_GENERATION_APP_H__ 31 | #define CLIENT_WINDOWS_TESTS_CRASH_GENERATION_APP_CRASH_GENERATION_APP_H__ 32 | 33 | #include "resource.h" 34 | 35 | #endif // CLIENT_WINDOWS_TESTS_CRASH_GENERATION_APP_CRASH_GENERATION_APP_H__ 36 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/windows/tests/crash_generation_app/crash_generation_app.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/windows/tests/crash_generation_app/crash_generation_app.ico -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/windows/tests/crash_generation_app/crash_generation_app.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 9.00 3 | # Visual Studio 2005 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "crash_generation_app", "crash_generation_app.vcproj", "{A15674ED-713D-4B37-B1D2-0C29C7E533C8}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | DebugStaticCRT|Win32 = DebugStaticCRT|Win32 10 | Release|Win32 = Release|Win32 11 | ReleaseStaticCRT|Win32 = ReleaseStaticCRT|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {A15674ED-713D-4B37-B1D2-0C29C7E533C8}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {A15674ED-713D-4B37-B1D2-0C29C7E533C8}.Debug|Win32.Build.0 = Debug|Win32 16 | {A15674ED-713D-4B37-B1D2-0C29C7E533C8}.DebugStaticCRT|Win32.ActiveCfg = DebugStaticCRT|Win32 17 | {A15674ED-713D-4B37-B1D2-0C29C7E533C8}.DebugStaticCRT|Win32.Build.0 = DebugStaticCRT|Win32 18 | {A15674ED-713D-4B37-B1D2-0C29C7E533C8}.Release|Win32.ActiveCfg = Release|Win32 19 | {A15674ED-713D-4B37-B1D2-0C29C7E533C8}.Release|Win32.Build.0 = Release|Win32 20 | {A15674ED-713D-4B37-B1D2-0C29C7E533C8}.ReleaseStaticCRT|Win32.ActiveCfg = ReleaseStaticCRT|Win32 21 | {A15674ED-713D-4B37-B1D2-0C29C7E533C8}.ReleaseStaticCRT|Win32.Build.0 = ReleaseStaticCRT|Win32 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/windows/tests/crash_generation_app/precompile.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // precompile.cpp : source file that includes just the standard includes 31 | // CrashGenerationApp.pch will be the pre-compiled header 32 | // precompile.obj will contain the pre-compiled type information 33 | 34 | #include "precompile.h" 35 | 36 | // Reference any additional headers you need in PRECOMPILE.H 37 | // and not in this file. 38 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/client/windows/tests/crash_generation_app/small.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/client/windows/tests/crash_generation_app/small.ico -------------------------------------------------------------------------------- /third-party/google-breakpad/src/common/linux/dump_symbols.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // dump_symbols.cc: Implements a linux stab debugging format dumper. 31 | // 32 | 33 | #ifndef COMMON_LINUX_DUMP_SYMBOLS_H__ 34 | #define COMMON_LINUX_DUMP_SYMBOLS_H__ 35 | 36 | #include 37 | #include 38 | 39 | namespace google_breakpad { 40 | 41 | class DumpSymbols { 42 | public: 43 | bool WriteSymbolFile(const std::string &obj_file, 44 | FILE *sym_file); 45 | }; 46 | 47 | } // namespace google_breakpad 48 | 49 | #endif // COMMON_LINUX_DUMP_SYMBOLS_H__ 50 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/common/linux/guid_creator.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #ifndef COMMON_LINUX_GUID_CREATOR_H__ 31 | #define COMMON_LINUX_GUID_CREATOR_H__ 32 | 33 | #include "google_breakpad/common/minidump_format.h" 34 | 35 | typedef MDGUID GUID; 36 | 37 | // Format string for parsing GUID. 38 | #define kGUIDFormatString "%08x-%04x-%04x-%08x-%08x" 39 | // Length of GUID string. Don't count the ending '\0'. 40 | #define kGUIDStringLength 36 41 | 42 | // Create a guid. 43 | bool CreateGUID(GUID *guid); 44 | 45 | // Get the string from guid. 46 | bool GUIDToString(const GUID *guid, char *buf, int buf_len); 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/common/mac/dwarf/types.h: -------------------------------------------------------------------------------- 1 | // Copyright 2008 Google, Inc. All Rights reserved 2 | // 3 | // Redistribution and use in source and binary forms, with or without 4 | // modification, are permitted provided that the following conditions are 5 | // met: 6 | // 7 | // * Redistributions of source code must retain the above copyright 8 | // notice, this list of conditions and the following disclaimer. 9 | // * Redistributions in binary form must reproduce the above 10 | // copyright notice, this list of conditions and the following disclaimer 11 | // in the documentation and/or other materials provided with the 12 | // distribution. 13 | // * Neither the name of Google Inc. nor the names of its 14 | // contributors may be used to endorse or promote products derived from 15 | // this software without specific prior written permission. 16 | // 17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | 29 | 30 | // This file contains some typedefs for basic types 31 | 32 | 33 | #ifndef _COMMON_MAC_DWARF_TYPES_H__ 34 | #define _COMMON_MAC_DWARF_TYPES_H__ 35 | 36 | typedef signed char int8; 37 | typedef short int16; 38 | typedef int int32; 39 | typedef long long int64; 40 | 41 | typedef unsigned char uint8; 42 | typedef unsigned short uint16; 43 | typedef unsigned int uint32; 44 | typedef unsigned long long uint64; 45 | 46 | #endif // _COMMON_MAC_DWARF_TYPES_H__ 47 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/common/mac/string_utilities.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // string_utilities.h: Utilities for strings for Mac platform 31 | 32 | #ifndef COMMON_MAC_STRING_UTILITIES_H__ 33 | #define COMMON_MAC_STRING_UTILITIES_H__ 34 | 35 | #include 36 | 37 | #include 38 | 39 | namespace MacStringUtils { 40 | 41 | using std::string; 42 | 43 | // Convert a CoreFoundation string into a std::string 44 | string ConvertToString(CFStringRef str); 45 | 46 | // Return the idx'th decimal integer in str, separated by non-decimal-digits 47 | // E.g., str = 10.4.8, idx = 1 -> 4 48 | unsigned int IntegerValueAtIndex(string &str, unsigned int idx); 49 | 50 | } // namespace MacStringUtils 51 | 52 | #endif // COMMON_MAC_STRING_UTILITIES_H__ 53 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/common/md5.h: -------------------------------------------------------------------------------- 1 | // Copyright 2007 Google Inc. All Rights Reserved. 2 | // Author: liuli@google.com (Liu Li) 3 | #ifndef COMMON_MD5_H__ 4 | #define COMMON_MD5_H__ 5 | 6 | #include 7 | 8 | typedef uint32_t u32; 9 | typedef uint8_t u8; 10 | 11 | struct MD5Context { 12 | u32 buf[4]; 13 | u32 bits[2]; 14 | u8 in[64]; 15 | }; 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif // __cplusplus 20 | 21 | void MD5Init(struct MD5Context *ctx); 22 | 23 | void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len); 24 | 25 | void MD5Final(unsigned char digest[16], struct MD5Context *ctx); 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | 31 | #endif // COMMON_MD5_H__ 32 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/common/solaris/dump_symbols.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2007, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // dump_symbols.cc: Implements a Solaris stab debugging format dumper. 31 | // 32 | // Author: Alfred Peng 33 | 34 | #ifndef COMMON_SOLARIS_DUMP_SYMBOLS_H__ 35 | #define COMMON_SOLARIS_DUMP_SYMBOLS_H__ 36 | 37 | #include 38 | 39 | namespace google_breakpad { 40 | 41 | class DumpSymbols { 42 | public: 43 | bool WriteSymbolFile(const std::string &obj_file, 44 | int sym_fd); 45 | }; 46 | 47 | } // namespace google_breakpad 48 | 49 | #endif // COMMON_SOLARIS_DUMP_SYMBOLS_H__ 50 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/common/solaris/guid_creator.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2007, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // Author: Alfred Peng 31 | 32 | #ifndef COMMON_SOLARIS_GUID_CREATOR_H__ 33 | #define COMMON_SOLARIS_GUID_CREATOR_H__ 34 | 35 | #include "google_breakpad/common/minidump_format.h" 36 | 37 | typedef MDGUID GUID; 38 | 39 | // Format string for parsing GUID. 40 | #define kGUIDFormatString "%08x-%04x-%04x-%08x-%08x" 41 | // Length of GUID string. Don't count the ending '\0'. 42 | #define kGUIDStringLength 36 43 | 44 | // Create a guid. 45 | bool CreateGUID(GUID *guid); 46 | 47 | // Get the string from guid. 48 | bool GUIDToString(const GUID *guid, char *buf, int buf_len); 49 | 50 | #endif // COMMON_SOLARIS_GUID_CREATOR_H__ 51 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/common/solaris/message_output.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2007, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // Author: Alfred Peng 31 | 32 | #ifndef COMMON_SOLARIS_MESSAGE_OUTPUT_H__ 33 | #define COMMON_SOLARIS_MESSAGE_OUTPUT_H__ 34 | 35 | namespace google_breakpad { 36 | 37 | const int MESSAGE_MAX = 1000; 38 | 39 | // Message output macros. 40 | // snprintf doesn't operate heap on Solaris, while printf and fprintf do. 41 | // Use snprintf here to avoid heap allocation. 42 | #define print_message1(std, message) \ 43 | char buffer[MESSAGE_MAX]; \ 44 | int len = snprintf(buffer, MESSAGE_MAX, message); \ 45 | write(std, buffer, len) 46 | 47 | #define print_message2(std, message, para) \ 48 | char buffer[MESSAGE_MAX]; \ 49 | int len = snprintf(buffer, MESSAGE_MAX, message, para); \ 50 | write(std, buffer, len); 51 | 52 | } // namespace google_breakpad 53 | 54 | #endif // COMMON_SOLARIS_MESSAGE_OUTPUT_H__ 55 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/common/windows/guid_string.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // guid_string.cc: Convert GUIDs to strings. 31 | 32 | #ifndef COMMON_WINDOWS_GUID_STRING_H__ 33 | #define COMMON_WINDOWS_GUID_STRING_H__ 34 | 35 | #include 36 | 37 | #include 38 | 39 | namespace google_breakpad { 40 | 41 | using std::wstring; 42 | 43 | class GUIDString { 44 | public: 45 | // Converts guid to a string in the format recommended by RFC 4122 and 46 | // returns the string. 47 | static wstring GUIDToWString(GUID *guid); 48 | 49 | // Converts guid to a string formatted as uppercase hexadecimal, with 50 | // no separators, and returns the string. This is the format used for 51 | // symbol server identifiers, although identifiers have an age tacked 52 | // on to the string. 53 | static wstring GUIDToSymbolServerWString(GUID *guid); 54 | }; 55 | 56 | } // namespace google_breakpad 57 | 58 | #endif // COMMON_WINDOWS_GUID_STRING_H__ 59 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/config.h.in: -------------------------------------------------------------------------------- 1 | /* src/config.h.in. Generated from configure.ac by autoheader. */ 2 | 3 | /* Define to 1 if you have the header file. */ 4 | #undef HAVE_DLFCN_H 5 | 6 | /* Define to 1 if you have the header file. */ 7 | #undef HAVE_INTTYPES_H 8 | 9 | /* Define to 1 if you have the header file. */ 10 | #undef HAVE_MEMORY_H 11 | 12 | /* Define to 1 if you have the header file. */ 13 | #undef HAVE_STDINT_H 14 | 15 | /* Define to 1 if you have the header file. */ 16 | #undef HAVE_STDLIB_H 17 | 18 | /* Define to 1 if you have the header file. */ 19 | #undef HAVE_STRINGS_H 20 | 21 | /* Define to 1 if you have the header file. */ 22 | #undef HAVE_STRING_H 23 | 24 | /* Define to 1 if you have the header file. */ 25 | #undef HAVE_SYS_STAT_H 26 | 27 | /* Define to 1 if you have the header file. */ 28 | #undef HAVE_SYS_TYPES_H 29 | 30 | /* Define to 1 if you have the header file. */ 31 | #undef HAVE_UNISTD_H 32 | 33 | /* Name of package */ 34 | #undef PACKAGE 35 | 36 | /* Define to the address where bug reports for this package should be sent. */ 37 | #undef PACKAGE_BUGREPORT 38 | 39 | /* Define to the full name of this package. */ 40 | #undef PACKAGE_NAME 41 | 42 | /* Define to the full name and version of this package. */ 43 | #undef PACKAGE_STRING 44 | 45 | /* Define to the one symbol short name of this package. */ 46 | #undef PACKAGE_TARNAME 47 | 48 | /* Define to the version of this package. */ 49 | #undef PACKAGE_VERSION 50 | 51 | /* Define to 1 if you have the ANSI C header files. */ 52 | #undef STDC_HEADERS 53 | 54 | /* Version number of package */ 55 | #undef VERSION 56 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/call_stack.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // call_stack.cc: A call stack comprised of stack frames. 31 | // 32 | // See call_stack.h for documentation. 33 | // 34 | // Author: Mark Mentovai 35 | 36 | #include "google_breakpad/processor/call_stack.h" 37 | #include "google_breakpad/processor/stack_frame.h" 38 | 39 | namespace google_breakpad { 40 | 41 | CallStack::~CallStack() { 42 | Clear(); 43 | } 44 | 45 | void CallStack::Clear() { 46 | for (vector::const_iterator iterator = frames_.begin(); 47 | iterator != frames_.end(); 48 | ++iterator) { 49 | delete *iterator; 50 | } 51 | } 52 | 53 | } // namespace google_breakpad 54 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/minidump_dump_test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright (c) 2006, Google Inc. 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions are 8 | # met: 9 | # 10 | # * Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # * Redistributions in binary form must reproduce the above 13 | # copyright notice, this list of conditions and the following disclaimer 14 | # in the documentation and/or other materials provided with the 15 | # distribution. 16 | # * Neither the name of Google Inc. nor the names of its 17 | # contributors may be used to endorse or promote products derived from 18 | # this software without specific prior written permission. 19 | # 20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | 32 | testdata_dir=$srcdir/src/processor/testdata 33 | ./src/processor/minidump_dump $testdata_dir/minidump2.dmp | \ 34 | tr -d '\015' | \ 35 | diff -u $testdata_dir/minidump2.dump.out - 36 | exit $? 37 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/minidump_stackwalk_machine_readable_test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright (c) 2007, Google Inc. 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions are 8 | # met: 9 | # 10 | # * Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # * Redistributions in binary form must reproduce the above 13 | # copyright notice, this list of conditions and the following disclaimer 14 | # in the documentation and/or other materials provided with the 15 | # distribution. 16 | # * Neither the name of Google Inc. nor the names of its 17 | # contributors may be used to endorse or promote products derived from 18 | # this software without specific prior written permission. 19 | # 20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | 32 | testdata_dir=$srcdir/src/processor/testdata 33 | ./src/processor/minidump_stackwalk -m $testdata_dir/minidump2.dmp \ 34 | $testdata_dir/symbols | \ 35 | tr -d '\015' | \ 36 | diff -u $testdata_dir/minidump2.stackwalk.machine_readable.out - 37 | exit $? 38 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/minidump_stackwalk_test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright (c) 2006, Google Inc. 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions are 8 | # met: 9 | # 10 | # * Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # * Redistributions in binary form must reproduce the above 13 | # copyright notice, this list of conditions and the following disclaimer 14 | # in the documentation and/or other materials provided with the 15 | # distribution. 16 | # * Neither the name of Google Inc. nor the names of its 17 | # contributors may be used to endorse or promote products derived from 18 | # this software without specific prior written permission. 19 | # 20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | 32 | testdata_dir=$srcdir/src/processor/testdata 33 | ./src/processor/minidump_stackwalk $testdata_dir/minidump2.dmp \ 34 | $testdata_dir/symbols | \ 35 | tr -d '\015' | \ 36 | diff -u $testdata_dir/minidump2.stackwalk.out - 37 | exit $? 38 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/pathname_stripper.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // pathname_stripper.cc: Manipulates pathnames into their component parts. 31 | // 32 | // See pathname_stripper.h for documentation. 33 | // 34 | // Author: Mark Mentovai 35 | 36 | #include "processor/pathname_stripper.h" 37 | 38 | namespace google_breakpad { 39 | 40 | // static 41 | string PathnameStripper::File(const string &path) { 42 | string::size_type slash = path.rfind('/'); 43 | string::size_type backslash = path.rfind('\\'); 44 | 45 | string::size_type file_start = 0; 46 | if (slash != string::npos && 47 | (backslash == string::npos || slash > backslash)) { 48 | file_start = slash + 1; 49 | } else if (backslash != string::npos) { 50 | file_start = backslash + 1; 51 | } 52 | 53 | return path.substr(file_start); 54 | } 55 | 56 | } // namespace google_breakpad 57 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/pathname_stripper.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // pathname_stripper.h: Manipulates pathnames into their component parts. 31 | // 32 | // Author: Mark Mentovai 33 | 34 | #ifndef PROCESSOR_PATHNAME_STRIPPER_H__ 35 | #define PROCESSOR_PATHNAME_STRIPPER_H__ 36 | 37 | #include 38 | 39 | namespace google_breakpad { 40 | 41 | using std::string; 42 | 43 | class PathnameStripper { 44 | public: 45 | // Given path, a pathname with components separated by slashes (/) or 46 | // backslashes (\), returns the trailing component, without any separator. 47 | // If path ends in a separator character, returns an empty string. 48 | static string File(const string &path); 49 | }; 50 | 51 | } // namespace google_breakpad 52 | 53 | #endif // PROCESSOR_PATHNAME_STRIPPER_H__ 54 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/testdata/minidump2.dmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/processor/testdata/minidump2.dmp -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/testdata/minidump2.stackwalk.machine_readable.out: -------------------------------------------------------------------------------- 1 | OS|Windows NT|5.1.2600 Service Pack 2 2 | CPU|x86|GenuineIntel family 6 model 13 stepping 8|1 3 | Crash|EXCEPTION_ACCESS_VIOLATION|0x45|0 4 | Module|test_app.exe||test_app.pdb|5A9832E5287241C1838ED98914E9B7FF1|0x00400000|0x0042cfff|1 5 | Module|dbghelp.dll|5.1.2600.2180|dbghelp.pdb|39559573E21B46F28E286923BE9E6A761|0x59a60000|0x59b00fff|0 6 | Module|imm32.dll|5.1.2600.2180|imm32.pdb|2C17A49C251B4C8EB9E2AD13D7D9EA162|0x76390000|0x763acfff|0 7 | Module|psapi.dll|5.1.2600.2180|psapi.pdb|A5C3A1F9689F43D8AD228A09293889702|0x76bf0000|0x76bfafff|0 8 | Module|ole32.dll|5.1.2600.2726|ole32.pdb|683B65B246F4418796D2EE6D4C55EB112|0x774e0000|0x7761cfff|0 9 | Module|version.dll|5.1.2600.2180|version.pdb|180A90C40384463E82DDC45B2C8AB76E2|0x77c00000|0x77c07fff|0 10 | Module|msvcrt.dll|7.0.2600.2180|msvcrt.pdb|A678F3C30DED426B839032B996987E381|0x77c10000|0x77c67fff|0 11 | Module|user32.dll|5.1.2600.2622|user32.pdb|EE2B714D83A34C9D88027621272F83262|0x77d40000|0x77dcffff|0 12 | Module|advapi32.dll|5.1.2600.2180|advapi32.pdb|455D6C5F184D45BBB5C5F30F829751142|0x77dd0000|0x77e6afff|0 13 | Module|rpcrt4.dll|5.1.2600.2180|rpcrt4.pdb|BEA45A721DA141DAA3BA86B3A20311532|0x77e70000|0x77f00fff|0 14 | Module|gdi32.dll|5.1.2600.2818|gdi32.pdb|C0EA66BE00A64BD7AEF79E443A91869C2|0x77f10000|0x77f56fff|0 15 | Module|kernel32.dll|5.1.2600.2945|kernel32.pdb|BCE8785C57B44245A669896B6A19B9542|0x7c800000|0x7c8f3fff|0 16 | Module|ntdll.dll|5.1.2600.2180|ntdll.pdb|36515FB5D04345E491F672FA2E2878C02|0x7c900000|0x7c9affff|0 17 | 18 | 0|0|test_app.exe|`anonymous namespace'::CrashFunction|c:\test_app.cc|58|0x3 19 | 0|1|test_app.exe|main|c:\test_app.cc|65|0x4 20 | 0|2|test_app.exe|__tmainCRTStartup|f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c|327|0x11 21 | 0|3|kernel32.dll|BaseProcessStart|||0x22 22 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/testdata/minidump2.stackwalk.out: -------------------------------------------------------------------------------- 1 | Operating system: Windows NT 2 | 5.1.2600 Service Pack 2 3 | CPU: x86 4 | GenuineIntel family 6 model 13 stepping 8 5 | 1 CPU 6 | 7 | Crash reason: EXCEPTION_ACCESS_VIOLATION 8 | Crash address: 0x45 9 | 10 | Thread 0 (crashed) 11 | 0 test_app.exe!`anonymous namespace'::CrashFunction [test_app.cc : 58 + 0x3] 12 | eip = 0x0040429e esp = 0x0012fe84 ebp = 0x0012fe88 ebx = 0x7c80abc1 13 | esi = 0x00000002 edi = 0x00000a28 eax = 0x00000045 ecx = 0x0012fe94 14 | edx = 0x0042bc58 efl = 0x00010246 15 | 1 test_app.exe!main [test_app.cc : 65 + 0x4] 16 | eip = 0x00404200 esp = 0x0012fe90 ebp = 0x0012ff70 17 | 2 test_app.exe!__tmainCRTStartup [crt0.c : 327 + 0x11] 18 | eip = 0x004053ec esp = 0x0012ff78 ebp = 0x0012ffc0 19 | 3 kernel32.dll!BaseProcessStart + 0x22 20 | eip = 0x7c816fd7 esp = 0x0012ffc8 ebp = 0x0012fff0 21 | 22 | Loaded modules: 23 | 0x00400000 - 0x0042cfff test_app.exe ??? (main) 24 | 0x59a60000 - 0x59b00fff dbghelp.dll 5.1.2600.2180 25 | 0x76390000 - 0x763acfff imm32.dll 5.1.2600.2180 26 | 0x76bf0000 - 0x76bfafff psapi.dll 5.1.2600.2180 27 | 0x774e0000 - 0x7761cfff ole32.dll 5.1.2600.2726 28 | 0x77c00000 - 0x77c07fff version.dll 5.1.2600.2180 29 | 0x77c10000 - 0x77c67fff msvcrt.dll 7.0.2600.2180 30 | 0x77d40000 - 0x77dcffff user32.dll 5.1.2600.2622 31 | 0x77dd0000 - 0x77e6afff advapi32.dll 5.1.2600.2180 32 | 0x77e70000 - 0x77f00fff rpcrt4.dll 5.1.2600.2180 33 | 0x77f10000 - 0x77f56fff gdi32.dll 5.1.2600.2818 34 | 0x7c800000 - 0x7c8f3fff kernel32.dll 5.1.2600.2945 35 | 0x7c900000 - 0x7c9affff ntdll.dll 5.1.2600.2180 36 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/testdata/module1.out: -------------------------------------------------------------------------------- 1 | MODULE windows x86 111111111111111111111111111111111 module1.pdb 2 | FILE 1 file1_1.cc 3 | FILE 2 file1_2.cc 4 | FILE 3 file1_3.cc 5 | FUNC 1000 c 0 Function1_1 6 | 1000 4 44 1 7 | 1004 4 45 1 8 | 1008 4 46 1 9 | FUNC 1100 8 4 Function1_2 10 | 1100 4 65 2 11 | 1104 4 66 2 12 | FUNC 1200 100 8 Function1_3 13 | FUNC 1300 100 c Function1_4 14 | FUNC 2000 0 0 Test_Zero_Size_Function_Is_Ignored 15 | 2000 4 88 2 16 | STACK WIN 4 1000 c 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = 17 | STACK WIN 4 1100 8 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = 18 | STACK WIN 4 1100 100 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = 19 | STACK WIN 4 1300 100 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = 20 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/testdata/module2.out: -------------------------------------------------------------------------------- 1 | MODULE windows x86 222222222 module2.pdb 2 | FILE 1 file2_1.cc 3 | FILE 2 file2_2.cc 4 | FILE 3 file2_3.cc 5 | FUNC 2000 c 4 Function2_1 6 | 1000 4 54 1 7 | 1004 4 55 1 8 | 1008 4 56 1 9 | PUBLIC 2160 0 Public2_1 10 | FUNC 2170 14 4 Function2_2 11 | 2170 6 10 2 12 | 2176 4 12 2 13 | 217a 6 13 2 14 | 2180 4 21 2 15 | PUBLIC 21a0 0 Public2_2 16 | STACK WIN 4 2000 c 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = 17 | STACK WIN 4 2170 14 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = 18 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/testdata/module3_bad.out: -------------------------------------------------------------------------------- 1 | MODULE windows x86 333333333333333333333333333333333 module3.pdb 2 | FILE 1 file1.cc 3 | FUNC 1000 4 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/processor/testdata/module4_bad.out: -------------------------------------------------------------------------------- 1 | MODULE windows x86 444444444444444444444444444444444 module4.pdb 2 | FILE 1 file4_1.cc 3 | FILE 2 file4_2.cc 4 | 1000 4 44 1 5 | 1004 4 45 1 6 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/CHANGES: -------------------------------------------------------------------------------- 1 | Changes for 1.1.0: 2 | 3 | * New feature: ability to use Google Mock with any testing framework. 4 | * New feature: macros for easily defining new matchers 5 | * New feature: macros for easily defining new actions. 6 | * New feature: more container matchers. 7 | * New feature: actions for accessing function arguments and throwing 8 | exceptions. 9 | * Improved the Google Mock doctor script for diagnosing compiler errors. 10 | * Bug fixes and implementation clean-up. 11 | 12 | Changes for 1.0.0: 13 | 14 | * Initial Open Source release of Google Mock 15 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This file contains a list of people who've made non-trivial 2 | # contribution to the Google C++ Mocking Framework project. People 3 | # who commit code to the project are encouraged to add their names 4 | # here. Please keep the list sorted by first names. 5 | 6 | Benoit Sigoure 7 | Bogdan Piloca 8 | Chandler Carruth 9 | Dave MacLachlan 10 | David Anderson 11 | Dean Sturtevant 12 | Gene Volovich 13 | Hal Burch 14 | Jeffrey Yasskin 15 | Jim Keller 16 | Joe Walnes 17 | Jon Wray 18 | Keir Mierle 19 | Keith Ray 20 | Kostya Serebryany 21 | Lev Makhlis 22 | Mario Tanev 23 | Mark Paskin 24 | Markus Heule 25 | Matthew Simmons 26 | Mike Bland 27 | Neal Norwitz 28 | Nermin Ozkiranartli 29 | Owen Carlsen 30 | Paneendra Ba 31 | Paul Menage 32 | Piotr Kaminski 33 | Russ Rufer 34 | Takeshi Yoshino 35 | Vadim Berman 36 | Vlad Losev 37 | Wolfgang Klier 38 | Zhanyong Wan 39 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/COPYING: -------------------------------------------------------------------------------- 1 | Copyright 2008, Google Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/build-aux/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/testing/build-aux/.keep -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/CHANGES: -------------------------------------------------------------------------------- 1 | Changes for 1.3.0: 2 | 3 | * New feature: death tests on Windows, Cygwin, and Mac. 4 | * New feature: ability to use Google Test assertions in other testing 5 | frameworks. 6 | * New feature: ability to run disabled test via 7 | --gtest_also_run_disabled_tests. 8 | * New feature: the --help flag for printing the usage. 9 | * New feature: access to Google Test flag values in user code. 10 | * New feature: a script that packs Google Test into one .h and one 11 | .cc file for easy deployment. 12 | * New feature: support for distributing test functions to multiple 13 | machines (requires support from the test runner). 14 | * Bug fixes and implementation clean-up. 15 | 16 | Changes for 1.2.1: 17 | 18 | * Compatibility fixes for Linux IA-64 and IBM z/OS. 19 | * Added support for using Boost and other TR1 implementations. 20 | * Changes to the build scripts to support upcoming release of Google C++ 21 | Mocking Framework. 22 | * Added Makefile to the distribution package. 23 | * Improved build instructions in README. 24 | 25 | Changes for 1.2.0: 26 | 27 | * New feature: value-parameterized tests. 28 | * New feature: the ASSERT/EXPECT_(NON)FATAL_FAILURE(_ON_ALL_THREADS) 29 | macros. 30 | * Changed the XML report format to match JUnit/Ant's. 31 | * Added tests to the Xcode project. 32 | * Added scons/SConscript for building with SCons. 33 | * Added src/gtest-all.cc for building Google Test from a single file. 34 | * Fixed compatibility with Solaris and z/OS. 35 | * Enabled running Python tests on systems with python 2.3 installed, 36 | e.g. Mac OS X 10.4. 37 | * Bug fixes. 38 | 39 | Changes for 1.1.0: 40 | 41 | * New feature: type-parameterized tests. 42 | * New feature: exception assertions. 43 | * New feature: printing elapsed time of tests. 44 | * Improved the robustness of death tests. 45 | * Added an Xcode project and samples. 46 | * Adjusted the output format on Windows to be understandable by Visual Studio. 47 | * Minor bug fixes. 48 | 49 | Changes for 1.0.1: 50 | 51 | * Added project files for Visual Studio 7.1. 52 | * Fixed issues with compiling on Mac OS X. 53 | * Fixed issues with compiling on Cygwin. 54 | 55 | Changes for 1.0.0: 56 | 57 | * Initial Open Source release of Google Test 58 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This file contains a list of people who've made non-trivial 2 | # contribution to the Google C++ Testing Framework project. People 3 | # who commit code to the project are encouraged to add their names 4 | # here. Please keep the list sorted by first names. 5 | 6 | Ajay Joshi 7 | Balázs Dán 8 | Bharat Mediratta 9 | Chandler Carruth 10 | Chris Prince 11 | Chris Taylor 12 | Dan Egnor 13 | Eric Roman 14 | Jeffrey Yasskin 15 | Jói Sigurðsson 16 | Keir Mierle 17 | Keith Ray 18 | Kenton Varda 19 | Markus Heule 20 | Mika Raento 21 | Patrick Hanna 22 | Patrick Riley 23 | Peter Kaminski 24 | Preston Jackson 25 | Rainer Klaffenboeck 26 | Russ Cox 27 | Russ Rufer 28 | Sean Mcafee 29 | Sigurður Ásgeirsson 30 | Tracy Bialik 31 | Vadim Berman 32 | Vlad Losev 33 | Zhanyong Wan 34 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/COPYING: -------------------------------------------------------------------------------- 1 | Copyright 2008, Google Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/build-aux/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/testing/gtest/build-aux/.keep -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/configure.ac: -------------------------------------------------------------------------------- 1 | # At this point, the Xcode project assumes the version string will be three 2 | # integers separated by periods and surrounded by square brackets (e.g. 3 | # "[1.0.1]"). It also asumes that there won't be any closing parenthesis 4 | # between "AC_INIT(" and the closing ")" including comments and strings. 5 | AC_INIT([Google C++ Testing Framework], 6 | [1.3.0], 7 | [googletestframework@googlegroups.com], 8 | [gtest]) 9 | 10 | # Provide various options to initialize the Autoconf and configure processes. 11 | AC_PREREQ([2.59]) 12 | AC_CONFIG_SRCDIR([./COPYING]) 13 | AC_CONFIG_AUX_DIR([build-aux]) 14 | AC_CONFIG_HEADERS([build-aux/config.h]) 15 | AC_CONFIG_FILES([Makefile]) 16 | AC_CONFIG_FILES([scripts/gtest-config], [chmod +x scripts/gtest-config]) 17 | 18 | # Initialize Automake with various options. We require at least v1.9, prevent 19 | # pedantic complaints about package files, and enable various distribution 20 | # targets. 21 | AM_INIT_AUTOMAKE([1.9 dist-bzip2 dist-zip foreign subdir-objects]) 22 | 23 | # Check for programs used in building Google Test. 24 | AC_PROG_CC 25 | AC_PROG_CXX 26 | AC_LANG([C++]) 27 | AC_PROG_LIBTOOL 28 | 29 | # TODO(chandlerc@google.com): Currently we aren't running the Python tests 30 | # against the interpreter detected by AM_PATH_PYTHON, and so we condition 31 | # HAVE_PYTHON by requiring "python" to be in the PATH, and that interpreter's 32 | # version to be >= 2.3. This will allow the scripts to use a "/usr/bin/env" 33 | # hashbang. 34 | PYTHON= # We *do not* allow the user to specify a python interpreter 35 | AC_PATH_PROG([PYTHON],[python],[:]) 36 | AS_IF([test "$PYTHON" != ":"], 37 | [AM_PYTHON_CHECK_VERSION([$PYTHON],[2.3],[:],[PYTHON=":"])]) 38 | AM_CONDITIONAL([HAVE_PYTHON],[test "$PYTHON" != ":"]) 39 | 40 | # TODO(chandlerc@google.com) Check for the necessary system headers. 41 | 42 | # TODO(chandlerc@google.com) Check the types, structures, and other compiler 43 | # and architecture characteristics. 44 | 45 | # Output the generated files. No further autoconf macros may be used. 46 | AC_OUTPUT 47 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/include/gtest/gtest_prod.h: -------------------------------------------------------------------------------- 1 | // Copyright 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | // 32 | // Google C++ Testing Framework definitions useful in production code. 33 | 34 | #ifndef GTEST_INCLUDE_GTEST_GTEST_PROD_H_ 35 | #define GTEST_INCLUDE_GTEST_GTEST_PROD_H_ 36 | 37 | // When you need to test the private or protected members of a class, 38 | // use the FRIEND_TEST macro to declare your tests as friends of the 39 | // class. For example: 40 | // 41 | // class MyClass { 42 | // private: 43 | // void MyMethod(); 44 | // FRIEND_TEST(MyClassTest, MyMethod); 45 | // }; 46 | // 47 | // class MyClassTest : public testing::Test { 48 | // // ... 49 | // }; 50 | // 51 | // TEST_F(MyClassTest, MyMethod) { 52 | // // Can call MyClass::MyMethod() here. 53 | // } 54 | 55 | #define FRIEND_TEST(test_case_name, test_name)\ 56 | friend class test_case_name##_##test_name##_Test 57 | 58 | #endif // GTEST_INCLUDE_GTEST_GTEST_PROD_H_ 59 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/samples/sample1.h: -------------------------------------------------------------------------------- 1 | // Copyright 2005, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // A sample program demonstrating using Google C++ testing framework. 31 | // 32 | // Author: wan@google.com (Zhanyong Wan) 33 | 34 | #ifndef GTEST_SAMPLES_SAMPLE1_H_ 35 | #define GTEST_SAMPLES_SAMPLE1_H_ 36 | 37 | // Returns n! (the factorial of n). For negative n, n! is defined to be 1. 38 | int Factorial(int n); 39 | 40 | // Returns true iff n is a prime number. 41 | bool IsPrime(int n); 42 | 43 | #endif // GTEST_SAMPLES_SAMPLE1_H_ 44 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/samples/sample2.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2005, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // A sample program demonstrating using Google C++ testing framework. 31 | // 32 | // Author: wan@google.com (Zhanyong Wan) 33 | 34 | #include "sample2.h" 35 | 36 | #include 37 | 38 | // Clones a 0-terminated C string, allocating memory using new. 39 | const char * MyString::CloneCString(const char * c_string) { 40 | if (c_string == NULL) return NULL; 41 | 42 | const size_t len = strlen(c_string); 43 | char * const clone = new char[ len + 1 ]; 44 | memcpy(clone, c_string, len + 1); 45 | 46 | return clone; 47 | } 48 | 49 | // Sets the 0-terminated C string this MyString object 50 | // represents. 51 | void MyString::Set(const char * c_string) { 52 | // Makes sure this works when c_string == c_string_ 53 | const char * const temp = MyString::CloneCString(c_string); 54 | delete[] c_string_; 55 | c_string_ = temp; 56 | } 57 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/samples/sample4.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2005, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // A sample program demonstrating using Google C++ testing framework. 31 | // 32 | // Author: wan@google.com (Zhanyong Wan) 33 | 34 | #include 35 | 36 | #include "sample4.h" 37 | 38 | // Returns the current counter value, and increments it. 39 | int Counter::Increment() { 40 | return counter_++; 41 | } 42 | 43 | // Prints the current counter value to STDOUT. 44 | void Counter::Print() const { 45 | printf("%d", counter_); 46 | } 47 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/samples/sample4.h: -------------------------------------------------------------------------------- 1 | // Copyright 2005, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // A sample program demonstrating using Google C++ testing framework. 31 | // 32 | // Author: wan@google.com (Zhanyong Wan) 33 | 34 | #ifndef GTEST_SAMPLES_SAMPLE4_H_ 35 | #define GTEST_SAMPLES_SAMPLE4_H_ 36 | 37 | // A simple monotonic counter. 38 | class Counter { 39 | private: 40 | int counter_; 41 | 42 | public: 43 | // Creates a counter that starts at 0. 44 | Counter() : counter_(0) {} 45 | 46 | // Returns the current counter value, and increments it. 47 | int Increment(); 48 | 49 | // Prints the current counter value to STDOUT. 50 | void Print() const; 51 | }; 52 | 53 | #endif // GTEST_SAMPLES_SAMPLE4_H_ 54 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/samples/sample4_unittest.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2005, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | 32 | #include 33 | #include "sample4.h" 34 | 35 | // Tests the Increment() method. 36 | TEST(Counter, Increment) { 37 | Counter c; 38 | 39 | // EXPECT_EQ() evaluates its arguments exactly once, so they 40 | // can have side effects. 41 | 42 | EXPECT_EQ(0, c.Increment()); 43 | EXPECT_EQ(1, c.Increment()); 44 | EXPECT_EQ(2, c.Increment()); 45 | } 46 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/scripts/test/Makefile: -------------------------------------------------------------------------------- 1 | # A Makefile for fusing Google Test and building a sample test against it. 2 | # 3 | # SYNOPSIS: 4 | # 5 | # make [all] - makes everything. 6 | # make TARGET - makes the given target. 7 | # make check - makes everything and runs the built sample test. 8 | # make clean - removes all files generated by make. 9 | 10 | # Points to the root of fused Google Test, relative to where this file is. 11 | FUSED_GTEST_DIR = output 12 | 13 | # Paths to the fused gtest files. 14 | FUSED_GTEST_H = $(FUSED_GTEST_DIR)/gtest/gtest.h 15 | FUSED_GTEST_ALL_CC = $(FUSED_GTEST_DIR)/gtest/gtest-all.cc 16 | 17 | # Where to find the sample test. 18 | SAMPLE_DIR = ../../samples 19 | 20 | # Where to find gtest_main.cc. 21 | GTEST_MAIN_CC = ../../src/gtest_main.cc 22 | 23 | # Flags passed to the preprocessor. 24 | CPPFLAGS += -I$(FUSED_GTEST_DIR) 25 | 26 | # Flags passed to the C++ compiler. 27 | CXXFLAGS += -g 28 | 29 | all : sample1_unittest 30 | 31 | check : all 32 | ./sample1_unittest 33 | 34 | clean : 35 | rm -rf $(FUSED_GTEST_DIR) sample1_unittest *.o 36 | 37 | $(FUSED_GTEST_H) : 38 | ../fuse_gtest_files.py $(FUSED_GTEST_DIR) 39 | 40 | $(FUSED_GTEST_ALL_CC) : 41 | ../fuse_gtest_files.py $(FUSED_GTEST_DIR) 42 | 43 | gtest-all.o : $(FUSED_GTEST_H) $(FUSED_GTEST_ALL_CC) 44 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(FUSED_GTEST_DIR)/gtest/gtest-all.cc 45 | 46 | gtest_main.o : $(FUSED_GTEST_H) $(GTEST_MAIN_CC) 47 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GTEST_MAIN_CC) 48 | 49 | sample1.o : $(SAMPLE_DIR)/sample1.cc $(SAMPLE_DIR)/sample1.h 50 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SAMPLE_DIR)/sample1.cc 51 | 52 | sample1_unittest.o : $(SAMPLE_DIR)/sample1_unittest.cc \ 53 | $(SAMPLE_DIR)/sample1.h $(FUSED_GTEST_H) 54 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SAMPLE_DIR)/sample1_unittest.cc 55 | 56 | sample1_unittest : sample1.o sample1_unittest.o gtest-all.o gtest_main.o 57 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@ 58 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/src/gtest-all.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: mheule@google.com (Markus Heule) 31 | // 32 | // Google C++ Testing Framework (Google Test) 33 | // 34 | // Sometimes it's desirable to build Google Test by compiling a single file. 35 | // This file serves this purpose. 36 | #include "src/gtest.cc" 37 | #include "src/gtest-death-test.cc" 38 | #include "src/gtest-filepath.cc" 39 | #include "src/gtest-port.cc" 40 | #include "src/gtest-test-part.cc" 41 | #include "src/gtest-typed-test.cc" 42 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/src/gtest_main.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #include 31 | 32 | #include 33 | 34 | int main(int argc, char **argv) { 35 | std::cout << "Running main() from gtest_main.cc\n"; 36 | 37 | testing::InitGoogleTest(&argc, argv); 38 | return RUN_ALL_TESTS(); 39 | } 40 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest-typed-test2_test.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008 Google Inc. 2 | // All Rights Reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | 32 | #include 33 | 34 | #include "test/gtest-typed-test_test.h" 35 | #include 36 | 37 | #if GTEST_HAS_TYPED_TEST_P 38 | 39 | // Tests that the same type-parameterized test case can be 40 | // instantiated in different translation units linked together. 41 | // (ContainerTest is also instantiated in gtest-typed-test_test.cc.) 42 | INSTANTIATE_TYPED_TEST_CASE_P(Vector, ContainerTest, 43 | testing::Types >); 44 | 45 | #endif // GTEST_HAS_TYPED_TEST_P 46 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest_all_test.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2009, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | // 32 | // Tests for Google C++ Testing Framework (Google Test) 33 | // 34 | // Sometimes it's desirable to build most of Google Test's own tests 35 | // by compiling a single file. This file serves this purpose. 36 | #include "test/gtest-filepath_test.cc" 37 | #include "test/gtest-linked_ptr_test.cc" 38 | #include "test/gtest-message_test.cc" 39 | #include "test/gtest-options_test.cc" 40 | #include "test/gtest-port_test.cc" 41 | #include "test/gtest_pred_impl_unittest.cc" 42 | #include "test/gtest_prod_test.cc" 43 | #include "test/gtest-test-part_test.cc" 44 | #include "test/gtest-typed-test_test.cc" 45 | #include "test/gtest-typed-test2_test.cc" 46 | #include "test/gtest_unittest.cc" 47 | #include "test/production.cc" 48 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest_help_test_.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2009, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | 32 | // This program is meant to be run by gtest_help_test.py. Do not run 33 | // it directly. 34 | 35 | #include 36 | 37 | // When a help flag is specified, this program should skip the tests 38 | // and exit with 0; otherwise the following test will be executed, 39 | // causing this program to exit with a non-zero code. 40 | TEST(HelpFlagTest, ShouldNotBeRun) { 41 | ASSERT_TRUE(false) << "Tests shouldn't be run when --help is specified."; 42 | } 43 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest_main_unittest.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | 32 | #include 33 | 34 | // Tests that we don't have to define main() when we link to 35 | // gtest_main instead of gtest. 36 | 37 | namespace { 38 | 39 | TEST(GTestMainTest, ShouldSucceed) { 40 | } 41 | 42 | } // namespace 43 | 44 | // We are using the main() function defined in src/gtest_main.cc, so 45 | // we don't define it here. 46 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest_no_test_unittest.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // Tests that a Google Test program that has no test defined can run 31 | // successfully. 32 | // 33 | // Author: wan@google.com (Zhanyong Wan) 34 | 35 | #include 36 | 37 | 38 | int main(int argc, char **argv) { 39 | testing::InitGoogleTest(&argc, argv); 40 | 41 | // An ad-hoc assertion outside of all tests. 42 | // 43 | // This serves two purposes: 44 | // 45 | // 1. It verifies that an ad-hoc assertion can be executed even if 46 | // no test is defined. 47 | // 2. We had a bug where the XML output won't be generated if an 48 | // assertion is executed before RUN_ALL_TESTS() is called, even 49 | // though --gtest_output=xml is specified. This makes sure the 50 | // bug is fixed and doesn't regress. 51 | EXPECT_EQ(1, 1); 52 | 53 | return RUN_ALL_TESTS(); 54 | } 55 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest_prod_test.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | // 32 | // Unit test for include/gtest/gtest_prod.h. 33 | 34 | #include 35 | #include "test/production.h" 36 | 37 | // Tests that private members can be accessed from a TEST declared as 38 | // a friend of the class. 39 | TEST(PrivateCodeTest, CanAccessPrivateMembers) { 40 | PrivateCode a; 41 | EXPECT_EQ(0, a.x_); 42 | 43 | a.set_x(1); 44 | EXPECT_EQ(1, a.x_); 45 | } 46 | 47 | typedef testing::Test PrivateCodeFixtureTest; 48 | 49 | // Tests that private members can be accessed from a TEST_F declared 50 | // as a friend of the class. 51 | TEST_F(PrivateCodeFixtureTest, CanAccessPrivateMembers) { 52 | PrivateCode a; 53 | EXPECT_EQ(0, a.x_); 54 | 55 | a.set_x(2); 56 | EXPECT_EQ(2, a.x_); 57 | } 58 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest_sole_header_test.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: mheule@google.com (Markus Heule) 31 | // 32 | // This test verifies that it's possible to use Google Test by including 33 | // the gtest.h header file alone. 34 | 35 | #include 36 | 37 | namespace { 38 | 39 | void Subroutine() { 40 | EXPECT_EQ(42, 42); 41 | } 42 | 43 | TEST(NoFatalFailureTest, ExpectNoFatalFailure) { 44 | EXPECT_NO_FATAL_FAILURE(;); 45 | EXPECT_NO_FATAL_FAILURE(SUCCEED()); 46 | EXPECT_NO_FATAL_FAILURE(Subroutine()); 47 | EXPECT_NO_FATAL_FAILURE({ SUCCEED(); }); 48 | } 49 | 50 | TEST(NoFatalFailureTest, AssertNoFatalFailure) { 51 | ASSERT_NO_FATAL_FAILURE(;); 52 | ASSERT_NO_FATAL_FAILURE(SUCCEED()); 53 | ASSERT_NO_FATAL_FAILURE(Subroutine()); 54 | ASSERT_NO_FATAL_FAILURE({ SUCCEED(); }); 55 | } 56 | 57 | } // namespace 58 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest_uninitialized_test_.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | 32 | #include 33 | 34 | TEST(DummyTest, Dummy) { 35 | // This test doesn't verify anything. We just need it to create a 36 | // realistic stage for testing the behavior of Google Test when 37 | // RUN_ALL_TESTS() is called without testing::InitGoogleTest() being 38 | // called first. 39 | } 40 | 41 | int main() { 42 | return RUN_ALL_TESTS(); 43 | } 44 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest_xml_outfile1_test_.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: keith.ray@gmail.com (Keith Ray) 31 | // 32 | // gtest_xml_outfile1_test_ writes some xml via TestProperty used by 33 | // gtest_xml_outfiles_test.py 34 | 35 | #include 36 | 37 | class PropertyOne : public testing::Test { 38 | protected: 39 | virtual void SetUp() { 40 | RecordProperty("SetUpProp", 1); 41 | } 42 | virtual void TearDown() { 43 | RecordProperty("TearDownProp", 1); 44 | } 45 | }; 46 | 47 | TEST_F(PropertyOne, TestSomeProperties) { 48 | RecordProperty("TestSomeProperty", 1); 49 | } 50 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/gtest_xml_outfile2_test_.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: keith.ray@gmail.com (Keith Ray) 31 | // 32 | // gtest_xml_outfile2_test_ writes some xml via TestProperty used by 33 | // gtest_xml_outfiles_test.py 34 | 35 | #include 36 | 37 | class PropertyTwo : public testing::Test { 38 | protected: 39 | virtual void SetUp() { 40 | RecordProperty("SetUpProp", 2); 41 | } 42 | virtual void TearDown() { 43 | RecordProperty("TearDownProp", 2); 44 | } 45 | }; 46 | 47 | TEST_F(PropertyTwo, TestSomeProperties) { 48 | RecordProperty("TestSomeProperty", 2); 49 | } 50 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/production.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | // 32 | // This is part of the unit test for include/gtest/gtest_prod.h. 33 | 34 | #include "production.h" 35 | 36 | PrivateCode::PrivateCode() : x_(0) {} 37 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/test/production.h: -------------------------------------------------------------------------------- 1 | // Copyright 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | // 32 | // This is part of the unit test for include/gtest/gtest_prod.h. 33 | 34 | #ifndef GTEST_TEST_PRODUCTION_H_ 35 | #define GTEST_TEST_PRODUCTION_H_ 36 | 37 | #include 38 | 39 | class PrivateCode { 40 | public: 41 | // Declares a friend test that does not use a fixture. 42 | FRIEND_TEST(PrivateCodeTest, CanAccessPrivateMembers); 43 | 44 | // Declares a friend test that uses a fixture. 45 | FRIEND_TEST(PrivateCodeFixtureTest, CanAccessPrivateMembers); 46 | 47 | PrivateCode(); 48 | 49 | int x() const { return x_; } 50 | private: 51 | void set_x(int x) { x_ = x; } 52 | int x_; 53 | }; 54 | 55 | #endif // GTEST_TEST_PRODUCTION_H_ 56 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Config/DebugProject.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // DebugProject.xcconfig 3 | // 4 | // These are Debug Configuration project settings for the gtest framework and 5 | // examples. It is set in the "Based On:" dropdown in the "Project" info 6 | // dialog. 7 | // This file is based on the Xcode Configuration files in: 8 | // http://code.google.com/p/google-toolbox-for-mac/ 9 | // 10 | 11 | #include "General.xcconfig" 12 | 13 | // No optimization 14 | GCC_OPTIMIZATION_LEVEL = 0 15 | 16 | // Deployment postprocessing is what triggers Xcode to strip, turn it off 17 | DEPLOYMENT_POSTPROCESSING = NO 18 | 19 | // Dead code stripping off 20 | DEAD_CODE_STRIPPING = NO 21 | 22 | // Debug symbols should be on obviously 23 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES 24 | 25 | // Define the DEBUG macro in all debug builds 26 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DDEBUG=1 27 | 28 | // These are turned off to avoid STL incompatibilities with client code 29 | // // Turns on special C++ STL checks to "encourage" good STL use 30 | // GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS) _GLIBCXX_DEBUG_PEDANTIC _GLIBCXX_DEBUG _GLIBCPP_CONCEPT_CHECKS 31 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Config/FrameworkTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // FrameworkTarget.xcconfig 3 | // 4 | // These are Framework target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Dynamic libs need to be position independent 11 | GCC_DYNAMIC_NO_PIC = NO 12 | 13 | // Dynamic libs should not have their external symbols stripped. 14 | STRIP_STYLE = non-global 15 | 16 | // Installation Directory 17 | INSTALL_PATH = @loader_path/../Frameworks 18 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Config/General.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // General.xcconfig 3 | // 4 | // These are General configuration settings for the gtest framework and 5 | // examples. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Build for PPC and Intel, 32- and 64-bit 11 | ARCHS = i386 x86_64 ppc ppc64 12 | 13 | // Zerolink prevents link warnings so turn it off 14 | ZERO_LINK = NO 15 | 16 | // Prebinding considered unhelpful in 10.3 and later 17 | PREBINDING = NO 18 | 19 | // Strictest warning policy 20 | WARNING_CFLAGS = -Wall -Werror -Wendif-labels -Wnewline-eof -Wno-sign-compare 21 | 22 | // Work around Xcode bugs by using external strip. See: 23 | // http://lists.apple.com/archives/Xcode-users/2006/Feb/msg00050.html 24 | SEPARATE_STRIP = YES 25 | 26 | // Force C99 dialect 27 | GCC_C_LANGUAGE_STANDARD = c99 28 | 29 | // not sure why apple defaults this on, but it's pretty risky 30 | ALWAYS_SEARCH_USER_PATHS = NO 31 | 32 | // Turn on position dependent code for most cases (overridden where appropriate) 33 | GCC_DYNAMIC_NO_PIC = YES 34 | 35 | // Default SDK and minimum OS version is 10.4 36 | SDKROOT = $(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk 37 | MACOSX_DEPLOYMENT_TARGET = 10.4 38 | GCC_VERSION = 4.0 39 | 40 | // VERSIONING BUILD SETTINGS (used in Info.plist) 41 | GTEST_VERSIONINFO_ABOUT = © 2008 Google Inc. 42 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Config/InternalPythonTestTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // InternalPythonTestTarget.xcconfig 3 | // 4 | // These are Test target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | 7 | PRODUCT_NAME = $(TARGET_NAME)_ 8 | HEADER_SEARCH_PATHS = ../ ../include 9 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Config/InternalTestTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // InternalTestTarget.xcconfig 3 | // 4 | // These are Test target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | 7 | PRODUCT_NAME = $(TARGET_NAME) 8 | HEADER_SEARCH_PATHS = ../ ../include 9 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Config/ReleaseProject.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // ReleaseProject.xcconfig 3 | // 4 | // These are Release Configuration project settings for the gtest framework 5 | // and examples. It is set in the "Based On:" dropdown in the "Project" info 6 | // dialog. 7 | // This file is based on the Xcode Configuration files in: 8 | // http://code.google.com/p/google-toolbox-for-mac/ 9 | // 10 | 11 | #include "General.xcconfig" 12 | 13 | // subconfig/Release.xcconfig 14 | 15 | // Optimize for space and size (Apple recommendation) 16 | GCC_OPTIMIZATION_LEVEL = s 17 | 18 | // Deploment postprocessing is what triggers Xcode to strip 19 | DEPLOYMENT_POSTPROCESSING = YES 20 | 21 | // No symbols 22 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO 23 | 24 | // Dead code strip does not affect ObjC code but can help for C 25 | DEAD_CODE_STRIPPING = YES 26 | 27 | // NDEBUG is used by things like assert.h, so define it for general compat. 28 | // ASSERT going away in release tends to create unused vars. 29 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DNDEBUG=1 -Wno-unused-variable 30 | 31 | // When we strip we want to strip all symbols in release, but save externals. 32 | STRIP_STYLE = all 33 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Config/TestTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // TestTarget.xcconfig 3 | // 4 | // These are Test target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | 7 | PRODUCT_NAME = $(TARGET_NAME) 8 | HEADER_SEARCH_PATHS = ../include 9 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.${PRODUCT_NAME} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | GTEST_VERSIONINFO_LONG 21 | CFBundleShortVersionString 22 | GTEST_VERSIONINFO_SHORT 23 | CFBundleGetInfoString 24 | ${PRODUCT_NAME} GTEST_VERSIONINFO_LONG, ${GTEST_VERSIONINFO_ABOUT} 25 | NSHumanReadableCopyright 26 | ${GTEST_VERSIONINFO_ABOUT} 27 | CSResourcesFileMapped 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Samples/FrameworkSample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.gtest.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | CSResourcesFileMapped 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/gtest/xcode/Samples/FrameworkSample/widget.h: -------------------------------------------------------------------------------- 1 | // Copyright 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: preston.jackson@gmail.com (Preston Jackson) 31 | // 32 | // Google Test - FrameworkSample 33 | // widget.h 34 | // 35 | 36 | // Widget is a very simple class used for demonstrating the use of gtest. It 37 | // simply stores two values a string and an integer, which are returned via 38 | // public accessors in multiple forms. 39 | 40 | #import 41 | 42 | class Widget { 43 | public: 44 | Widget(int number, const std::string& name); 45 | ~Widget(); 46 | 47 | // Public accessors to number data 48 | float GetFloatValue() const; 49 | int GetIntValue() const; 50 | 51 | // Public accessors to the string data 52 | std::string GetStringValue() const; 53 | void GetCharPtrValue(char* buffer, size_t max_size) const; 54 | 55 | private: 56 | // Data members 57 | float number_; 58 | std::string name_; 59 | }; 60 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/msvc/gmock_config.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 16 | 20 | 21 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/scripts/generator/README: -------------------------------------------------------------------------------- 1 | 2 | The Google Mock class generator is an application that is part of cppclean. 3 | For more information about cppclean, see the README.cppclean file or 4 | visit http://code.google.com/p/cppclean/ 5 | 6 | cppclean requires Python 2.3.5 or later. If you don't have Python installed 7 | on your system, you will also need to install it. You can download Python 8 | from: http://www.python.org/download/releases/ 9 | 10 | To use the Google Mock class generator, you need to call it 11 | on the command line passing the header file and class for which you want 12 | to generate a Google Mock class. 13 | 14 | Make sure to install the scripts somewhere in your path. Then you can 15 | run the program. 16 | 17 | gmock_gen.py header-file.h [ClassName]... 18 | 19 | If no ClassNames are specified, all classes in the file are emitted. 20 | 21 | To change the indentation from the default of 2, set INDENT in 22 | the environment. For example to use an indent of 4 spaces: 23 | 24 | INDENT=4 gmock_gen.py header-file.h ClassName 25 | 26 | This version was made from SVN revision 279 in the cppclean repository. 27 | 28 | Known Limitations 29 | ----------------- 30 | Not all code will be generated properly. For example, when mocking templated 31 | classes, the template information is lost. You will need to add the template 32 | information manually. 33 | 34 | Not all permutations of using multiple pointers/references will be rendered 35 | properly. These will also have to be fixed manually. 36 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/scripts/generator/cpp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/testing/scripts/generator/cpp/__init__.py -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/scripts/generator/cpp/keywords.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright 2007 Neal Norwitz 4 | # Portions Copyright 2007 Google Inc. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | 18 | """C++ keywords and helper utilities for determining keywords.""" 19 | 20 | __author__ = 'nnorwitz@google.com (Neal Norwitz)' 21 | 22 | 23 | try: 24 | # Python 3.x 25 | import builtins 26 | except ImportError: 27 | # Python 2.x 28 | import __builtin__ as builtins 29 | 30 | 31 | if not hasattr(builtins, 'set'): 32 | # Nominal support for Python 2.3. 33 | from sets import Set as set 34 | 35 | 36 | TYPES = set('bool char int long short double float void wchar_t unsigned signed'.split()) 37 | TYPE_MODIFIERS = set('auto register const inline extern static virtual volatile mutable'.split()) 38 | ACCESS = set('public protected private friend'.split()) 39 | 40 | CASTS = set('static_cast const_cast dynamic_cast reinterpret_cast'.split()) 41 | 42 | OTHERS = set('true false asm class namespace using explicit this operator sizeof'.split()) 43 | OTHER_TYPES = set('new delete typedef struct union enum typeid typename template'.split()) 44 | 45 | CONTROL = set('case switch default if else return goto'.split()) 46 | EXCEPTION = set('try catch throw'.split()) 47 | LOOP = set('while do for break continue'.split()) 48 | 49 | ALL = TYPES | TYPE_MODIFIERS | ACCESS | CASTS | OTHERS | OTHER_TYPES | CONTROL | EXCEPTION | LOOP 50 | 51 | 52 | def IsKeyword(token): 53 | return token in ALL 54 | 55 | def IsBuiltinType(token): 56 | if token in ('virtual', 'inline'): 57 | # These only apply to methods, they can't be types by themselves. 58 | return False 59 | return token in TYPES or token in TYPE_MODIFIERS 60 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/scripts/generator/cpp/utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright 2007 Neal Norwitz 4 | # Portions Copyright 2007 Google Inc. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | 18 | """Generic utilities for C++ parsing.""" 19 | 20 | __author__ = 'nnorwitz@google.com (Neal Norwitz)' 21 | 22 | 23 | import sys 24 | 25 | 26 | # Set to True to see the start/end token indices. 27 | DEBUG = True 28 | 29 | 30 | def ReadFile(filename, print_error=True): 31 | """Returns the contents of a file.""" 32 | try: 33 | fp = open(filename) 34 | try: 35 | return fp.read() 36 | finally: 37 | fp.close() 38 | except IOError: 39 | if print_error: 40 | print('Error reading %s: %s' % (filename, sys.exc_info()[1])) 41 | return None 42 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/scripts/generator/gmock_gen.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright 2008 Google Inc. All Rights Reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | """Driver for starting up Google Mock class generator.""" 18 | 19 | __author__ = 'nnorwitz@google.com (Neal Norwitz)' 20 | 21 | import os 22 | import sys 23 | 24 | if __name__ == '__main__': 25 | # Add the directory of this script to the path so we can import gmock_class. 26 | sys.path.append(os.path.dirname(__file__)) 27 | 28 | from cpp import gmock_class 29 | # Fix the docstring in case they require the usage. 30 | gmock_class.__doc__ = gmock_class.__doc__.replace('gmock_class.py', __file__) 31 | gmock_class.main() 32 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/scripts/test/Makefile: -------------------------------------------------------------------------------- 1 | # A Makefile for fusing Google Mock and building a sample test against it. 2 | # 3 | # SYNOPSIS: 4 | # 5 | # make [all] - makes everything. 6 | # make TARGET - makes the given target. 7 | # make check - makes everything and runs the built sample test. 8 | # make clean - removes all files generated by make. 9 | 10 | # Points to the root of fused Google Mock, relative to where this file is. 11 | FUSED_GMOCK_DIR = output 12 | 13 | # Paths to the fused gmock files. 14 | FUSED_GTEST_H = $(FUSED_GMOCK_DIR)/gtest/gtest.h 15 | FUSED_GMOCK_H = $(FUSED_GMOCK_DIR)/gmock/gmock.h 16 | FUSED_GMOCK_GTEST_ALL_CC = $(FUSED_GMOCK_DIR)/gmock-gtest-all.cc 17 | 18 | # Where to find the gmock_test.cc. 19 | GMOCK_TEST_CC = ../../test/gmock_test.cc 20 | 21 | # Where to find gmock_main.cc. 22 | GMOCK_MAIN_CC = ../../src/gmock_main.cc 23 | 24 | # Flags passed to the preprocessor. 25 | CPPFLAGS += -I$(FUSED_GMOCK_DIR) 26 | 27 | # Flags passed to the C++ compiler. 28 | CXXFLAGS += -g 29 | 30 | all : gmock_test 31 | 32 | check : all 33 | ./gmock_test 34 | 35 | clean : 36 | rm -rf $(FUSED_GMOCK_DIR) gmock_test *.o 37 | 38 | $(FUSED_GTEST_H) : 39 | ../fuse_gmock_files.py $(FUSED_GMOCK_DIR) 40 | 41 | $(FUSED_GMOCK_H) : 42 | ../fuse_gmock_files.py $(FUSED_GMOCK_DIR) 43 | 44 | $(FUSED_GMOCK_GTEST_ALL_CC) : 45 | ../fuse_gmock_files.py $(FUSED_GMOCK_DIR) 46 | 47 | gmock-gtest-all.o : $(FUSED_GTEST_H) $(FUSED_GMOCK_H) $(FUSED_GMOCK_GTEST_ALL_CC) 48 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(FUSED_GMOCK_GTEST_ALL_CC) 49 | 50 | gmock_main.o : $(FUSED_GTEST_H) $(FUSED_GMOCK_H) $(GMOCK_MAIN_CC) 51 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GMOCK_MAIN_CC) 52 | 53 | gmock_test.o : $(FUSED_GTEST_H) $(FUSED_GMOCK_H) $(GMOCK_TEST_CC) 54 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GMOCK_TEST_CC) 55 | 56 | gmock_test : gmock_test.o gmock-gtest-all.o gmock_main.o 57 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@ 58 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/src/gmock-all.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan) 31 | // 32 | // Google C++ Mocking Framework (Google Mock) 33 | // 34 | // This file #includes all Google Mock implementation .cc files. The 35 | // purpose is to allow a user to build Google Mock by compiling this 36 | // file alone. 37 | 38 | #include "src/gmock-cardinalities.cc" 39 | #include "src/gmock-internal-utils.cc" 40 | #include "src/gmock-matchers.cc" 41 | #include "src/gmock-printers.cc" 42 | #include "src/gmock-spec-builders.cc" 43 | #include "src/gmock.cc" 44 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/test/gmock_link2_test.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan), vladl@google.com (Vlad Losev) 31 | 32 | // Google Mock - a framework for writing C++ mock classes. 33 | // 34 | // This file is for verifying that various Google Mock constructs do not 35 | // produce linker errors when instantiated in different translation units. 36 | // Please see gmock_link_test.h for details. 37 | 38 | #define LinkTest LinkTest2 39 | 40 | #include "test/gmock_link_test.h" 41 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/testing/test/gmock_link_test.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | // 30 | // Author: wan@google.com (Zhanyong Wan), vladl@google.com (Vlad Losev) 31 | 32 | // Google Mock - a framework for writing C++ mock classes. 33 | // 34 | // This file is for verifying that various Google Mock constructs do not 35 | // produce linker errors when instantiated in different translation units. 36 | // Please see gmock_link_test.h for details. 37 | 38 | #define LinkTest LinkTest1 39 | 40 | #include "test/gmock_link_test.h" 41 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/linux/dump_syms/Makefile: -------------------------------------------------------------------------------- 1 | CXX=g++ 2 | CC=gcc 3 | 4 | CPPFLAGS=-DNDEBUG 5 | CXXFLAGS=-g3 -O2 -Wall -m32 6 | 7 | 8 | # These flags are necessary to compile correctly; the 'override' 9 | # command makes sure these are added even if the user sets CPPFLAGS on 10 | # the command line. 11 | override CPPFLAGS+=-I../../.. -D_REENTRANT 12 | 13 | .PHONY:all clean 14 | 15 | BIN=dump_syms 16 | 17 | all:$(BIN) 18 | 19 | DUMP_OBJ=dump_symbols.o guid_creator.o dump_syms.o file_id.o md5.o 20 | 21 | dump_syms:$(DUMP_OBJ) 22 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ 23 | 24 | dump_symbols.o:../../../common/linux/dump_symbols.cc 25 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $^ 26 | 27 | guid_creator.o:../../../common/linux/guid_creator.cc 28 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $^ 29 | 30 | file_id.o:../../../common/linux/file_id.cc 31 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $^ 32 | 33 | md5.o:../../../common/md5.c 34 | $(CC) $(CPPFLAGS) $(CXXFLAGS) -c $^ 35 | 36 | clean: 37 | rm -f $(BIN) $(DUMP_OBJ) 38 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/linux/dump_syms/dump_syms.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | #include 31 | #include 32 | 33 | #include "common/linux/dump_symbols.h" 34 | 35 | using namespace google_breakpad; 36 | 37 | int main(int argc, char **argv) { 38 | if (argc != 2) { 39 | fprintf(stderr, "Usage: %s \n", argv[0]); 40 | return 1; 41 | } 42 | 43 | const char *binary = argv[1]; 44 | 45 | DumpSymbols dumper; 46 | if (!dumper.WriteSymbolFile(binary, stdout)) { 47 | fprintf(stderr, "Failed to write symbol file.\n"); 48 | return 1; 49 | } 50 | 51 | return 0; 52 | } 53 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/linux/symupload/Makefile: -------------------------------------------------------------------------------- 1 | CXX=g++ 2 | 3 | CXXFLAGS=-gstabs -I../../.. -Wall -D_REENTRANT 4 | 5 | .PHONY:all clean 6 | 7 | BIN=minidump_upload sym_upload 8 | 9 | all:$(BIN) 10 | 11 | DUMP_UPLOAD_OBJ=minidump_upload.o http_upload.o 12 | SYM_UPLOAD_OBJ=sym_upload.o http_upload.o 13 | 14 | minidump_upload:$(DUMP_UPLOAD_OBJ) 15 | $(CXX) $(CXXFLAGS) -ldl -o $@ $^ 16 | 17 | sym_upload:$(SYM_UPLOAD_OBJ) 18 | $(CXX) $(CXXFLAGS) -ldl -o $@ $^ 19 | 20 | http_upload.o:../../../common/linux/http_upload.cc 21 | $(CXX) $(CXXFLAGS) `curl-config --cflags` -c $^ 22 | 23 | clean: 24 | rm *.o $(BIN) 25 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/solaris/dump_syms/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2007, Google Inc. 2 | # All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions are 6 | # met: 7 | # 8 | # * Redistributions of source code must retain the above copyright 9 | # notice, this list of conditions and the following disclaimer. 10 | # * Redistributions in binary form must reproduce the above 11 | # copyright notice, this list of conditions and the following disclaimer 12 | # in the documentation and/or other materials provided with the 13 | # distribution. 14 | # * Neither the name of Google Inc. nor the names of its 15 | # contributors may be used to endorse or promote products derived from 16 | # this software without specific prior written permission. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | # Author: Alfred Peng 31 | 32 | CXX=CC 33 | CC=cc 34 | 35 | CXXFLAGS=-g -xs -xdebugformat=stabs -I../../.. -I../../../common/solaris -lelf -ldemangle -D_REENTRANT 36 | 37 | .PHONY:all clean 38 | 39 | BIN=dump_syms 40 | 41 | all:$(BIN) 42 | 43 | DUMP_OBJ=dump_symbols.o guid_creator.o dump_syms.o file_id.o md5.o 44 | 45 | dump_syms:$(DUMP_OBJ) 46 | $(CXX) $(CXXFLAGS) -o $@ $^ 47 | 48 | dump_symbols.o:../../../common/solaris/dump_symbols.cc 49 | $(CXX) $(CXXFLAGS) -c $^ 50 | 51 | guid_creator.o:../../../common/solaris/guid_creator.cc 52 | $(CXX) $(CXXFLAGS) -c $^ 53 | 54 | file_id.o:../../../common/solaris/file_id.cc 55 | $(CXX) $(CXXFLAGS) -c $^ 56 | 57 | md5.o:../../../common/md5.c 58 | $(CC) $(CXXFLAGS) -c $^ 59 | 60 | test:all 61 | ./run_regtest.sh 62 | 63 | clean: 64 | rm -f $(BIN) $(DUMP_OBJ) 65 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/solaris/dump_syms/dump_syms.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2007, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // Author: Alfred Peng 31 | 32 | #include 33 | #include 34 | 35 | #include "common/solaris/dump_symbols.h" 36 | 37 | using namespace google_breakpad; 38 | 39 | int main(int argc, char **argv) { 40 | if (argc != 2) { 41 | fprintf(stderr, "Usage: %s \n", argv[0]); 42 | return 1; 43 | } 44 | 45 | const char *binary = argv[1]; 46 | 47 | DumpSymbols dumper; 48 | if (!dumper.WriteSymbolFile(binary, fileno(stdout))) { 49 | fprintf(stderr, "Failed to write symbol file.\n"); 50 | return 1; 51 | } 52 | 53 | return 0; 54 | } 55 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/solaris/dump_syms/run_regtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright (c) 2007, Google Inc. 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions are 8 | # met: 9 | # 10 | # * Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # * Redistributions in binary form must reproduce the above 13 | # copyright notice, this list of conditions and the following disclaimer 14 | # in the documentation and/or other materials provided with the 15 | # distribution. 16 | # * Neither the name of Google Inc. nor the names of its 17 | # contributors may be used to endorse or promote products derived from 18 | # this software without specific prior written permission. 19 | # 20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | 32 | ./dump_syms testdata/dump_syms_regtest.o > testdata/dump_syms_regtest.new 33 | status=$? 34 | 35 | if [ $status -ne 0 ] ; then 36 | echo "FAIL, dump_syms failed" 37 | exit $status 38 | fi 39 | 40 | diff -u testdata/dump_syms_regtest.new testdata/dump_syms_regtest.sym > \ 41 | testdata/dump_syms_regtest.diff 42 | status=$? 43 | 44 | if [ $status -eq 0 ] ; then 45 | rm testdata/dump_syms_regtest.diff testdata/dump_syms_regtest.new 46 | echo "PASS" 47 | else 48 | echo "FAIL, see testdata/dump_syms_regtest.[new|diff]" 49 | fi 50 | 51 | exit $status 52 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2007, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // ./dump_syms dump_syms_regtest.pdb > dump_syms_regtest.sym 31 | 32 | namespace google_breakpad { 33 | 34 | class C { 35 | public: 36 | C() : member_(1) {} 37 | virtual ~C() {} 38 | 39 | void set_member(int value) { member_ = value; } 40 | int member() const { return member_; } 41 | 42 | void f() { member_ = g(); } 43 | virtual int g() { return 2; } 44 | static char* h(const C &that) { return 0; } 45 | 46 | private: 47 | int member_; 48 | }; 49 | 50 | static int i() { 51 | return 3; 52 | } 53 | 54 | } // namespace google_breakpad 55 | 56 | int main(int argc, char **argv) { 57 | google_breakpad::C object; 58 | object.set_member(google_breakpad::i()); 59 | object.f(); 60 | int value = object.g(); 61 | char *nothing = object.h(object); 62 | 63 | return 0; 64 | } 65 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.o -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/solaris/dump_syms/testdata/dump_syms_regtest.sym: -------------------------------------------------------------------------------- 1 | MODULE solaris x86 3DC8191474338D8587339B5FB3E2C62A0 dump_syms_regtest.o 2 | FILE 0 dump_syms_regtest.cc 3 | FUNC 0 156 0 main 4 | 12 18 57 0 5 | 1e 12 58 0 6 | 36 24 59 0 7 | 42 12 60 0 8 | 57 21 61 0 9 | 6c 21 63 0 10 | 9c 48 64 0 11 | FUNC 0 16 0 int google_breakpad::i() 12 | 6 6 51 0 13 | 10 10 52 0 14 | FUNC 0 37 0 google_breakpad::C::C() 15 | 25 37 36 0 16 | FUNC 0 3 0 google_breakpad::C::~C() 17 | 3 3 37 0 18 | FUNC 0 12 0 void google_breakpad::C::set_member(int) 19 | 3 3 39 0 20 | c 9 39 0 21 | FUNC 0 29 0 void google_breakpad::C::f() 22 | 3 3 42 0 23 | 1d 26 42 0 24 | FUNC 0 16 0 int google_breakpad::C::g() 25 | 6 6 43 0 26 | 10 10 43 0 27 | FUNC 0 16 0 char*google_breakpad::C::h(const google_breakpad::C&) 28 | 6 6 44 0 29 | 10 10 44 0 30 | FUNC 0 15 0 google_breakpad::C::~C #Nvariant 1() 31 | f 15 37 0 32 | FUNC 0 0 0 __SLIP.DELETER__A 33 | FUNC 0 0 0 void operator delete(void*) 34 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/windows/dump_syms/dump_syms.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // Windows utility to dump the line number data from a pdb file to 31 | // a text-based format that we can use from the minidump processor. 32 | 33 | #include 34 | 35 | #include 36 | 37 | #include "common/windows/pdb_source_line_writer.h" 38 | 39 | using std::wstring; 40 | using google_breakpad::PDBSourceLineWriter; 41 | 42 | int wmain(int argc, wchar_t **argv) { 43 | if (argc < 2) { 44 | fprintf(stderr, "Usage: %ws \n", argv[0]); 45 | return 1; 46 | } 47 | 48 | PDBSourceLineWriter writer; 49 | if (!writer.Open(wstring(argv[1]), PDBSourceLineWriter::ANY_FILE)) { 50 | fprintf(stderr, "Open failed\n"); 51 | return 1; 52 | } 53 | 54 | if (!writer.WriteMap(stdout)) { 55 | fprintf(stderr, "WriteMap failed\n"); 56 | return 1; 57 | } 58 | 59 | writer.Close(); 60 | return 0; 61 | } 62 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/windows/dump_syms/run_regtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright (c) 2006, Google Inc. 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions are 8 | # met: 9 | # 10 | # * Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # * Redistributions in binary form must reproduce the above 13 | # copyright notice, this list of conditions and the following disclaimer 14 | # in the documentation and/or other materials provided with the 15 | # distribution. 16 | # * Neither the name of Google Inc. nor the names of its 17 | # contributors may be used to endorse or promote products derived from 18 | # this software without specific prior written permission. 19 | # 20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | 32 | Release/dump_syms.exe testdata/dump_syms_regtest.pdb | \ 33 | tr -d '\015' > \ 34 | testdata/dump_syms_regtest.new 35 | status=$? 36 | 37 | if [ $status -ne 0 ] ; then 38 | echo "FAIL, dump_syms.exe failed" 39 | exit $status 40 | fi 41 | 42 | diff -u testdata/dump_syms_regtest.new testdata/dump_syms_regtest.sym > \ 43 | testdata/dump_syms_regtest.diff 44 | status=$? 45 | 46 | if [ $status -eq 0 ] ; then 47 | rm testdata/dump_syms_regtest.diff testdata/dump_syms_regtest.new 48 | echo "PASS" 49 | else 50 | echo "FAIL, see testdata/dump_syms_regtest.[new|diff]" 51 | fi 52 | 53 | exit $status 54 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2007, Google Inc. 2 | // All rights reserved. 3 | // 4 | // Redistribution and use in source and binary forms, with or without 5 | // modification, are permitted provided that the following conditions are 6 | // met: 7 | // 8 | // * Redistributions of source code must retain the above copyright 9 | // notice, this list of conditions and the following disclaimer. 10 | // * Redistributions in binary form must reproduce the above 11 | // copyright notice, this list of conditions and the following disclaimer 12 | // in the documentation and/or other materials provided with the 13 | // distribution. 14 | // * Neither the name of Google Inc. nor the names of its 15 | // contributors may be used to endorse or promote products derived from 16 | // this software without specific prior written permission. 17 | // 18 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | // cl /Zi dump_syms_regtest.cc 31 | // dump_syms dump_syms_regtest.pdb | tr -d '\015' > dump_syms_regtest.sym 32 | 33 | namespace google_breakpad { 34 | 35 | class C { 36 | public: 37 | C() : member_(1) {} 38 | virtual ~C() {} 39 | 40 | void set_member(int value) { member_ = value; } 41 | int member() const { return member_; } 42 | 43 | void f() { member_ = g(); } 44 | virtual int g() { return 2; } 45 | static char* h(const C &that) { return 0; } 46 | 47 | private: 48 | int member_; 49 | }; 50 | 51 | static int i() { 52 | return 3; 53 | } 54 | 55 | } // namespace google_breakpad 56 | 57 | int main(int argc, char **argv) { 58 | google_breakpad::C object; 59 | object.set_member(google_breakpad::i()); 60 | object.f(); 61 | int value = object.g(); 62 | char *nothing = object.h(object); 63 | 64 | return 0; 65 | } 66 | -------------------------------------------------------------------------------- /third-party/google-breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlekSi/breakpad-qt/c685fde429cefcce5a67878c3cdb98997d90e837/third-party/google-breakpad/src/tools/windows/dump_syms/testdata/dump_syms_regtest.pdb --------------------------------------------------------------------------------