139 Commits

Author SHA1 Message Date
Mark Mentovai
7ac57464ca Merge master bac601e785fc into doc 2020-04-28 09:36:02 -04:00
Mark Mentovai
ecc41d0229 doc: Update Doxygen to 1.8.18 and fix Doxygen warnings
% doxygen -u doc/support/crashpad.doxy
[…warnings about removing obsolete TCL_SUBST, PERL_PATH, MSCGEN_PATH…]
Configuration file 'doc/support/crashpad.doxy' updated.
% doxygen -v
1.8.18

Change-Id: I771f654713042b0040873355051b9efaf46bffd1
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2165817
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-04-27 16:45:20 +00:00
Mark Mentovai
a5a1c3b07f Add .style.yapf and reformat according to yapf, using “google” style
% yapf --in-place $(git ls-files **/*.py)
% yapf --version
yapf 0.30.0

Note that this is not using the “chromium” yapf style because Chromium
is moving to PEP-8.
https://groups.google.com/a/chromium.org/d/topic/chromium-dev/RcJgJdkNIdg
yapf 0.30.0 no longer recognizes “chromium” as a style option.
22ef70f3c4
Since this is a mass reformatting, it might as well move things all the
way into the future all at once.

This uses the “google” style, which is a superset of “pep8”.

Change-Id: Ifa37371079ea1859e4afe8e31d2eef2cfd7af384
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2165637
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2020-04-27 13:59:09 +00:00
Joshua Peraza
9fea20040e linux: Update overview design
Bug: crashpad:294
Change-Id: Ie84b56bd429320dab1d232d0b19c6378b7d3755a
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2165627
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2020-04-24 17:54:27 +00:00
Joshua Peraza
ec105797e6 Update the status page
Change-Id: If9075e6cd0785e7a2c64263144db9ecafbeec9b0
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2163916
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-04-24 15:29:27 +00:00
Mark Mentovai
b71a4f1ca8 doc: Update buildbot URL
Change-Id: I7a1b6b91cb3f549904e2b930dab8becaca13085c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2144915
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-04-09 21:27:59 +00:00
Joshua Peraza
e97cf7b29c update gyp_crashpad_android.py
This patch updates gyp_crashpad_android.py to function with NDK r20,
removes the requirement to generate a standalone toolchain, and updates
documentation on building for Android.

Also some gyp build fixes.

Change-Id: Ide338417ab2a21eca7a4bf42c1fb834e5639c186
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1798746
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2019-09-11 19:05:30 +00:00
Scott Graham
2faae40e8e Fuchsia: Update docs to mention target_os in .gclient
Change-Id: I1f26373413d7f427cc7081a1221e5d7238b5fd97
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1726696
Reviewed-by: Francois Rousseau <frousseau@google.com>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2019-07-31 05:34:26 +00:00
Peter Wen
1c78fe23bd Update doc/developing.md with linux details
This information is very helpful to someone new to Crashpad to be able
to get up and running quickly (i.e. what I would have needed).

Bug: crashpad:291
Change-Id: Ibc84a009dbd7c93dd098e658cbe895957c6dca16
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1567847
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
2019-04-15 19:21:29 +00:00
Francois Rousseau
83e37a9ac1 [fuchsia] add commands for testing on Fuchsia
TESTED=ran the commands!

Change-Id: I7d8d3ca31a250005edcd3fb6269afffe8b3fbc89
Reviewed-on: https://chromium-review.googlesource.com/c/1263016
Reviewed-by: Scott Graham <scottmg@chromium.org>
2018-10-04 22:41:00 +00:00
Mark Mentovai
6b3d4ea6ea Update documentation to master 6759969bf653 2018-08-01 13:34:49 -04:00
Mark Mentovai
28928318be Merge master 6759969bf653 into doc 2018-08-01 13:34:41 -04:00
Mark Mentovai
6759969bf6 doc: Update Doxyfile to 1.8.14
% doxygen -u doc/support/crashpad.doxy
Configuration file `doc/support/crashpad.doxy' updated.
% doxygen -v
1.8.14

Change-Id: I773361423d6db1d4d1375fba1d9d7305e85e410e
Reviewed-on: https://chromium-review.googlesource.com/1158965
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2018-08-01 17:34:09 +00:00
Mark Mentovai
883632adac Update documentation to master 42b57efa554a 2018-07-31 22:58:01 -04:00
Mark Mentovai
07886683a9 Update documentation to master e50ea6032180 2018-07-20 16:32:28 -04:00
Mark Mentovai
c46a62337d Merge master e50ea6032180 into doc 2018-07-20 16:32:19 -04:00
Scott Graham
85565c545c Doc update for GN build
Explain the GN build setup for Windows, Mac, Linux, and Fuchsia, and
keep a separate section for the Android gyp build.

Bug: crashpad:235
Change-Id: Ifaabba430ab0f04bac5a4669523308040e55f05b
Reviewed-on: https://chromium-review.googlesource.com/1099255
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2018-06-13 17:20:48 +00:00
Mark Mentovai
659420bc7d android: Run tests by running run_tests.py on the build host
Bug: crashpad:30
Change-Id: Ie432c58c4a2505b6434861276512a5011fd285d4
Reviewed-on: https://chromium-review.googlesource.com/811891
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-12-08 16:24:37 +00:00
Mark Mentovai
5969d6b1eb android: NDK r16 compatibility
This updates build/gyp_crashpad_android.py to define the
android_api_level GYP variable whenver unified headers are in use.
Previously, it was only set when compiling with GCC and using unified
headers. This pairs with https://crrev.com/c/804574 to allow proper
detection of when _FILE_OFFSET_BITS=64 would be inappropriate.

Since there’s no longer any possibility of using a 64-bit off_t with API
< 21, this also drops the compatibility wrapper for mmap() that allowed
this configuration to work. Too bad, I liked this, but it’s pointless to
carry now.

The development documentation is also updated to refer to NDK r16.

mini_chromium is updated to 88e056258a01450b07414642fa5fb98493c1f6ce.

f609089390cd fuchsia: Add ZX_LOG, et al. to mini_chromium
0a8c5de30c67 fuchsia: Fix RandBytes() ZX_CHECK message string
88e056258a01 android: Don’t use _FILE_OFFSET_BITS=64 until API 21

Change-Id: I932116e0c01bcddd5719f9091a070d504eae600f
Reviewed-on: https://chromium-review.googlesource.com/804555
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2017-12-04 16:26:00 +00:00
Mark Mentovai
ef3ce94fbf Python 3 support for Python scripts (without compromising Python 2)
It’s better to be prepared for the future than…to not be.

This is mostly the result of running 2to3 on all .py files, with some
small shims to maintain compatibility with Python 2.
http_transport_test_server.py was slightly more involved, requiring many
objects to change from “str” to “bytes”.

The #! lines and invokers still haven’t changed, so these scripts will
still normally be interpreted by Python 2.

Change-Id: Idda3c5650f967401a5942c4d8abee86151642a2e
Reviewed-on: https://chromium-review.googlesource.com/797434
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-11-29 18:47:38 +00:00
Mark Mentovai
20e5aba1af URL cleanups: switch to HTTPS, fix dead ones, use canonical ones
Change-Id: I4b247d7fae1a212350f8ffcf2bf5ba1fa730f5c1
Reviewed-on: https://chromium-review.googlesource.com/780339
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-11-20 22:23:39 +00:00
Mark Mentovai
81d03f8b23 Update documentation to master 6950a552bfab 2017-11-01 13:33:45 -04:00
Mark Mentovai
b91a8f73ea Update documentation to master c332e7ffdab6 2017-07-29 17:13:40 -04:00
Mark Mentovai
926971a33b Merge master c332e7ffdab6 into doc 2017-07-29 17:13:35 -04:00
Mark Mentovai
376cddee9e doc: Update for NDK r15b
Change-Id: I5a9104d6dcfa74ce2aadd8f62dbef47e2d56d73f
Reviewed-on: https://chromium-review.googlesource.com/550355
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2017-06-27 16:00:59 +00:00
Mark Mentovai
13d2106257 Update documentation to master b42854dfe134 2017-06-20 11:54:11 -04:00
Mark Mentovai
b984802b50 Update documentation to master c4f6ca3c6ac5 2017-06-20 10:44:54 -04:00
Mark Mentovai
a3bc746808 Merge master c4f6ca3c6ac5 into doc 2017-06-20 10:44:49 -04:00
Mark Mentovai
1969a5d758 Document who has access to the try server and commit queue
Drop the text recommending the PolyGerrit UI, since it is now the
default Gerrit UI.

Bug: chromium:717982
Change-Id: I7041ee51670a7a18b510ed7a55045cc2eb09983e
Reviewed-on: https://chromium-review.googlesource.com/494726
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-05-03 17:49:24 +00:00
Mark Mentovai
f31459b266 Update GYP to ffd524cefaad for MSVS 2017 (15)/C++ 14.1/C 19.10 support
aae1e3efb507 CQ config: add gerrit CQAbility verifier.
95da7665b1a3 [win-test] loosen win-driver-target-type test
eb296f67da07 [win] Add support for MS VS2017 (via Registry)
19495aa28282 Update test/no-cpp/gyptest-no-cpp.
a94b02ec68fb Disable a bunch of tests on Mac
ae76d9198630 Clean up gyptest.py
b62d04ff85e6 win,ninja: ninja generator better on windows
8dc77241251e Disable flaky test/copies/gyptest-all under msvs
e8850240a433 Fix MSVC++ 32-on-32 builds after b62d04ff85e6
ffd524cefaad win ninja/make: Always use a native compiler executable
             with MSVS 2017

developing.md is updated to call out supported toolchain versions, and
to explain the CDB requirement for end_to_end_tests.py.

Change-Id: Iace68009aa22acec7303ea02a2ded755645ea96c
Reviewed-on: https://chromium-review.googlesource.com/486539
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-04-25 16:43:10 +00:00
Mark Mentovai
d93f0b02f2 Update documentation to master f487da4ff2c4 2017-04-19 14:40:41 -04:00
Mark Mentovai
f697a20335 Update documentation to master b8aaa2290530 2017-04-18 13:45:29 -04:00
Mark Mentovai
202ae1cc11 Update documentation to master 2ec34e32c2f4 2017-04-13 13:59:16 -04:00
Mark Mentovai
52af72d371 Merge master 2ec34e32c2f4 into doc 2017-04-13 13:59:12 -04:00
Sigurdur Asgeirsson
1f28a123a4 designdoc: Add description of user data sources.
Bug: crashpad:167
Change-Id: I8c5032d6710ea828e354103743d34772fd083958
Reviewed-on: https://chromium-review.googlesource.com/472947
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-04-12 13:07:52 +00:00
Mark Mentovai
4688351623 “Promote” test::Paths::Executable() to Paths::Executable()
This supports the “double handler” or “double handler with low
probability” models from https://crashpad.chromium.org/bug/143.

For crashpad_handler to be become its own client, it needs access to its
own executable path to pass to CrashpadClient::StartHandler(). This was
formerly available in the test-only test::Paths::Executable(). Bring
that function’s implementation to the non-test Paths::Executable() in
util/misc, and rename test::Paths to test::TestPaths to avoid future
confusion.

test::TestPaths must still be used to access TestDataRoot(), which does
not make any sense to non-test code.

test::TestPaths::Executable() is retained for use by tests, which most
likely prefer the fatal semantics of that function. Paths::Executable()
is not fatal because for the purposes of implementing the double
handler, a failure to locate the executable path (which may happen on
some systems in deeply-nested directory hierarchies) shouldn’t cause the
initial crashpad_handler to abort, even if it does prevent a second
crashpad_handler from being started.

Bug: crashpad:143
Test: crashpad_util_test Paths.*, crashpad_test_test TestPaths.*
Change-Id: I9f75bf61839ce51e33c9f7c0d7031cebead6a156
Reviewed-on: https://chromium-review.googlesource.com/466346
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-04-03 18:58:01 +00:00
Mark Mentovai
3127026a95 Convert generate_doxygen.sh to generate_doxygen.py
This makes it easier to generate Doxygen documentation on Windows.

Change-Id: I14c203d2618d8321d5a94d836de434bbaa21c3c9
Reviewed-on: https://chromium-review.googlesource.com/461403
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-03-28 19:24:57 +00:00
Mark Mentovai
710c7b12e0 Update documentation to master 810d4815df8a 2017-03-23 09:52:35 -04:00
Mark Mentovai
24c5cda3eb Merge master 810d4815df8a into doc 2017-03-23 09:52:05 -04:00
Mark Mentovai
db8c54e142 android: Add gyp_crashpad_android.py for easier Android development
Bug: crashpad:30
Change-Id: Idf7e6db944bf946e6571064306897848222cd36f
Reviewed-on: https://chromium-review.googlesource.com/458078
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2017-03-23 00:15:26 +00:00
Mark Mentovai
af66c4b740 Add overview design doc link to root README.md
Use an underscore instead of a hyphen in the overview design doc’s
filename for consistency with the rest of the files in the repository.

Change-Id: I15a76a00709a43dfec60e7f4f6ee64a3cd031b2c
Reviewed-on: https://chromium-review.googlesource.com/458537
Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
2017-03-22 19:33:51 +00:00
Sigurdur Asgeirsson
c1157e87f1 Crashpad overview design doc
Change-Id: I4901025443885025bbf77f60b7c787f02eaadf60
Reviewed-on: https://chromium-review.googlesource.com/458259
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-03-22 19:01:23 +00:00
Mark Mentovai
2a551a1693 Update documentation to master 3983b80ca2fc 2017-03-21 22:35:30 -04:00
Mark Mentovai
c6c8254daf Merge master 3983b80ca2fc into doc 2017-03-21 22:35:15 -04:00
Mark Mentovai
39f13a77a4 Make run_tests.py work with paths instead of configuration names
This is co-dependent with
https://chromium-review.googlesource.com/457736.

I’ve been trying to share a source tree between different platforms,
using gyp_crashpad.py --generator-output to put the build output in the
right place. On Windows, it winds up in
out\win\out\{Debug,Release}{,_x64}. This makes it tricky to use
run_tests.py, which expects to find build output right in the “out”
directory. It’s not impossible to use, because you can tell it
“win\out\Debug_x64”, but it’s really awkward to use that path when we
all know that it’s not relative to anything that makes sense, like the
current directory.

This simplifies run_tests.py to work directly with the
configuration-specific output directory. For most users, this means
including “out/” or “out\” when running the script.

Bug: chromium:703890
Change-Id: Ic7de82fabd2adda7ae00558844cb3ce91aa4a5ed
Reviewed-on: https://chromium-review.googlesource.com/457716
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-03-22 01:45:16 +00:00
Mark Mentovai
3eaee58970 doc: Update Android developer documentation for NDK 14
NDK 14 is current. Update the developer documentation to reflect this.

Recommend using subdirectories of out/ as the Android build output
directory, so that they’ll be ignored by .gitignore.

Bug: crashpad:30
Change-Id: Id1508215b924a3e0cae2c11a61c9c685363c50f6
Reviewed-on: https://chromium-review.googlesource.com/454202
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-03-14 18:18:07 +00:00
Mark Mentovai
18d70acf81 doc: Link to crashpad_http_upload(1) from the man page index
Change-Id: Iced22f556a08d87a69f589555ad39763fe417805
Reviewed-on: https://chromium-review.googlesource.com/452318
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2017-03-13 18:13:48 +00:00
Mark Mentovai
08fbe4bb6a Update documentation to master f59038309651 2017-03-09 22:49:51 -05:00
Mark Mentovai
8d7ff3cdd2 Merge master f59038309651 into doc 2017-03-09 22:49:38 -05:00
Mark Mentovai
f590383096 doc: Document the try server and commit queue
Bug: crashpad:162
Change-Id: I9b5dd8c281117c24d79ce6b81269c87d42a21e13
Reviewed-on: https://chromium-review.googlesource.com/452438
Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-03-09 17:41:40 +00:00