279 Commits

Author SHA1 Message Date
Scott Graham
9de3535bbb fuchsia: Re-add launchpad for now
launchpad usage directly in Crashpad was removed, but gtest still uses
launchpad (for death tests) so keep it here for now (until the gtest
upstream change has landed to remove launchpad there).

Also, roll mini_chromium and remove link of zircon, since that's in the
base configuration now.

Bug: crashpad:196
Change-Id: I68b1092aaa6fc31efe693e3fcd5bde71c2d91d42
Reviewed-on: https://chromium-review.googlesource.com/1083611
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2018-06-02 00:01:54 +00:00
Scott Graham
f5564e6292 Roll gtest (and mini_chromium)
gtest started depending on zircon and launchpad directly for death
tests, so tweak the build files.

Logs for upstreams below:

mini_chromium$ git log --oneline --no-merges --no-decorate 40cb6722bbc6bd6fb5fccecd80362313440a0537..53a3ff4cf81adb25fdf764e8547a8515fc8f70c2
53a3ff4 fuchsia: Add fdio to system includes
23b3647 fuchsia: Update sysroot.gni for sysroot location moving in SDK

gtest$ git log --oneline --no-merges --no-decorate d175c8bf823e709d570772b038757fadf63bc632..145d05750b15324899473340c8dd5af50d125d33
49ecebd Downgrade to C++98.
ec2c911 Downgrade to C++98 code.
f91bf75 Remove unused variable in Fuchsia.
54e331b Add support for versioned standard libraries.
fc66ae4 Update generated code.
b8fa4d2 Add unit test for CanonicalizeForStdLibVersioning.
18abd8f Use NULL instead of nullptr, for pre-C++11 builds.
ec5ad0f Fix the bug where ad_hoc_test_result() functions of UnitTest and TestCase objects would return failures registered at TestCase and UnitTest scopes, respectively.
960149f Remove magic number
242f0f6 Style fix
8497540 Fix comments
13af91f Fix more stuff and get tests to pass
96c3c42 Get all the things to work.
a9653c4 Fix gmock not building when -fno-rtti
b6cb5c3 Fix stuff
d4b5281 Add Fuchsia support for death test.
95ec42d Add no-exception and no-rtti to build matrix
b539167 merging,
bb7a018 reverting, test
7b4ee66 reverting just to test
62a7c14 testing
2d3024f Fix friend declaration to use GTEST_API_ decl spec.
b2f97ab Revert useless use of GTEST_API_ on WithoutMatchers decl.
1c79ad7 Add GTEST_API_ tag to WithoutMatchers class. Hopefully that fixes the problem on MSVC?
d5725da Mark new GetWithoutMatchers method as part of the exported API, to address MSVC linker errors.
f6551f2 Don't use generalized initializer list; is C++11 extension.
f437f8c Clone of unsubmitted cr/176529515. Introduce parameterless expectations.
f312435 more typos
a0fd742 msvc
b00e281 more typos
881ee30 typo
10e8ec2 move only types docs
4d554c3 typo
b4cbf53 typo
78d7381 http://cl/193386206
c56ba73 merge, explicit, ( should be it)
4707c0f 193353312
80d6e26 cl/193060888
5dccf6b http://cl/193060888
dff32af http://cl/193060888
3f88bb1 test-meerging
ec425d7 typo
e4ab316 more msvc
1944bc0 typo
e9eff48 msvc warnings
bd2a1ae merging gmock generated matchers
9fba103 merging, testing, this should be it
1c6e68c merging
26c10dc merging
d84eb86 more pizza
f45728a more OSX pizzas
b74a1af osx pizzas
f9bd618 merging gmock actions test
0bfa823 merging, gmock actions test
2dc576e merging
f7330f9 more fixing osx libstd++ bugs
6538049 fixing
dc4f563 merging, fix OSX issue
092ca91 merging
a79851f merging
fa658e0 merging
c67f51b msvc
9b5940e revert this one
b2d81b4 merge, ... gmock-matchers test
e77deb2 small cleanup
1324e2d Remove multiple inheritance from "unintesting call" mock classes.
373481c ...merging
8654c1c merging
ab84d14 Upstream cl/192179348
c13ab60 merging
5cd213e ..and this should be it
6a7573a more
039d9b5 pizza work, cont
f15fd96 osx pizzas, cont
b15be9a fixing osx pizza
6f9db26 merging
9bc82ce merging
25d8176 merging
e1071eb RE-Doing the merge, this time with gcc on mac in the PR so I can catch errors before merging the PR
8fbb419 Include gcc on mac into PR matrix
ca54b67 Revert "gmock actions 2"
64d24b8 ... and this
c1d4c34 this should be it
f587100 yet more
05b5a53 formatting
2de24fb tuning
055f321 tuning
57d6e82 more
44da2b9 cont
e93a0ec msvc
c4684b4 more msvc
431bfdc msvc 14
8bc7c63 testing msvc again
c4e3d77 More msvc 14
6525044 And also silence for MSVS14
35a709a preproc syntax ( I can never remember it)
61e8a0b syntax
03be5df cont.
e0b3c26 continued
51f8ad4 Sync gmock-generated-nice-strict.h.pump with gmock-generated-nice-strict.h.
dbd206e more mcvs fixing
701e1e5 linkage, fixing MSVC
2d4d4ef fixing MSVC
5fe8de5 more warnings
cb13dc7 more warnings
d9f3611 more MSVC warnings
c75b76e warnings
04e3188 cont - 2
32ac949 cont
1831ac9 more warnings
eb3e4aa deal with MSVC warn, cont 1
50c0bcd Cont. deal with MCVS warnings
b5c87fb Deal with MCVS warnings
88fc7d7 merging gmock-actions 2
fe402c2 Merging gMock, 2
7e5f90d formatting
9286361 And more MCVS warnings
e0f4cf0 fixing MCVS warn
7045138 Have to wait for this one
66eaf9f Have to wait for this one
af93d59 Merging matchers test
0cd6a4f Merging matchers test
d81b6a0 bad cut/paste
a608d4a More on MSVC warning C4503, decorated name length exceeded
6f4e939 More on MSVC warning C4503, decorated name length exceeded
5b3d277 Address MSVC warning C4503, decorated name length exceeded, name was truncated
aa14cc4 Fixing build break on MSVC
e55089e merging gmock matchers 1
a0c27bd fix build break on locale windows
1776ed8 Tweaking https://github.com/google/googletest/pull/1523 to exclude nacl
d52aaee Upstreaming, cl 191344765
a2dd136 merging port, cont. 191443078
aa349ac merging, cont - 2
2cedd5b merging gtest-port.h , 191439094
04d1e56 merging, just comments format
5beb452 testing, merge
df5a48d Testing, gtest-port.h merge
87a4cdd merging gtest-port.h, again - 1
7888184 Include OSX builds back into PR builds
b2373c6 Revert "merging gtest-port 1 of N"
54bb165 Revert "merging gtest-port, 2"
d04bf07 typo
8e0364a merging gtest-port, 2
11855d8 provide alternative for DebugBreak()
aea6fc3 merging gtest-port 1 of N
a75a5c9 merges 1
3df7cbe merges, gtest
6aae206 merging gmock-matchers.h 3
2318705 merging gmock-matchers.h 2
8ea10d3 Upstreaming FloatingEq2Matcher,
b907c26 Merging gmock-matchers.h -2
466a49a gmock-matchers merging -2
b7c5683 merging, gmock -1
4e89c76 reverting gtest_list_tests_unittest.py
eaaa422 Update appveyor.yml
da71e8c more merges
0f65679 more merges
691e38e More merges
a3c2e10 cl 189032107, again
080fcbe cl 189032107
a178cc7 merge, again, IsRecursiveContainer
262aaf2 erging, cont
2814b4b merging, merging
a719320 fixing, was removing too much
af463c4 More merges, removing old dead code
7b70413 Allow macros inside of parametrized test names.
cf9d634 merges-port(1)
e891900 Merging, XML tests
89d6f70 merges-8
995a9df merges-7
086825d merges-6
8385928 merges-3
dbf63e3 merges-2
0d5e01a Merges-1
7a2050d Use a full message in the JSON output for failures
3431b69 Add options to parallelize builds.
6baf17e Support JSON output format in addition to XML
2eb31c1 Add documentation for VariantWith.
2bd1750 gmock merging -2
190e2cd Add matcher for std::variant.
84ec2e0 Switch default death test style back to "fast".
20074be Use DEBUG_POSTFIX instead of CMAKE_DEBUG_POSTFIX
4dbb437 merging unittests - 5
567b40e Try to handle unsigned wchar_t (arm) a bit better
004f6a0 merging unitests - check 4
29e9ca8 merging unitests, check
3299a23 merging unittests - 2
b7e0294 merging unitests
11e1dd2 Removed trailing comma in enum
0656830 TEST() arguments are invalid in an example
df65632 merges
8a61587 Fix unused function warning on Mac OS.
a3e322b cleanup, merges
09581b3 cleanup/merges
0697241 merging, cleaning up
ab186a8 merges
30d276d cxxx11
3b1fe3e clang warnings
d7c966c clang warnings
2a23ca0 https://travis-ci.org/google/googletest/jobs/340995238
a66d209 clang warning 'https://travis-ci.org/google/googletest/jobs/340987201'
e76f4ee clang warning https://travis-ci.org/google/googletest/jobs/340978022
9e07281 merges
225e674 moving JoinAsTuple to internal
b3a1759 Fix std::iscntrl use in gtest-printers.cc
d84f58a Merging, coniniue
575c081 merging
49fc378 merges
ec7faa9 merges
c851050 Fixed typos
092d088 Add ability to throw from ASSERT
a3c73ed Include MSVC14 on PRs as well
e6ec8bc Merges and also adding new bazel build mode
e55fded Code merges
2a46830 Ability to optionally depend on Abseil plus upstream of 183716547
6c0c389 Adding tests to googlemock bazel
fbb48a7 Code merges
efd49c2 Update Documentation.md
b8ac390 Fix test build issue with GCC7.2.
3498a1a Use _CPPUNWIND instead of _HAS_EXCEPTIONS with MSVC.
f915530 Pass -EHs-c- to disable exceptions with MSVC.
b3a2048 Update README.md
7cced89 Remove Visual Studio 10,11,12 from build matrix
b9651c0 placating gcc and its overzeauls size comparison warnings
e29805a upstream cl 182543808
06c3cce revert, lets get this compiled
80defce Many code merge/upstream changes
6723b6c Merging, upstream http://cl/182836545
bbb17ad more code merge
f1c87ad merges, cl/155419551 and other
9bc8666 more merging
a0435a5 merging
8d707df code merge
b1623e9 Adding python tests to Bazel build file.
8e86221 Use fully qualified  in examples
354fc8d Document ScopedTrace utility
ba99a04 Check whether _MSC_VER is defined when detecting presence of cxxabi.h under libc++.
9c82e77 Expose ScopedTrace utility in public interface
08b323f Reverting some changes, need to make the merge compile
9195571 Reverting some changes, need to make the merge compile
6d04de7 Reverting some changes, need to make the merge compile
b9e2978 Reverting some changes, need to make the merge compile
304be8f Test files for corresponding changes
6befe42 Test files for corresponding changes
f45c22c Test files for corresponding changes
5f4ce9d Test files for corresponding changes
d629744 More code merges
da1f7fe Code merging
33d73d4 Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne
569d713 Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne
93b7798 continue upstream/merge, etc
ed8d02c Update .travis.yml
73d1251 Update .travis.yml
cfd29e0 Update .travis.yml
29f94e0 Update .travis.yml
2982dc1 Trying to fix travis
6914ae2 Upstream cl 103120214
1d757db More merge, cleanup
481fe94 More merge, cleanup
6a26e47 Code merge, upstreaming accumulated changes, cleanup
62dbaa2 revert
d630a8b code merges, cleanup
f33902b revert googletest/test/gtest-param-test_test.cc
6eccdb7 Update .travis.yml
d237297 code merge, cleanups
2ad5661 Upstream of cl 129104714
5eecadf Revert one file
9fce984 wip, cleanups/merge
258fd6e cleanup, merge
cbd15d4 [Bazel] Detect Windows with cpu value x64_windows and x64_windows_msvc
91ba05c Small cleanups, merge
67d6e46 Use correct name for build event types.
67476c1 Revert one file for now
adfdc65 Fixed test for pull request.
d3acb4b Fixed output and test for 'enabled_on_pr'
19b5774 code cleanup in preparation for merges, cl 180857299
9cee677 Optimize build matrix (#1)
1c09831 upstreaming cl 124976692
1acf8c7 Also define GTEST_ATTRIBUTE_PRINTF_ in clang-cl.
b3d9be5 Pass the -Wmissing-declarations warning.
e7734fb OSS Sync, cl 163329677
90244a6 Fix testing::Combine on MSVC 2017.
bcd3552 Avoid warning C4619 in MSVC 2017.
ec2b0c3 Build both googletest and googlemock.
75b85d5 Create a autotools-based build for Travis.
7990f56 Re-enable MSVC++ C4389 warning in CmdHelperEq()
e17907d Update internal_utils.cmake
a7fceb4 Update gtest-param-test.h.pump
8a48f0e Update gtest-param-test.h.pump
23a014a Refactor docs about contributions to CONTRIBUTING.md.
74a5306 remove extra line
3ea0631 remove implicit casts
c82cd5e Also add documentation around becoming a contributor.
1184117 Wrong LICENSE file, sorry.  Corrected. [skip ci]
bc3320b Implement bazel-based builds in Travis.
e22d344 Add Apache-2.0 LICENSE file.
cf3adad Add licenses() directive for googlemock/tests.
57bb0bb Remove C4996 warning in VS2017
3464f76 Improved description of VS std::tuple support
8d9d6bb Improved description of VS std::tuple support
4aa05bd Only switch to g++-4.9 on Linux.
aea8580 Run autoconf from top-level directory.
0663ce9 Fix double free when building Gtest/GMock in shared libraries and linking a test executable with both.
f46bd00 make includes system
a7269e2 replaced back accidently removed static_cast with consistent ImplicitCast_
82447f2 Fixes issue #826 by treating MinGW as "non-Windows" when determining colored output
1ae4096 fix for VS2017 deprecation of ::tr1::tuple change static_cast to ImplicitCast_ for consitency fixes for building with path names containing spaces
aa0b545 remove GTEST_HAS_PARAM_TESTS
4d26df7 Speed up printing of characters which need hex escaping
99d0ef3 Also can build when included in source.
9538687 Remove trailing whitespaces in BUILD.bazel
c113a71 Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne
ca6a70c Pass MSVC's C4826 warning.


Bug: crashpad:196
Change-Id: I60be5750667d1901e0ad47c3558de1338b083536
Reviewed-on: https://chromium-review.googlesource.com/1069562
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-05-22 21:01:08 +00:00
Scott Graham
d766e659bb Roll mini_chromium to 40cb6722
mini_chromium$ git log --oneline 6e0fdb2e..40cb6722
40cb672 fuchsia: Update mini_chromium/Crashpad build for SDK reorg
ce9be13 Set |posix| to false for the Fuchsia build.
ff7ad85 win: Use target_out_dir instead of source_out_dir for pdbname

Bug: crashpad:196
Change-Id: I8d23b0dece8222a2dc883f6c4e4d43aaf7f5fc89
Reviewed-on: https://chromium-review.googlesource.com/1036189
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-04-30 21:26:41 +00:00
Scott Graham
439ba730c5 Implementation in C++ of HTTPTransport test server
- Pulls in cpp-httplib for test-only usage in third_party/.
- Replaces http_transport_test_server.py with .cc server.
- Remove unnecessary Go toolchain pull. This was planned to be used for
  the test server, but the toolchain integration was too messy when
  covering all target platforms/configs.

Bug: crashpad:196, crashpad:227, crashpad:30
Change-Id: I5990781473dcadfcc036fbe711c02928638ff851
Reviewed-on: https://chromium-review.googlesource.com/1013293
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-04-20 20:56:49 +00:00
Scott Graham
ca2d7e776a Pull go toolchain for all host types
To be used to build replacement http test server.

Bug: crashpad:227, crashpad:196, crashpad:30
Change-Id: I8bdd33a629d98af8b149bd83a11edb5965ad6e76
Reviewed-on: https://chromium-review.googlesource.com/1011653
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-04-13 18:04:20 +00:00
Scott Graham
ba0bd63254 Use clang ref:goma instead of ref:latest
This is considered a "stable-latest" by the Fuchsia toolchain team that
maintains this package.

Bug: crashpad:30, crashpad:196
Change-Id: I24a57abc9c0eaaab9b003b204ee56e73fad88f11
Reviewed-on: https://chromium-review.googlesource.com/996308
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-04-04 22:20:49 +00:00
Fabrice de Gans-Riberi
74a56c256b Prepare for removal of is_posix from the Fuchsia build
This also rolls crashpad/third_party/mini_chromium/mini_chromium/ d42eb4101..6e0fdb2e4 (2 commits)
d42eb41012..6e0fdb2e49

$ git log d42eb4101..6e0fdb2e4 --date=short --no-merges --format='%ad %ae %s'
2018-04-04 scottmg@chromium.org Repair Linux-with-sysroot build after clang update
2018-04-04 fdegans Prepare for |is_posix| switch in the Fuchsia build

Created with:
  roll-dep crashpad/third_party/mini_chromium/mini_chromium

Bug: chromium:812974
Change-Id: I3d8efc3124c97981eda63f104a7adfb670babab7
Reviewed-on: https://chromium-review.googlesource.com/988231
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-04-04 22:18:25 +00:00
Joshua Peraza
afd3186280 Roll mini_chromium to d42eb41
Change-Id: I18c0a3cfcc82725f19023aa3d78a937719fd2d49
Reviewed-on: https://chromium-review.googlesource.com/972424
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-03-20 23:00:11 +00:00
Joshua Peraza
449506d59c Roll mini_chromium to ef0df11
Includes:
win: remove flags not present in chromium
Change-Id: Ib5ec58ea8e406a9c151bc5901ebaa418fb8c8c20
Reviewed-on: https://chromium-review.googlesource.com/943722
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2018-03-01 18:00:14 +00:00
Scott Graham
746ce1a637 Roll mini_chromium to 987bde8
Includes:
987bde8 Linux GN: Optionally link statically against libstdc++

Bug: crashpad:30, crashpad:79, crashpad:220
Change-Id: If15d2224239166138aa5dcfe531ff269b7ed22fe
Reviewed-on: https://chromium-review.googlesource.com/941543
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-02-28 19:07:30 +00:00
Scott Graham
8e80a575d1 Linux: Pull a sysroot if pulling a local clang
Didn't actually end up being too bad. Also requires setting GN arg of

  target_sysroot = "//third_party/linux/sysroot"

when building.

Bug: crashpad:220
Change-Id: I4d4b282f165d454b5d32fc8cc11287ff665b943d
Reviewed-on: https://chromium-review.googlesource.com/935981
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2018-02-24 04:31:12 +00:00
Scott Graham
cd3afe616e Linux: Pull and use clang toolchain in third_party
Includes mini_chromium update including one change:
b4128fb Linux GN: support override of clang to different path

Complementary bot change at
https://chromium-review.googlesource.com/c/chromium/tools/build/+/935668.

Bug: crashpad:79, crashpad:220
Change-Id: I9228bf6786d94c34265e933e21e45a899816bb52
Reviewed-on: https://chromium-review.googlesource.com/935470
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-02-23 22:35:59 +00:00
Scott Graham
d8d03172c2 arm: Capture context around pc and registers
Includes mini_chromium DEPS roll of one change:
4e3b2c0 fuchsia: Make target flag apply to asm too

After this, the Fuchsia ARM64 build compiles.

Bug: crashpad:196
Change-Id: I1b749a2b2443303ad86122fbe5c9750300474d79
Reviewed-on: https://chromium-review.googlesource.com/925454
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-02-20 15:18:40 +00:00
Scott Graham
83a83c5b00 Roll mini_chromium to e7e8237
Includes:
e7e8237 Don't run win_helper.py get-visual-studio-data on non-Windows
387f001 gn win: Support detection of VS2017

Bug: crashpad:79
Change-Id: I709b6a7f1b64baa3b5ab37a1e5b90c2c529c14de
Reviewed-on: https://chromium-review.googlesource.com/906971
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-02-07 19:59:04 +00:00
Scott Graham
798f654043 gn win: Use new toolchain names to support both x86 and x64
Rolls mini_chromium to include:
75b5697 gn win: Template toolchain to support x86 and x64
428a555 gn win: Automatically find location of Visual Studio

Bug: crashpad:79
Change-Id: Ie7ff10f8b4853071028e3a9580e5be8e5ca5c0ec
Reviewed-on: https://chromium-review.googlesource.com/905625
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-02-06 23:35:49 +00:00
Scott Graham
14dbd3531d gn win: Get main test binaries building
- default to subsystem:console
- don't build posix/timezone.*
- add some missing libs

This gets all the main binaries building and running. Most configs pass,
but there's some offsets that seem different in some builds; need to
investigate more. Additionally, the binaries used by end_to_end_test.py
aren't yet built, so that script fails.

Includes mini_chromium roll to 46eeaf9:
46eea49 gn win: Add debug info and pdb to cc/cxx
902a29f gn win: Various fixes towards making GN build work

Bug: crashpad:79
Change-Id: Ie56a469b84bed7b0330172cec9f1a8aeb95f702e
Reviewed-on: https://chromium-review.googlesource.com/902403
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-02-06 19:12:18 +00:00
Scott Graham
a8ecdbc973 Updates to support -Wimplicit-fallthrough
https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/899847
turns the warning on. This adds one annotation, and fixes one bug.

Includes mini_chromium roll:

.../mini_chromium$ git log 5fcfa43c1587b94132e24782579350cb8266b990..3b953302848580cdf23b50402befc0ae09d03ff9 --oneline
3b95330 (HEAD, origin/master, origin/HEAD) Add -Wimplicit-fallthrough when building on clang

Bug: chromium:807632
Change-Id: I2f3ddca0228e52013844cb8d78d10cb359e851d0
Reviewed-on: https://chromium-review.googlesource.com/900317
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-02-03 03:05:45 +00:00
Scott Graham
a62033d6c0 Roll mini_chromium to 5fcfa43
Includes:
5fcfa43 Remove .a before alink, otherwise stale .o can hang around

Bug: crashpad:196
Change-Id: Iae361c5e5fa0797be9461eecf0a9c0669e5e6522
Reviewed-on: https://chromium-review.googlesource.com/874811
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-01-18 18:45:38 +00:00
Scott Graham
f62a30e977 fuchsia: Implementation of MultiprocessExec
This supports multiprocess tests of the non-fork() variety.

Also, improve directory finding so that the
crashpad_test_test_multiprocess_exec_test_child binary can be located
correctly on Fuchsia.

Doc ref for launchpad:
https://fuchsia.googlesource.com/zircon/+/master/system/ulib/launchpad/include/launchpad/launchpad.h#23

Also, roll mini_chromium to pick up ScopedZxHandle addition. Includes:
a19ef08 Merge ScopedZxHandle from Chromium base
f21c900 fuchsia: Move zircon libs dep to base, rather than global

Bug: crashpad:196
Change-Id: Id01dee43f2d04e682e70c12777aff41f8dd848d6
Reviewed-on: https://chromium-review.googlesource.com/868967
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-01-17 23:45:42 +00:00
Scott Graham
1d1bf89d62 Roll buildtools to 6fe4a3251488f7af86d64fc25cf442e817cf6133
Includes a number of gn rolls.

Change-Id: Id2cdbaca493b6537de9741109bb81ef8e05327fa
Reviewed-on: https://chromium-review.googlesource.com/865829
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-01-13 00:52:13 +00:00
Scott Graham
ab153f7e1b gn: Avoid depending on BUILDCONFIG.gn globals
Goes with https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/834648.

Includes mini_chromium DEPS roll to pull in edfe51ce81

Bug: crashpad:79, crashpad:196
Change-Id: Ib45cc738aecf9ae727f8faeff81f3b71e2dc9de8
Reviewed-on: https://chromium-review.googlesource.com/834543
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-19 23:38:36 +00:00
Mark Mentovai
99b0030616 gn, linux: Build for Linux with GN
This is sufficient for a native Linux build using GN. Android is not yet
supported.

mini_chromium side: https://crrev.com/c/833407

This also updates mini_chromium to 404f6dbf9928.

c913ef97a236 gn, linux: Build for Linux with GN
404f6dbf9928 gn: Don’t use .rsp files; rationalize descriptions and
             output dirs

Bug: crashpad:79
Change-Id: I4f3b72fd02884d77812e520fb95231b35815677d
Reviewed-on: https://chromium-review.googlesource.com/833408
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-12-19 19:31:20 +00:00
Scott Graham
1bc07b76ed gn: Use mini_chromium_is_posix in preference to global is_posix
Goes with
https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/833328.

Also roll mini_chromium:

scottmg@around:/work/crashpad/crashpad/third_party/mini_chromium/mini_chromium$ git log 20182dd263312db9fad52042fc92c33331ec6904..e182031 --oneline
e182031 gn: Add is_posix.gni to define local is_posix variable
4cb1344 gn: Enable proper release-mode optimizations for POSIX-non-Mac
9c0eb0c Remove reference to ptr_util.h
c5ae5aa gn: Configure the sysroot in target_sysroot, not sysroot
f7e5654 gn, mac: Honor mac_sdk_min, sysroot, and mac_deployment_target
7701901 Remove the deprecated sparse_histogram.h header.
e2f0160 Use Chromium copyright notice and BSD license in mini_chromium


Bug: crashpad:79, crashpad:196
Change-Id: Ie41d971e0e769db2ed18861da07021c071f6c650
Reviewed-on: https://chromium-review.googlesource.com/833329
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-19 00:07:06 +00:00
Ilya Sherman
7662fb087f Roll mini_chromium a12ed4a6..20182dd2
$ git log --oneline a12ed4a6..20182dd2
20182dd Add missing newline at EOF after d1943e187f47
d1943e1 Add a stub for Chromium's base::UmaHistogramSparse().
9920849 gn, mac: Various GN build fixes
0b16698 gn, mac: Tell libtool not to warn about empty .o files

R=mark@chromium.org

Bug: chromium:773850
Change-Id: I2fb4b7ed8a8efa8b3d37f1b8f131396e9a2bbfdc
Reviewed-on: https://chromium-review.googlesource.com/827648
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-15 04:19:44 +00:00
Scott Graham
05dee13e84 fuchsia: Add QEMU and helper script to start/stop instance
This is mostly intended to be used for waterfall/trybots.
Fuchsia-on-metal isn't available as a Swarming dimension, so in order to
run tests, use QEMU-with-KVM on the host. It might also be useful for
local development for those without a Fuchsia hardware device.

Bug: crashpad:196, crashpad:212
Change-Id: I88170bc95bd532676b787b50a94f7fa3c69b1ac7
Reviewed-on: https://chromium-review.googlesource.com/822523
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-13 23:18:05 +00:00
Scott Graham
82a80acd31 Roll mini_chromium 96e32dd4..a12ed4a6
$ git log --oneline 96e32dd4..a12ed4a6
a12ed4a gn, mac: Add sysroot.gni for Mac that finds default SDK
5e8e232 gn, win: Add copy and solink_module tools to win toolchain
009b44a gn: Explicitly filter posix files from mini_chromium/base

TBR=mark@chromium.org
Bug: crashpad:79
Change-Id: Ic86a2e376d31cbf614e0f44907156f83cbeabd20
Reviewed-on: https://chromium-review.googlesource.com/812544
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2017-12-06 23:47:04 +00:00
Mark Mentovai
612237a032 android: Fix 32-bit test to build at API [21, 24) with unified headers
Although API 21 introduced support for 64-bit off_t in many system calls
or their wrappers, <stdio.h> support for 64-bit off_t is absent until
API 24.

This is a partial revert of 5969d6b1eb22, because with this more
targeted fix applying only to gtest, the rest of Crashpad will work with
a 64-bit off_t even at API levels lacking NDK support by going through
the mmap() shim in compat.

This includes a mini_chromium update to 96e32dd499a4.

85cbec19ffc0 fuchsia: Make EINTR macros no-ops
fbf410cd4d40 fuchsia: Use koid instead of getpid() for process field in
             logging
96e32dd499a4 Revert "android: Don’t use _FILE_OFFSET_BITS=64 until API
             21"

Bug: crashpad:211
Change-Id: I34c3c8b42eb315605e6775962b44c3c4573b7462
Reviewed-on: https://chromium-review.googlesource.com/811204
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2017-12-06 18:05: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
Scott Graham
eeb31321f7 gn, fuchsia: Add //testing forwarding and GN build file
third_party/gtest/BUILD.gn mostly written by rsesek.

Also includes DEPS roll of mini_chromium for Wexit_time_destructors config.

$ git log --oneline dd0c3e96..fa146c12
fa146c1 (HEAD, origin/master, origin/HEAD) gn: Extract Wexit-time-destructors into separate config
95bfddb fuchsia: Fix base::RandBytes() after 5a1c5f82ce75
b79608a fuchsia: Use llvm-ar from the Fuchsia clang package
c34725b fuchsia: Look for the toolchain and SDK in per-build-host directories
e8e1ee4 fuchsia: Don't assume that kernel will provide all requested rand bytes
5a1c5f8 fuchsia: Implement RandBytes()
df359ca fuchsia: Enable -fPIC
bd50c95 Restore accidentally changed license
a70db15 Improvements to GN build config
7de4d23 fuchsia: Fix compile of base/logging.cc
25a8b57 Add link GN rules to non-win build, set c++14 in CC flags.
7d15806 fuchsia: The very basics of compiling mini_chromium/base with GN

Bug: crashpad:79, crashpad:196
Change-Id: I3e741f185b028a96705eefc1f993037830d97448
Reviewed-on: https://chromium-review.googlesource.com/797414
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2017-11-30 20:58:46 +00:00
Mark Mentovai
1ee9fee37c Update buildtools, gtest, and gyp
Update buildtools to 505de88083136eefd056e5ee4ca0f01fe9b33de8

97d73b1a3ddb Do not apply clang coverage to libc++ and libc++abi
e043d81e9185 Roll gn 87530f977a..2c6f9299ed (r503394:r509075)
3275a099f3c1 Output warning only in verbose mode in Java deps checker
011c39ca57fa Roll libcxx, libcxxabi, and libunwind
df36429e1847 Add vector.cpp to libc++ sources
b0f94d04e26f Java checker only warns multiple definitions of touched
             files
c79d52ba0fb4 Merge "Java checker only warns multiple definitions of
             touched files"
817a502753ff Prepare Android for building libc++ in-tree
05f9bc9b8599 Fix undefined deps on arm64
2a2f666c35b7 Update libc++, libc++abi, and libunwind READMEs
73ddd64be624 Roll gn 2c6f9299ed..157d5de447 (r509075:r514519)
93a751e41bd9 Fix git cl presubmit failure caused by java_checker.py scan
             deleted files
6cce6ca960b9 Fix libc++ build when using gcc
7f134c70f0f8 Allow java file multiple definition for excluded paths in
             java checker
9c40f80c9998 Merge "Fix libc++ build when using gcc"
8c7174c87fd6 Always hide libunwind symbols on desktop Linux
3196d83d5c1f Fix typo: fuschia -> fuchsia
461b345a815c Add migration code for no_exceptions configs
505de8808313 Finish migration to exceptions configs

Update gtest to d175c8bf823e709d570772b038757fadf63bc632

509f7fe84094 Update googletest README.md
24696c3958f0 Merge branch 'master' into master
3eaba9f07c5f Merge branch 'master' into master
4597ec587ca2 Updated README with information about C runtime
             dynamic/static linking issues in Windows
ecb1c3ddb6cf #1282: Doc typo fix
963932e7f37b Merge pull request #1292 from DariuszOstolski/master
3282f9ae018f Merge pull request #1288 from joealam/master
dfed97a69ac3 Workaround for Travis issue https://github.com/travis-ci
             /travis-ci/issues/8552
5c9543547e5f Merge pull request #1297 from gennadiycivil/master
34aaf58c8b1b Revert "Workaround for Travis issue https://github.com
             /travis-ci/travis-ci/is…"
27be0dfb53a1 Merge pull request #1298 from google/revert-1297-master
54c2648bff0e Workaround for Travis issue https://goo.gl/d5eV8o
48986f9d4c8e Merge branch 'master' into master
69e48e92de43 Merge pull request #1300 from gennadiycivil/master
c208d8df23d6 Merge branch 'master' into master
1beff241c359 googletest: Add GTEST_API_ attribute to ThreadLocal class
6d0bb75c81bc Merge pull request #1139 from chehsunliu/master
77380cddf771 Enable C++11 features for VS2015 and VS2017
2641b021fc2a Fix tests with VS2015 and VS2017
840c711e7bd7 Fix gmock tests when std::unary_function unavailable
7684db32712e Merge pull request #1218 from KindDragon/vs-build-fix
20e2de7d8bba Remove gcc 6 misleading indentations
060783b7d2b7 Merge branch 'master' into gtestapifix
e93a15c5a59e Merge pull request #913 from Romain-Geissler/fix-gcc-
             misleading-indentation-warning
3121b2049e30 Merge pull request #1304 from m-gupta/gtestapifix
b153bfd8f503 Enable CI for VS2017
8866af0386d7 remove markdown stars (bold) from code examples
43d6ad75bc4f Merge pull request #1308 from KindDragon/vs2017-ci
d175c8bf823e Merge pull request #1313 from aninf-wo/heth/fix-faq-stars-
             issue-1312

Update gyp to 5e2b3ddde7cda5eb6bc09a5546a76b00e49d888f

365ffa057dc3 Flip to LUCI for tryjobs
5e2b3ddde7cd Remove Rietveld CQ config

Change-Id: I20ca6d84ac79cb85d73934392ff1655de2f147c5
Reviewed-on: https://chromium-review.googlesource.com/797011
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-11-29 18:27:20 +00:00
Mark Mentovai
5e16410ad4 fuchsia: Download the toolchain to distinct directories per build host
I like to share a single Crashpad checkout between my non-virtual
machine and some virtual machines. Downloaded toolchains, which vary by
build host configuration, must go in paths named for the build host.
(Chromium doesn’t do this, and it bugs me.)

Rather than downloading the Fuchsia toolchain to
third_party/fuchsia/clang, this puts it in
third_party/fuchsia/clang/{mac,linux}-amd64.

The Fuchsia SDK is only published on cipd for linux-amd64, but the
sysroot that it contains ought to be perfectly functional on any
suitably-equipped build host, so this also checks out that package
unconditionally.

Bug: crashpad:196
Change-Id: Iabd4f2dd1e2c06a3f7208b5c40432619983919ea
Reviewed-on: https://chromium-review.googlesource.com/794537
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-11-29 15:19:17 +00:00
Scott Graham
4ee20f5831 Add Fuchsia clang and sdk to DEPS
These use CIPD (from depot_tools) to download packages created by the
Fuchsia team. The .ensure file is passed to `cipd` which currently
include specificiations for the Fuchsia team's build of clang (which,
because it's close to HEAD includes support for targeting Fuchsia), as
well as the Fuchsia SDK.

Both packages are specified as "latest" rather than pinning to a
specific revision. At this early point in the process we don't have any
good reason to pin, but that can be accomplished later by replacing that
with a specific package's SHA1.

Due to the (relatively new) 'condition': 'checkout_fuchsia', this DEPS
step will only be run when .gclient includes 'fuchsia' in the target_os
block at the top_level, e.g.

$ cat .gclient
solutions = [
  { ...  },
]
target_os = ['fuchsia']

Bug: crashpad:196, crashpad:209
Change-Id: Id6d444a1c4450ffde8ee6665ff9720ce454c5cdf
Reviewed-on: https://chromium-review.googlesource.com/786092
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-11-27 21:42:44 +00:00
Mark Mentovai
e935375fe9 Don’t check out lldb (or llvm or clang)
These are large, not pinned (floating at HEAD), and we’re not currently
using them.

Change-Id: I550f832aeb42db8404fdb764f78e83136a2a7ef6
Reviewed-on: https://chromium-review.googlesource.com/779668
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-11-20 22:05:29 +00:00
Mark Mentovai
b851b2590b Update mini_chromium to dd0c3e9680ae3c4c22f2221a2a75e48dd4a562ec
7f523b111c8c win: Don’t define c16*() functions in
             base/strings/string16.{cc,h}
dd0c3e9680ae Use ICU 60.1 as the basis for base/third_party/icu

Change-Id: I21b921c36a3ee1f989fa9786f60d980724577f64
Reviewed-on: https://chromium-review.googlesource.com/755215
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-11-06 20:16:15 +00:00
Mark Mentovai
7a849482ea Switch the language standard to C++14 and use std::make_unique
Update mini_chromium to 7d6697ceb5cb5ca02fde3813496f48b9b1d76d0c

47ff9691450e Switch the language standard to C++14
7d6697ceb5cb Remove base/memory/ptr_util.h and base::WrapUnique

base::WrapUnique and std::make_unique are similar, but the latter is
standardized and preferred.

Most of the mechanical changes were made with this sed:

for f in $(git grep -l base::WrapUnique | uniq); do
  sed -E \
      -e 's%base::WrapUnique\(new ([^(]+)\((.*)\)\);%std::make_unique<\1>(\2);%g' \
      -e 's%base::WrapUnique\(new ([^(]+)\);%std::make_unique<\1>();%g' \
      -e 's%^#include "base/memory/ptr_util.h"$%#include <memory>%' \
      -i '' "${f}"
done

Several uses of base::WrapUnique that did not fit on a single line and
were not matched by this sed were adjusted manually. All #include
changes were audited manually, to at least move <memory> into the
correct section. Where <memory> was already #included by a file (or its
corresponding header), the extra #include was removed. Where <memory>
should have been #included by a header, it was added. Other similar
adjustments to other #includes were also made.

Change-Id: Id4e0baad8b3652646bede4c3f30f41fcabfdbd4f
Reviewed-on: https://chromium-review.googlesource.com/714658
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Leonard Mosescu <mosescu@chromium.org>
2017-10-12 19:07:13 +00:00
Mark Mentovai
2e9282c9f9 Update buildtools, gtest, and gyp
Update buildtools to f6d165d9d842ddd29056c127a5f3a3c5d8e0d2e3

df898926221f Fix "Updating clang-format" wiki link
99df659c6e57 Update clang-format binaries and scripts for all platforms
a2ace8b013bd Revert "Update clang-format binaries and scripts for all
             platforms."
c302711306f1 Update clang-format binaries and scripts for all platforms
             (take 2)
97eb757d4590 Revert "Update clang-format binaries and scripts for all
             platforms (take 2)."
4ca3556cb709 Dependancy check for .proto files is added
ce4239e50192 Revert "Dependancy check for .proto files is added."
cf493f8b1ae5 Update the buildtools README with more information
7e53759cf4e5 Update clang-format binaries and scripts for all platforms
94cdccbebc7a Update clang-format binaries and scripts for all platforms
a114b81a60af Proto checkdeps added ignoring partial paths
b3771b1935ea Update clang-format binaries and scripts for all platforms
95345544a058 Roll gn d8754536ca..5dd3a2137b (r446079:r456385)
e6b510a9daf8 Roll gn 5dd3a2137b..c3cb4770dc (r456385:r456551)
d30744485416 Move DEPS file docs into a README.md
88811f48a6b7 Roll gn c3cb4770dc..71aff04f37 (r456551:r464797)
64a8bb0b92ba Roll gn 71aff04f37..4e41fe9e35 (r464797:r465181)
98f00fa10dba Roll gn 71aff04f37..7c9bd5f020 (r464797:r465654)
896bb2648fce Sanitizers: Roll in 16 months of libcxx and libcxxabi
             changes
57c94085e893 libc++: change default symbol visibility to hidden
0c52ccb37d2e libc++(abi): Remove *.gyp files
104574186c17 Roll libcxx and libcxxabi
3b8de5198d78 Statically link libc++ on non-component builds
7d436d145657 Make libc++ a shared_library on sanitizer builds
31d4daad5d9a Make libc++abi a static library on mac
6870c1817e36 Merge configs needed to disable libstdc++ in
             third_party/libc++
b7a35318665f Remove some no-longer-needed workarounds in libc++abi
b53a03df323e Fix typo in libc++abi
ee9c3a70889f Update clang-format binaries and scripts for all platforms
9a65473a7e8f Make operator new/delete symbols have default visibility
8921af0a0c50 Fix libc++ ARM build
b92ff913082a Remove stdlib_new_delete.cpp from libc++abi
5012a0f43c56 Remove //buildtools/third_party/libc++:link_helper
7f2cacbbe274 Only link against libunwind when the current toolchain is
             ARM
38477c2e103c Roll gn 7c9bd5f020..bedb4b202b (r465654:r481731)
f3de35865149 Roll gn 7c9bd5f020..bb4aa4a793 (r465654:r482028)
7a6ba5710007 Roll gn 7c9bd5f020..c5323f29dd (r465654:r482038)
6d2512767b06 Fix linux gn.sha1
1dcd1bdbe934 Ensure libunwind symbols are hidden
3d2d34dde457 Only enable shared libc++ for ASan, MSan and TSan builds
b43e28d067fa Move c++ configs from buildtools to build/config/c++
             [buildtools-side change]
c2827ae578be Revert "Only enable shared libc++ for ASan, MSan and TSan
             builds."
5ad14542a6a7 Move libcpp_is_static into //build/config/c++ [buildtools
             changes]
afba46cd46ef Roll gn c5323f29dd..b1573039b7 (r482038:r486916)
27f253f9a92f Roll gn c5323f29dd..b1573039b7 (r482038:r486916)
66439712f75e Upload buildtools changes to Gerrit by default
335548b45d17 fuchsia: Build libunwind on Fuchsia too
838f29772283 Revert "Roll gn c5323f29dd..b1573039b7 (r482038:r486916)"
d511e4d53d6f Omit compilation of cxa_thread_atexit.cpp on Linux
275b8c481615 Only disable export of libunwind symbols when libcpp is
             static
abaf2ba54948 Don't leak libc++ symbols across modules
f4bcb07d88cd Merge "Don't leak libc++ symbols across modules"
ceb050498e43 Roll gn c5323f29dd..b1573039b7 (r482038:r486916) (RELAND)
f90f6a5af3e8 Roll gn b1573039b7..8d5e7fb9a6 (r486916:r494532)
d36e2d975b59 Roll gn 8d5e7fb9..c9126ec9 (r494532..r495172)
5af0a3a8b898 Roll gn ab2028c1af..d44036c154 (r495181:r495657)
84fdc9924305 Roll gn ab2028c1af..08098c4188 (r495181:r495718)
cbc33b9c0a9d Roll gn 7a152fc8b6..fc561c033e (r495682:r498655)
26b7e66950e9 Roll gn fc561c033e..cf557ff016 (r498655:r502818)
f6d165d9d842 Roll gn cf557ff016..87530f977a (r502818:r503394)

Update gtest to 7b6561c56e353100aca8458d7bc49c4e0119bae8

ff7263226a13 Fix typo in AdvancedGuide.md
62b167e40981 Fix: Markdown in V1_7_Primer.md
407b0aaf856a Add missing headers to Xcode framework target
d254052f7fe6 Update C++ language and library settings to match SDK
             projects
c88525f3f0d9 added related open source project
1d1b306dd4a4 made capitalization more consistent with other projects
266a185a528b remove duplicated words
a7ab054f2b77 Issue 709: Fix Cmake policy 0048
08d76be4cc59 Performance fixes reported by cppcheck
1cff1460d191 Add links to IRC channel and Google Group
68f19facc26a Moved the ignoring of *.pyc files to top level for also
             covering googlemock python scripts
82396f2d544a Update Primer.md
f700442db332 Clarifying language
194e3c810299 Fix WhenSorted() documentation example
7fbc5986cc49 enable null detection on Solaris Studio 12u4+
0b6d9475170a Update Primer.md
96977463eeff Fix the link to the float comparison article
21ccd6108dc8 update README.md with tiny-dnn
bef93f32c1d2 Fix small typo SeArrayArgument
75b683df4695 Fix or condition typo ( '|' -> '||' )
0fdf78b9667b Fix a few documentation nits in the mock dummies guide
3ec005239feb Fix a typo
53c478d639b8 Annotate ColoredPrintf with the format attribute and fix
             bugs
2eaab21554e9 added link to sample 6 in the  documentation of typed test
9655b9f53da3 fix typo /GTEST_ATTRIBUTE_UNUSED/GTEST_ATTRIBUTE_UNUSED_/
51d92b2ccb97 Replace html entities with their equivalents
fa892afcb953 Wrong version reported (1.7.0 should be 1.8.0)
b74070cfd90c googlemock version must be changed as well
51143d5b6252 Merge pull request #996 from srz-zumix/fix-error
ba638689e40f Remove /tree/ from Readme.md links
aa148eb2b7f7 Merge pull request #1029 from google/BillyDonahue-patch-3
a2451c74038f Fixed some typos
518e0519ca49 Minimal changes to fix build failures on Microsoft Visual
             Studio 2015
b2521c890a8c Update README.md
b6c4d434dbf4 Update README.md
81bc87652d40 Added explicit gtest library dependency
5ff680577d3e Again rewrote everything
a6418a4dd19e Merge remote-tracking branch 'github_google/master' into
             master-github_frosteyes
611e8a99de2b Changes to make TempDir() public
69c6db249af5 Merge pull request #1077 from gennadiycivil/make-temp-dir-
             public-issue-1076
0ad83afdaa33 Merge pull request #1034 from dankegel/master
b7cf4414d9c2 Pick up GTEST_API_ definition in gtest/internal/custom
             /gtest-port.h
fac0dfbe738e Add NetBSD support
887d569eb0ba Merge pull request #965 from davidben/format-attr
8c7f93fedaca Merge pull request #1078 from pwnall/gtest_api_port
294f72bc773c Merge pull request #725 from donhuff/xcode-headers
6c0c8a7ea5e2 Fixing typo in documentation
b2cbbec04c14 Fix -Wmicrosoft-cast warnings when using gtest with clang
             on Windows
09fd5b3ebfaa Use std::string and ::string explicitly in gtest and gmock
             code
e1466ba4fe56 Gender-neutralize comments in gtest.h
2a5d67ccaded Merge pull request #1092 from nico/comment
078d5d930ad8 Merge pull request #1090 from nico/typo
7cc548dcbf26 Merge pull request #1089 from nico/stdstring
76491b74de24 Changes add ability to overwrite TempDir(), issue
             https://github.com/google/googletest/issues/1093
59c795ce08be Merge pull request #1096 from gennadiycivil/add-ability-
             for-custom-temdir-1093
42bc671f47b1 Merge pull request #1091 from nico/wmicro
dca9d5fc51ec Remove unnecessary 'the'
00ed9b566ee2 Fixing float comparison broken link
a44bbab9bdb2 Merge pull request #1113 from jorgehb/patch-1
c2d90bddc6a2 Create gtest-internal.h
24054ff07378 Fixed misspelling in assertion message
41ad243d930e Fix typo in gmock-actions.h
38ec2a1df69f docs: fix broken link from dummies guide to cook book
649aa2955238 Fix background color in ColoredPrintf
365df11427eb Add background_mask instead of using magic number
19cace28735c Colouring in help text
271fb8ff5ed8 Fix a problem when bg_color == fg_color
f050aff0c202 Merge pull request #1129 from Chris-Sharpe/master
4bab34d20842 Merge pull request #1081 from krytarowski/netbsd-1
26b7ac3b1888 Add helper functions for text color calculation
6a75e3c169d2 Remove unnecessary const
280b22708c01 Fix table formatting
1dde1eed381a Fix typos too s/destoyed/destroyed/
f20797bd8dd1 Same fixes for "current" version
2fcbc0c1ab48 Remove silly claim that C++ lacks lambdas
0ffd8629c9ee More tables that did not render correctly
4568374a6e84 Fixes a typo in FAQ.md
1b39c3dcdf77 Add gtest-parallel to open-source projects
a6b146dfddb9 Fix assumption for foreground bit offset
2960aa54e219 Remove duplicate code
7c3496c4ae8b Merge pull request #1126 from junr03/fix-broken-link
b9427ca47731 Merge pull request #1143 from nyibbang/patch-1
5c279131db71 docs: fix broken link
75bb586b60e5 Merge pull request #1158 from junr03/fix-link
6527ee0624b2 Merge pull request #1107 from lipk/patch-1
e5b88b227e6a Merge pull request #1137 from coryan/master
f6ac9a30a4ba remove obsolete reference to SVN trunk
b3908406e65b remove doc of former versions
58b42274c0fc remove obsolete reference to SVN trunk and fix link to pump
             manual
6b8967748151 remove doc of former versions
ec19d455bc12 fix links to Google C++ Style Guide
623616a50a32 Fixed typo
f08b1c350a66 Merge pull request #1165 from aninf-wo/hethi/fix-doc-links
7755e5d241d1 Merge pull request #1167 from krizalys/fix-typo
f63e2a14a21a WIP
b3edada29070 WIP
e2e37c94320b Merge pull request #1147 from pbos/gtest_parallel_link
6615f7df11c8 WIP
aa31cb67c2a9 WIP
d966d5fbe005 Merge pull request #968 from
             nicolacavallini/link_typed_test_docs
032baa0da319 Merge pull request #998 from dawikur/patch-1
73f321590a7f Merge pull request #962 from klimkin/klimkin-patch-typo
0cb2eeb5f18e Merge pull request #764 from flyd1005/wip-fix-typo
683fcf596947 Merge pull request #782 from Manozco/709-cmake-policy-
             project-version
e1f3d8d17549 Merge pull request #671 from mehagar/patch-1
d655d0989db0 Merge pull request #867 from marzojr/patch-1
b68f1e769c7a Fix policy issue with old cmakes
fa388e9f94e2 Merge pull request #1170 from
             Manozco/1169_fix_old_cmake_issue
28bb854cefba Merge pull request #1042 from danilcha/patch-1
568958e94000 Fixed cmake policy issue
50f3bafb1aef Merge pull request #1172 from joelypoley/joelypoley-patch-1
ca102b1f9d1f Merge pull request #1030 from vpfautz/master
deb99a9d268b Use wider types to prevent unsigned overflow diagnostics
aac403334d57 Correct some typos in a comment
212f4d793e5f fix small typo in comment
0f702cebb0e6 add note about different definitions of Test Case
52a9c14c48ed Samples changes upstreaming
aecea3842c3a Samples changes upstreaming
eb261b4dce67 Merge pull request #1176 from aninf-wo/hethi/typo
7890f7215e35 Merge pull request #1180 from aconverse/master
22d1a7a1a70a Merge pull request #909 from AsturaPhoenix/patch-1
f8d909d095ec Merge pull request #1173 from shlomif/correct-typo
40aa72c7dcfd Merge pull request #675 from theHacker/master
6ae9cc7894ad Merge pull request #925 from edgarriba/patch-1
8815087cfa12 WIP
c75de0aa924d WIP, windows testing
a2006b2ab034 WIP, windows testing
40a909b4e543 WIP, windows testing
e66b6bc86805 WIP, win testing
ab8f2b0d09eb WIP, win testing
aadf53d2a2c1 Merge pull request #1122 from chromy/upstream-146491438
461713fec460 Merge pull request #1123 from chromy/upstream-141765019
e022dcded846 Merge branch 'master' into hethi/remove-old-docs
67fcf00703aa Punctuation
b322d1d91d92 Merge pull request #1185 from eduherminio/master
33edcaed8995 be more specific on Test Case
ac885f3ab2a5 WIP
4f5c01b4c969 Added googlemock tests
5a5e3c17bbec Added googlemock tests
484ec91c2274 Infinite Loop when calling a mock function that takes
             boost::filesystem::path as parameter #521: Add is_same type
             trait
71ca4bae1085 Infinite Loop when calling a mock function that takes
             boost::filesystem::path as parameter #521: Add is_same type
             trait and prevent infinite loops for recursive containers
2606c7a670fd Merge branch 'master' of github.com:Dani-Hub/googletest
66a036959f09 WIP
0e8e0e07d6c4 Fix library install destinations
c09e9e646de8 clarify distinction regarding Test Case
75f0723c4522 Merge pull request #1178 from aninf-wo/hethi/testsuite-hint
6e1970e2376c Adding a flag option to change the default mock type
b98e30b42704 Initial Revision, review 164634031
cb5b05436dfc Added Copyright
854b28f19903 Minor style fixes
dc7214f222a8 say "former version" instead of "released version"
4e284ee657ff Update WORKSPACE
07bba78a5fc9 Merge branch 'master' of github.com:Dani-Hub/googletest
b11b2e403e9d Merge branch 'master' of github.com:Dani-Hub/googletest
c3f65335b79f Addressing comments
97a8498873ba Addressing Comments
e5781865289e Merge pull request #1191 from gennadiycivil/master
cfab28d59448 Merge pull request #1192 from eduherminio/master
1579064390bd Merge pull request #1127 from zulkarnine/patch-1
c822c85659d5 Merge pull request #1164 from aninf-wo/hethi/remove-old-
             docs
4283f264d6ee Merge pull request #957 from sglass68/sim
c523461f3ae8 Merge pull request #937 from srz-zumix/fix-gtest-port-typo
c81be0f6fc06 Merge pull request #871 from tommyleo2/master
e3bd4cbeaeef Merge pull request #1160 from mwoehlke-kitware/honor-
             lib_suffix
e533ff4bd33c Merge pull request #926 from bartshappee/patch-1
052df998c46b Merge pull request #749 from nholthaus/patch-1
c7f4849c0b71 Merge pull request #919 from delaitre/patch-1
9816b96a6ddc Merge pull request #857 from KindDragon/patch-1
673c975a963f Merge pull request #905 from iignatev/master
8604c4adac40 Add support for pkgconfig
9cacce4e5ca0 Add documentation for pkg-config
8f04622cc150 Use GTEST_LOG instead of printf
0c3c81116453 Merge remote-tracking branch 'origin/master' into
             user_logger_instead_of_printf
e0fc65c5fbfe Merge pull request #1197 from SoapGentoo/pkgconfig
ca76206f4268 Removed extra colon in error log
a4121dd54b58 Change AppVeyor Status Badge to point to new AppVeyor
             Project Location
3f3a3ada2022 Change AppVeyor Status Badge to point to new AppVeyor
             Project Location
08b1a1f73cec Merge branch 'master' into master
5ed471caec6f Merge pull request #1204 from gennadiycivil/master
9469fb687d04 Fix problem installing gtest when gmock enabled
5b4166f05fbc Add function name to exception if there's no default action
a2803bc37daf Handling invalid flag values
b7e8a993b412 Merge pull request #1205 from mwoehlke-kitware/fix-gtest-
             install
8f233a74ebe1 Merge branch 'master' into methodname-in-exception
1fe692ce49f1 Update README.md
1183503d11f9 Merge branch 'master' into methodname-in-exception
95f18d99383c adds test for NiceMock with unknown return value
cc99900036ae Fix test if exceptions are not supported
36777251c077 Switch return type to class without default constructor
b0ed43e72447 Change tabs to spaces in test case
5518a1d350d5 Adding CMake visibility policy setting
780bae0facea Merge pull request #1215 from henryiii/patch-1
35737ac7ac1a Merge branch 'master' into methodname-in-exception
026735daf34c Proposing these changes, please review
3cf65b5d86d4 Added "explicit" as per compiler suggestion
1ee807965158 Remove unused variable
675686a139a7 Merge pull request #1206 from ShadowIce/methodname-in-
             exception
96f7ba83cb22 Merge branch 'master' into wrong-version-reported
8304d06199bd Merge branch 'master' into master
966b549c8803 Support ref-qualified member functions in Property()
6404d45a9252 Merge branch 'master' of github.com:Dani-Hub/googletest
fa3bb1a77973 Merge branch 'master' of github.com:Dani-Hub/googletest
d93ce9d6fb8e Merge branch 'master' of github.com:Dani-Hub/googletest
f8514b8da353 Merge branch 'master' of github.com:Dani-Hub/googletest
88269cd365fa Support x64 configuration for old VS2010 projects
863e02644b57 Merge pull request #1220 from romkatv/property-matcher
f4abce46093d Merge branch 'master' into vs-projects-fix
ebc7b01d8956 Merge branch 'master' into master
c38baf985831 Merge pull request #1219 from KindDragon/vs-projects-fix
87327b12e9b1 Merge branch 'master' into master
eabd5c908d27 Merge pull request #1186 from Dani-Hub/master
45287f3dffa4 Remove gtest VS2005 projects
cb8ebf5c9a04 Support x64 configuration for old VS2015 projects
f25921565bbf Merge pull request #1221 from KindDragon/vs-projects-fix2
a7eeb6971fdf Merge branch 'master' into vs-projects-fix3
b43bfcf49166 Merge pull request #1222 from KindDragon/vs-projects-fix3
c00373320db8 Merge branch 'refs/heads/master' into flag-default
fa5d3b3845aa Applying lint checks from upstream google3
daaed2b6cb7b fix typo in comment and string (SetUpTestCase)
b567aadd1b3e remove unused TestCase import
fe760e9c6d92 fix typo: xUnit
96f3745e73d5 Merge pull request #1189 from alyssawilk/flag-default
30c1e00afbc0 Merge branch 'master' into hethi/typo-xUnit
8364718500da remove non-existing gmock_build_samples switch
4a451575895d switch on verbose make
d33861dca6fa run combined build only
29c07aa9dbeb remove Yob's comma mentioned in issue #1105
bb8399e1baf9 use plural verb as mentioned in issue #1105
c3d1d3356046 Detect Fuchsia, and set GTEST_HAS_PTHREAD on
             GTEST_OS_FUCHSIA
24ceb4f4f552 Merge pull request #1231 from aninf-wo/heth/travis-verbose-
             make
c4126e0463a8 Merge pull request #1232 from aninf-wo/hethi/travis-reduce-
             buildjobs
58fd184c7f7a Merge branch 'master' into hethi/typo-xUnit
b46755be30f9 Merge pull request #1229 from aninf-wo/hethi/typo-xUnit
298cd5e9c423 Merge pull request #1233 from aninf-wo/hethi/typo-
             issue-1105
5bd8e832177f Merge branch 'master' into hethi/fix-typo
71e2858f3290 Merge pull request #1226 from aninf-wo/hethi/fix-typo
c780e0e2c4e6 Merge branch 'master' into hethi/travis-unused-cmake
d6562b5a57ec Merge branch 'master' into hethi/unused-import
cc246ecb5675 use build type set in .travis.yml
dae044d4b986 use upper-case build type
f0c72bfe09af fix SetUp/TearDownTestCase() in AdvancedGuide
7529c8aa05c2 remove obsolete comment regarding python tests on linux
73d58dd4c838 ask cmake for per-configuration output subdir
5d431c650f9c Merge pull request #1236 from aninf-wo/hethi/issue-1087
             -fix-advancedguide
47ad2993b682 Revert "ask cmake for per-configuration output subdir"
4db9a748e3bb Merge branch 'master' into hethi/unused-import
c4ec2ac04de2 Merge branch 'master' into hethi/travis-unused-cmake
9ba7946bde63 create different python based tests for single and multi
             configuration build generators
bb1c4af48702 Merge branch 'master' into master
0eb49f4d6b59 Note that it is preferable for Googlers to create a CL
             internally first
c4e01616af01 removed internal link ( not allowed in OSS)
fa70b84ab51e Removed "Trivial"
cfcc89a84a6f Merge branch 'master' into hethi/issue-1175-cmake-build-
             type
7f8fefabedf2 Merge pull request #1237 from sgraham/update-docs-3
5dde668e0931 AppVeyor MinGW-w64 test build
16bfba08e2c6 Merge pull request #1230 from aninf-wo/hethi/travis-unused-
             cmake
d6c46ebd04e2 Merge branch 'master' into hethi/issue-1175-cmake-build-
             type
1a8ba67414be Merge branch 'master' into hethi/unused-import
34355c0e870e Merge remote-tracking branch 'github_google/master' into
             master-github_frosteyes
a430e9c176bd Merge pull request #865 from frosteyes/master
14cf7f574a4f fix example's comment
84bd72ba3cc7 Merge branch 'master' into hethi/fix-faq-example-comment
7f27d8bdd1f4 Merge branch 'master' into hethi/issue-1175-cmake-build-
             type
92e920730dae Merge pull request #1240 from aninf-wo/hethi/fix-faq-
             example-comment
e033d8c73de8 change links from former code.google.com to current github
             repository
2a720ac1bbd6 Merge branch 'master' into hethi/issue-1175-cmake-build-
             type
8282229d4f9d Merge branch 'master' into mingw64-appveyour
836c194a8102 Merge pull request #1241 from aninf-wo/hethi/issue-635-old-
             links
633488a76325 Merge branch 'master' into mingw64-appveyour
69e794ca75e6 Merge pull request #870 from KindDragon/mingw64-appveyour
ee53b281ba16 Merge branch 'master' into user_logger_instead_of_printf
b3a1f87f0c5f Merge pull request #1235 from aninf-wo/hethi/issue-1175
             -cmake-build-type
e4f6c0b358a4 Merge pull request #1011 from zeitounator/wrong-version-
             reported
52b6ca3428ee Merge pull request #783 from tobbi/cppcheck_perf_fixes
1a62d1b08806 CMake: use threads if allowed and found, not just if found
7c6353d29a14 Merge pull request #900 from Gallaecio/patch-1
d15b8b452406 switch one build to Release mode
520ad96b7817 treat all warnings as errors for GCC (-Werror)
e7c9e80e63e5 Allow macros inside of parametrized test names
86e5f0083e52 Add a non-parametrized test
8abacca52eeb avoid -Wshadow warning on GCC
55fd999adf5a avoid warning about unused variable
48b06628803c cache ccache
d96a038e8b2b set MAKEFLAGS to use multiple processors on Travis CI
98f2f152539e install ccache on travis osx build slave
fe97312e24ef limit processors to use in Travis build to 4
88b76525dd27 Merge branch 'master' into hethi/unused-import
e8c6942ac157 remove obsolete link_directories command
9a8794faed3c add a cast
83d8dd0e9c5e call clang via ccache on Linux
56f8222a148d show ccache statistics in log
dd8e4a635893 reset ccache statistics at install
beca85ff4afb drop unused valgrind package from installation
857ddeadebe4 Merge pull request #975 from LebedevRI/respect-option
be94bf501e64 remove unused variables from travis environment
a92c362cfbc6 Merge branch 'master' into 2017_09_04_parametrized
8a3ccc3ee363 Merge pull request #1247 from aninf-wo/hethi/enable-
             parallel-builds
a33b6b091999 Merge pull request #1246 from aninf-wo/hethi/enable-travis-
             gcc-cache
bc60b5a82704 Merge branch 'master' into hethi/travis-release-build
f6dde80e94b9 Removed flush scopes around GTEST_LOG(FATAL) and exit call
             since FATAL is expected to abort()
900cc4bca597 Merge commit 'a33b6b091999d44f771761be03beb64d3af2350a'
             into user_logger_instead_of_printf
e43a5948d51e Merge branch 'master' into master
6c0146fd0075 use GTEST_ATTRIBUTE_UNUSED_ instead of dummy function
f3500ce23a0e Merge pull request #1243 from aninf-wo/hethi/travis-
             release-build
894cdb82cb2a Merge pull request #1251 from aninf-wo/hethi/drop-valgrind-
             installation-on-travis
8620328bcae4 Merge branch 'master' into hethi/cleanup-travis-environment
1b5b246ff9f1 Merge branch 'master' into hethi/unused-import
6508a66622b4 Merge branch 'master' into master
803ab9a86069 Merge branch 'master' into hethi/remove-linker-warning-on-
             non-existing-path
def0b32119e1 Merge pull request #1254 from aninf-wo/hethi/cleanup-
             travis-environment
4f68ab5b84dd Fix ellipsis position in examples
3663d671708e Merge pull request #1203 from
             eidosmontreal/user_logger_instead_of_printf
eb695b0f1162 Merge branch 'master' into hethi/unused-import
ecc5182dbd6e Merge pull request #1250 from aninf-wo/hethi/remove-linker-
             warning-on-non-existing-path
61330388862c Merge pull request #1227 from aninf-wo/hethi/unused-import
834baf336231 Merge branch 'master' into patch-1
c9cf07a8ba4d Make the failure messages from EXPECT_EQ and friends
             actually symmetric,
20e62ad24cc7 Merge pull request #1242 from DarthGandalf/expect
31b6155d7d46 Merge branch 'master' into patch-1
9681b4c8e6aa Add explicit `CMAKE_DEBUG_POSTFIX` option
b1dd47c278a7 Merge pull request #1255 from yursha/patch-1
b55abc3fe08a Merge branch 'master' into patch-1
deace2546ef4 Merge pull request #1259 from ly2048/patch-1
d4af64ca1317 Remove redundant declaration
cf512a099cd5 Swap reinterpret_cast for static_cast
43863938377a Merge pull request #1265 from bkircher/redundant-decl
ff6796877fcb Merge pull request #1245 from
             sheepmaster/2017_09_04_parametrized
d30a37e743e4 Revert "Allow macros inside of parametrized test names."
bfc0ffc8a698 Merge pull request #1271 from
             google/revert-1245-2017_09_04_parametrized
89f45180e02c Merge branch 'master' into master
f1a87d73fc60 Merge pull request #1249 from stkhapugin/master
b70cf1a663ad Use gender-neutral pronouns in comments and docs
7b6561c56e35 Merge pull request #1275 from jwakely/pr/1273

Update gyp to f72586209ecbf70b71ce690f2182ebe51669cbb3

a478c1ab51ea win: mkdir even when copying directory
d61a9397e668 mac_tool.py: Handle non-zero ibtool return code
4801a5331ae6 gyp: update xml string encoding conversion
324dd166b7c0 gyp: show descriptive Windows SDK detection error
dd0eafbde598 Support z/OS platform
c6f471687407 make,ninja: Add support for an LDFLAGS_host environment
             variable
30a29189f489 Change z/OS platform flavor name based on python 2.7.13
44ad5a0ab869 Add LIBS to the link command on z/OS
f72586209ecb Provide backward compatibility for python 2.7.6 on z/OS

Change-Id: I910b36f3166e51391d51b9ce5a4050651a5e50ea
Reviewed-on: https://chromium-review.googlesource.com/700429
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-10-04 20:25:16 +00:00
Robert Sesek
ad1b86535c Roll mini_chromium to 068fe690218f03a02c1cd34c9a0eb4bf3c814a6a
068fe690218f base/strings/string_util.h: Add strlcpy.

Bug: crashpad:192
Change-Id: I535082f5909f307b85a409e5a40c41c483bcd719
Reviewed-on: https://chromium-review.googlesource.com/621546
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Robert Sesek <rsesek@chromium.org>
2017-08-18 17:04:09 +00:00
Mark Mentovai
13e8672410 Update mini_chromium to ee67585e3115982282b86e210939ead1791e696d
ee67585e3115 linux: Switch between x86 and x86_64 with the target_arch
             GYP variable

Bug: crashpad:30
Change-Id: Ia7860cda42daae698a179b65d22ef7897141de59
Reviewed-on: https://chromium-review.googlesource.com/553557
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-06-28 21:50:42 +00:00
Mark Mentovai
8c35d92ae4 Use the C++11-standardized alignof instead of ALIGNOF
Use the standard alignas instead of ALIGNAS in cases where this is
possible too. It’s not currently possible where ALIGNAS may be mixed
with other attributes, although the not-landed
https://codereview.chromium.org/2670873002/ suggests that where ALIGNAS
is mixed with __attribute__((packed)), it’s viable to write “struct
alignas(4) S { /* … */ } __attribute__((packed));”.

This includes an update of mini_chromium to
723e840a2f100a525f7feaad2e93df31d701780a, picking up:

723e840a2f10 Remove ALIGNOF

This tracks upstream https://codereview.chromium.org/2932053002/.

Change-Id: I7ddaf829020ef3be0512f803cecbb7c543294f07
Reviewed-on: https://chromium-review.googlesource.com/533356
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-06-13 18:33:35 +00:00
Scott Graham
dbc229a2d7 Update mini_chromium to 606ff8a3
> git log --oneline ef0ded87..606ff8a3
606ff8a Remove base/memory/aligned_memory.*

Change-Id: Id3b1b75f2e18437543dc4703f6b2dc578ac7fa75
Reviewed-on: https://chromium-review.googlesource.com/530071
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2017-06-09 21:50:59 +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
fd8e2de0c5 win: MSVS 2017 (15)/C++ 14.1/C 19.10 compatibility
Includes mini_chromium ef0ded8717340c9fe48e8e0f34f3e0e74d10a392.

1d2a024fdb1d android: Use _FILE_OFFSET_BITS after all (undo
             dc3d480305b2)
ef0ded871734 win: MSVS 2017 (15)/C++ 14.1/C 19.10 compatibility

Change-Id: I5c814669a0ef8577872bddff9112ce28ec628ba3
Reviewed-on: https://chromium-review.googlesource.com/482639
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-04-20 00:28:35 +00:00
Mark Mentovai
c64fd3f9b4 Update mini_chromium to dc3d480305b27a5a1fb57f51a997529e00fed00b
2c1b54080cb2 android: Recognize Bionic’s semantics for strerror_r()
9a7a549b414d Terminate from CHECK(), LOG(FATAL) consistently
dc3d480305b2 android: Don’t set _FILE_OFFSET_BITS, it never worked

Bug: crashpad:30
Change-Id: I93f810efa17047b797491a9b1089ea8c80f81e41
Reviewed-on: https://chromium-review.googlesource.com/478252
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2017-04-14 21:28:58 +00:00
Mark Mentovai
f8ef834ef5 android: Support “unified headers” with GCC build
Previously, the __ANDROID_API__ macro was provided by
<android/api-level.h>. With unified headers (expected to become the
default in the next NDK release and the sole option in the subsequent
release), this macro is not set properly by headers. When building with
Clang, the standalone toolchain’s clang and clang++ wrappers set the
macro properly. GCC isn’t accounted for in this way, so the build system
must assume the responsibility of setting it.

This change fishes the value of __ANDROID_API__ out of the standalone
toolchain’s clang wrapper and sets the android_api_level GYP variable
appropriately. From there, it will be picked up by common.gypi in
mini_chromium and used to define __ANDROID_API__.

This updates mini_chromium to 62e6015f633dd4acb1610db15a064889315cadaa
which understands this new GYP variable.

62e6015f633d android: Support “unified headers” with GCC build

https://android.googlesource.com/platform/ndk/+/master/docs/UnifiedHeaders.md
https://android.googlesource.com/platform/ndk/+/ndk-r14/CHANGELOG.md

Bug: crashpad:30
Change-Id: I33e66eba8394e32ced8dca80c8226b85e0e786f3
Reviewed-on: https://chromium-review.googlesource.com/458021
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-03-23 19:20:35 +00:00
Mark Mentovai
777e36014f linux: Add HTTPTransportLibcurl for Linux (but not Android)
BUG=crashpad:30
TEST=crashpad_util_test HTTPTransport.*

Change-Id: Ifef812830fe2d778f400467d93771dc166cef390
2017-03-03 14:47:03 -05:00
Mark Mentovai
58aac1bd87 Set FD_CLOEXEC on file descriptors obtained from open() and fopen()
Includes an update of mini_chromium to 3a2d52d74c9a:

3a2d52d74c9a Use O_CLOEXEC (and O_NOCTTY) when calling open()

BUG=chromium:688362

Change-Id: I2bdf86efe4e6559ecb77492ac5bdc728aa035889
Reviewed-on: https://chromium-review.googlesource.com/447999
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-02-28 21:16:41 +00:00
Mark Mentovai
c73aebc7da Download clang-format and gn tools for Linux build hosts from DEPS hooks
This will make “git cl format” work in Crashpad on Linux.

BUG=crashpad:30

Change-Id: I3f356b46d93707419a229ae40b1387bb7629bb39
Reviewed-on: https://chromium-review.googlesource.com/448056
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-02-28 20:29:50 +00:00
Mark Mentovai
0c322ecc3f Use zlib to gzip-compress uploads
This adds zlib to Crashpad. By default in standalone Crashpad builds,
the system zlib will be used where available. A copy of Chromium’s zlib
(currently a slightly patched 1.2.11) is checked out via DEPS into
third_party for use on Windows, which does not have a system zlib.

zlib is used to produce gzip streams for HTTP upload request bodies sent
by crashpad_handler by default. The Content-Encoding: gzip header is set
for these compressed request bodies. Compression can be disabled for
upload to servers without corresponding decompression support by
starting crashpad_handler with the --no-upload-gzip option.

Most minidumps compress quite well with zlib. A size reduction of 90% is
not uncommon.

BUG=crashpad:157
TEST=crashpad_util_test GzipHTTPBodyStream.*:HTTPTransport.*

Change-Id: I99b86db3952c3685cd78f5dc858a60b54399c513
Reviewed-on: https://chromium-review.googlesource.com/438585
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2017-02-16 16:26:19 +00:00
Sigurdur Asgeirsson
6af23a933a Use best-effort allocation in ProcessInfo::BuildHandleVector.
BUG=crashpad:158

Change-Id: If8666140a7fc5315eeb791d0998226de89a22cc3
Reviewed-on: https://chromium-review.googlesource.com/438791
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-02-08 20:20:46 +00:00
Mark Mentovai
88442dd578 Merge Chromium 294442c0ce05 upstream to Crashpad
Remove stl_util from Crashpad. This also updates mini_chromium to
4f3cfc8e7c2b7d77f94f41a32c3ec84a6920f05d to remove stl_util from there
as well.

4f3cfc8e7c2b Remove stl_util from mini_chromium

BUG=chromium:555865

Change-Id: I8ecb1639a258dd233d524834ed205a4fcc641bac
Reviewed-on: https://chromium-review.googlesource.com/438865
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-02-07 21:04:42 +00:00
Mark Mentovai
35020d8010 Update buildtools, mini_chromium, gtest, and gyp
Update buildtools to a7cc7a3e21a061975b33dcdcd81a9716ba614c3c

adb8bf4e8fc9 Roll gn 4838fe571d..2eb03fab2b (r411399:r411754)
347c89790b42 Roll gn 2eb03fab2b..71c9ade4e9 (r411754:r415392)
82d2a28e425b Roll gn 2eb03fab2b..fe79dde87a (r411754:r415725)
b97d6c93a3e8 Roll gn 2eb03fab2b..764c7362bc (r411754:r417994)
6115afa0ea5e Roll gn 764c7362bc..668b150d14 (r417994:r419236)
f8088e3792a7 Roll gn 668b150d14..6a1c8d418d (r419236:r419720)
57649e5e2001 Roll gn 6a1c8d418d..65f3a42b24 (r419720:r419871)
86f7e41d9424 roll clang-format 258123:282138
3d2e47bf14e4 Fix repo url, remove recursion reference in DEPS
5fd66957f08b Roll gn 65f3a42b24..82dfb24218 (r419871:r421311)
39b1db2ab4aa Roll gn b6c1d4353b..bdc8e1e447 (r421341:r422996)
1f985091a586 Roll clang-format 0ed791d..6a413e9
991f459071f9 Roll gn bdc8e1e447..000b1184a0 (r422996:r432866)
102c16366d8b libc++: Don't pass -pthread to link.
64e38f0cebdd Roll gn 000b1184a0..78660e873f (r432866:r436326)
55ad626b08ef Roll gn 78660e873f..8897c835c2 (r436326:r436733)
0ef801087682 Roll gn 8897c835c2..c99acd6557 (r436733:r439377)
8932ecfa420a Roll gn c99acd6557..b1f498915e (r439377:r441559)
7e08d331f188 Roll gn c99acd6557..5c18ca83ce (r439377:r442253)
005cae407b97 Roll gn c99acd6557..7a3be23857 (r439377:r442631)
9a947138bc58 Roll gn 5c18ca83ce..7c0e0135f9 (r442253:r443802)
cb12d6e8641f Roll gn 7c0e0135f9..b4dbf044c5 (r443802:r443809)
8e94621c369e Roll gn b4dbf044c5..f13158d3c5 (r443809:r445411)
a7cc7a3e21a0 Roll gn f13158d3c5..d8754536ca (r445411:r446079)

Update mini_chromium to e504d59673e56887a4e837cbeb44b32ec21974f9

cae485daae70 win: Initial version of toolchain for GN
57f426502e00 Enable thread-safe statics when building with GCC and clang
e504d59673e5 Remove now-unused LazyInstance

Update gtest to d62d6c6556d96dda924382547c54a4b3afedb22c

9759dcda3c2f Fix compilation on MinGW with native threads
a138385e48ee Don't use pthread when on MinGW even if available
3429113886a9 Fix a test to compile when tuple isn't available
ed9d1e1ff92c Merge pull request #721 from ilmagico/fix-mingw-threads
d8fe70f477d8 Fix build with MinGW-w64
48ee8e98abc9 Merge pull request #856 from KindDragon/mingw-appveyor
10ff7f946863 Fixing relative links
16d6af7d414a Relative links
51b290d41e5d One works
9cb03aa70223 Fixing ForDummies link
f5c0130e88a3 Broken relative links fixed
995db996dee6 Fixing KnownIssues and FrequentlyAskedQuestions links
960a511f45be Fixing relative links
0e0ff5c3410f blob vs tree
32b4a9b39079 Fixed broken links
8ce0b5907cd9 Cookbok: fix broken relative link
ecd530865cef Merge pull request #876 from marco-m/patch-1
4eafafbde585 Fix detection of GTEST_HAS_CLONE for Android
3447fc31b4ee Merge pull request #728 from DanAlbert/tuple-stlport
a2b8a8e07628 Merge pull request #918 from
             DanAlbert/fix-android-GTEST_HAS_CLONE
cb502b7ad15c Added CMake configure-time download instructions to docs
c0059a79f82d 2.6.4 is the minimum CMake version, so enforce it (#656)
5e7fd50e17b6 Merge pull request #658 from
             audiofanatic/ExternalProject_at_configure_time
06a81e9357b6 Add GTEST_ATTRIBUTE_UNUSED_ to REGISTER_TYPED_TEST_CASE_P
3134af23d713 Merge pull request #1 from google/master
9ae086a9ebaf Merge pull request #874 from sejr/master
d62d6c6556d9 Merge pull request #982 from mbjorge/unused-variable-fix

Update gyp to a7055b3989c1074adca03b4b4829e7f0e57f6efd

702ac58e4772 Add new target type called windows_driver. * Modify GYP to
             set the PlatformToolset, the DriverType and the
             TargetVersion * Add msvs_target_version configuration
5dc5a5b1718e fix common "NameError"s
920ee58c3d31 Hash intermediate file name to avoid ENAMETOOLONG
ef2f29a7311b msvs: Allow target platform version without WinRT
940a15ee3f1c Update shared library extension on AIX to .a.
9733aa652da4 Set up a CQ for gyp
a7055b3989c1 Make Gerrit the default code review system for gyp

Change-Id: I11d8139b0f533911692dc7a11bb9edaddac78060
Reviewed-on: https://chromium-review.googlesource.com/438885
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-02-07 19:35:41 +00:00
Scott Graham
f9b3a18f3f Use DEPS hooks to get gn binaries from buildtools
Otherwise:
  [2d68949...]D:\src\crashpad\crashpad>gn gen out\Debug
  gn.py: Could not find gn executable at: D:\src\crashpad\buildtools\win\gn.exe

I have no idea why these binaries aren't just checked into buildtools,
but anyway.

BUG=crashpad:79

Change-Id: If2f21a7e7f795910809de7d3595ab6a5ffee9dc7
Reviewed-on: https://chromium-review.googlesource.com/424847
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-01-05 21:48:13 +00:00
Scott Graham
2d68949f7f Pull LLVM/Clang/LLDB into third_party
This might feel a bit premature, but I feel fairly confident that basing
a lot of the processing on LLDB is the way to go, so I plan to start by
integrating it into our build process.

(I think probably moving from gyp to GN first makes sense, so I can defer
landing this until after that's farther along if you like.)

BUG=crashpad:29

Change-Id: I85ee44f4e777f9d7ce521c4caf10ead21ffd8818
Reviewed-on: https://chromium-review.googlesource.com/424910
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-01-05 02:57:42 +00:00
Scott Graham
f66d5df30c Roll mini_chromium to de1afb0
> git log 414d596..de1afb0 --oneline
de1afb0 Update base/numerics from Chromium
ca7f42a Improve the Win32/x64 configuration when generating MSVS projects
c1f7a2c Create initial GN configuration for mini_chromium.

R=mark@chromium.org

Change-Id: I309fe722c18764c9a85e9c6e212f39bf07fe3b02
Reviewed-on: https://chromium-review.googlesource.com/417770
Reviewed-by: Mark Mentovai <mark@chromium.org>
2016-12-07 22:52:56 +00:00
Mark Mentovai
3830e4e5c1 Update the link to mini_chromium’s README
Also, update mini_chromium to 414d59602ac38e24f1e93929fda3d79d72cea139

7bfe6cd9579b README→README.md; convert plain text to Markdown
414d59602ac3 Fix mailto: link in README.md

BUG=crashpad:138

Change-Id: Ibd3c054a3e7f08a740fe6aca408cf23797d992ae
Reviewed-on: https://chromium-review.googlesource.com/408316
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2016-11-04 21:53:31 +00:00
Mark Mentovai
d5a759c900 Update mini_chromium to 8e8d3cc9a245f1bf63296e97fb6ac1c90f6d86f5
9f129335dbe5 Add Android and ARM support to mini_chromium base
1d3e5ef89ad0 Link Linux/Android executables with -pie for position
             independence
8e8d3cc9a245 Add Android to filename_rules.gypi

BUG=crashpad:30

Change-Id: Idace661e0ffa598f5c2a2a4af2d578355c101c56
Reviewed-on: https://chromium-review.googlesource.com/405567
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2016-10-31 17:42:54 +00:00
Scott Graham
b48e9bfbab Add UMA to exception handler exception catching
Includes mini_chromium DEPS roll for:
88e0a3e Add stub of sparse_histogram.h

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

Change-Id: I4c541a33be0f7f47e972af638d4765bd06682acf
Reviewed-on: https://chromium-review.googlesource.com/386385
Reviewed-by: Mark Mentovai <mark@chromium.org>
2016-09-19 18:10:31 +00:00
Scott Graham
27aeb2c9da Upstream Chromium UMA integration
Unmodified from https://codereview.chromium.org/2308763002/ other than
to add empty arguments to test code (that doesn't build in Chrome).

Requires https://chromium-review.googlesource.com/c/386236/.

Rolls mini_chromium to include:
438bd4f4 Add stub of persistent_histogram_allocator.h

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

Change-Id: Ibc88338ae2fd40a5a4ade7ff098be2bc19511543
Reviewed-on: https://chromium-review.googlesource.com/386084
Reviewed-by: Mark Mentovai <mark@chromium.org>
2016-09-16 20:23:06 +00:00
Mark Mentovai
0c29022090 Update mini_chromium to 7800285e83df4286981bb933e3335edade7c8308
7800285e83df Don't #undef UMA_HISTOGRAM_UNUSED

Change-Id: I6a694ae17dcafb2663485a0fecc551dad661449c
Reviewed-on: https://chromium-review.googlesource.com/384031
Reviewed-by: Mark Mentovai <mark@chromium.org>
2016-09-09 22:18:52 +00:00
Scott Graham
afc177ee21 Pull metrics instrumentation out to central file
Solves two problems with having the macros inline:

1. Deduplicates some of the logic (in this case, the name of the
   histogram, and whether it should be divided by 1024);

2. More useful check for compilation. As the macros are no-ops in
   Crashpad, it was easy to use the wrong name for a variable in the
   arguments to the macros (see .mm!)

This way, we have some better chance of at least having code that
compiles when built in Chromium if all the arguments are passed to
Metrics::Something() in a standalone build.

Also rolls mini_chromium DEPS to include:
99213eb Mark histogram arguments as unused to avoid warnings

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

Change-Id: I9f7fc3b85854fd61c1ebdf0084d728a7b690c2f1
Reviewed-on: https://chromium-review.googlesource.com/380445
Reviewed-by: Mark Mentovai <mark@chromium.org>
2016-09-02 19:13:00 +00:00
Scott Graham
5f42313ed5 Test first integration of UMA plumbing
Add a first example of a UMA entry to have it available to try to plumb
through to Chromium.

Adds LoggingFileSizeByHandle() to util/file/file_io.* to retrieve the
size of on disk file to report to UMA.

Also rolls DEPS for mini_chromium to include:
b5ec9ce Add stub versions of histogram_macros.h

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

Change-Id: Ib8e96ad4b7d715b46d2c71810c95c92965a89821
Reviewed-on: https://chromium-review.googlesource.com/338821
Reviewed-by: Mark Mentovai <mark@chromium.org>
2016-09-02 00:04:29 +00:00
Mark Mentovai
c822792095 Update buildtools to f8fc76ea5ce4a60cda2fa5d7df3d4a62935b3113
The only thing relevant to Crashpad in the window is:

222bd42ce39d roll clang-format 242086:r258123

Change-Id: Ia175470c12f61ef4dac0e1417143d3cac9d16765
Reviewed-on: https://chromium-review.googlesource.com/368690
Reviewed-by: Scott Graham <scottmg@chromium.org>
2016-08-12 17:31:55 +00:00
Mark Mentovai
e8650f4729 Update googletest to ec44c6c1675c25b9827aacd08c02433cccde7780
30846f31c5e5 Fix typo in googlemock/README.md
a7964a3fbd41 Implement GetThreadCount for AIX
bf7e9e8c2bb3 Add include of sys/types.h
554ca00ff706 Update DevGuide.md
c81cf6b7efde Update .travis.yml
58b543535a57 Update .travis.yml
231af5ddc81a Try to use clang-3.6 in travis
c76f9e0cdd49 Update .travis.yml
e8193fe6e064 Adding llvm toolchain repo
b8f9b2b540d9 Update clang version
bbbc025d2e84 More docs in travis config
6705b9adeabc Override clang++ name on Linux only
4a0b77ff7253 Create CMakeLists.txt
98d988deac06 Add CMake install rules for gtest libraries and headers
c4c23548a19a Merge pull request #614 from DukeXar/master
884dd08d73d7 Merge pull request #628 from fjunqueira/patch-1
93c37d59b013 Merge pull request #632 from nocnokneo/add-cmake-install-
             rules
f44190f2c432 Fix missing-field-initializers GCC/Clang warning (issue
             433)
ffce1a857856 Merge pull request #633 from plopresti/master
3aef7d7ddd3a Update README URLs based on HTTP redirects
83b93eac3b2b Update FAQ.md
25409abfe7a3 Fixing some table error in file
ccd0f94e8217 Merge pull request #592 from Ferenc-/master
96bba4d5c1e9 Merge pull request #638 from KindDragon/patch-1
3c3a4ac2c2fa Merge pull request #640 from Ali-Se/patch-2
6fe019e6b73e Merge pull request #607 from google/BillyDonahue-patch-1
2f93e2d8085e Merge pull request #636 from ReadmeCritic/master
16b9bbc3efb1 Fix AdvancedGuide link in FAQ.md
1f8fe13618a5 Merge pull request #647 from mithro/patch-1
7c8ac4886a7a Added CMake install rules for GMock
ebd1d0887cdb Fix link to FAQ in Primer.md
35fb11efbe1a Merge pull request #654 from cmorse/doc_fix
f601ee162e23 Add include dirs to targets if CMake version supports it
a470862dbe80 fixed link in googlemock documentation
57b376a9cb8b Merge pull request #660 from waynix/FixLinks
c1cd9c2b05d5 Merge pull request #650 from jpuigcerver/master
0162ff72e80e Merge pull request #657 from
             audiofanatic/issue655-targetHeaderDeps
ddb8012eb48b Merge pull request #602 from mtbrandy/threadcount_aix
ac35fe735984 Update GTEST_PROJECT_URL_ in internal/gtest-port.h
13206d6f53aa Merge pull request #670 from dawikur/master
d8df1fb4884c Add link to Google Test Primer docs in README.md
d404af0d987a add python 3 support to tests
456fc2b5c4e9 add python 3 support to fuse_gtest_files script
82b11b8cfcca Merge pull request #678 from pjaytycy/master
340c6b337518 Add tmux and tmux-256color to the colored terminal list
a9b73f8139a9 Merge pull request #699 from achimnol/master
ff5ffd457e03 Merge pull request #688 from tamland/python3
f364e188372e Change error message of EXPECT_EQ to treat lhs and rhs
             equivalently
b648a3072161 Add build artifacts to git ignore
d4aa34b05d72 Fix link that's returned when running tests. #714
f5acf22268d6 Merge pull request #716 from jacob-
             meacham/feature/gitignore
5909d44d348f Merge pull request #715 from jacob-meacham/bugfix/expect-
             call
77d6b1733803 Merge pull request #713 from DarthGandalf/expect
83d3b47acf8a Fix formatting in AdvancedGuide.md
ff07a5de0e81 Merge pull request #719 from paul-
             wilkinson/docs_formatting_fix
d6790f26cae2 Read Bazel's $XML_OUTPUT_FILE environment variable
12b2f23e8e6b Fix inconsistent style
5db9cbbc2332 Restructure $XML_OUTPUT_FILE logic
6991f422b65a Fix env_var_test to ignore XML_OUTPUT_FILE if already set
d23cf2b15701 Restructure test so each scenario is independent
62700bdf5689 Fixed typo ('XCode' -> 'Xcode')
f7248d80eae1 Merge pull request #731 from mattrajca/patch-1
0098be394ad5 Fix typo (Inovke -> Invoke)
eba179631078 Merge pull request #735 from phad/patch-1
72416fab75f0 Merge pull request #724 from duggelz/master
207147495c80 Fix whitespace in paragraph
d225acc90bc3 Merge pull request #741 from mbinna/patch-1
2746b57f78a0 Changed the GTestDir marco value to reflect the new dir of
             googletest
01f3d09f9f6c Updated the value of GTEST_DIR to reflect the googletest
             dir
5bae126d663e Added VS 2015 project support
0a439623f75c Merge pull request #773 from mazong1123/master
e35015f53904 fix to operator precedence in GTEST_TEST_BOOLEAN_ with
             expressions that implement operator bool
2489c3074748 Fix to tests that return object which implement operator
             bool
faee7d1fbcf1 Merge pull request #808 from djmott/master
ce7ec96edab7 Rollback change #808
10799abad25a Merge pull request #810 from google/rollback_808
43c0ae337536 Support running MSVC build on AppVeyour
81345850725f Merge pull request #723 from KindDragon/master
e51026e5d15e Add Appveyor badge to Readme.md
d406cb18c3d7 Merge pull request #814 from google/BillyDonahue-patch-2
531bf5c41071 Fixed issue #775
dc2dbf1fbf1d Reformatted the Unprintable operator== code style
ec44c6c1675c Merge pull request #821 from mazong1123/master

Change-Id: I40169adab6ea260334089b08bf4a51d4a65d6e08
Reviewed-on: https://chromium-review.googlesource.com/368680
Reviewed-by: Scott Graham <scottmg@chromium.org>
2016-08-12 17:30:52 +00:00
Sami Kyostila
e45024b083 Use stl utilities from the base namespace
The utilities in base/stl_util.h have been moved from the global
into the base namespace. This patch updates the call sites accordingly.

No functional changes.

Change-Id: I059d5d6299f947b1135672da170427d23ac4775e
Reviewed-on: https://chromium-review.googlesource.com/368640
Reviewed-by: Mark Mentovai <mark@chromium.org>
2016-08-12 14:31:53 +00:00
Mark Mentovai
18a839c810 Update GYP to 93cc6e2c23e4d5ebd179f388e67aa907d0dfd43d
7904ce96fd01 Make the ninja generator handle symlinked paths correctly
741b7f1d257b Add support for a CPPFLAGS_host environment variable, and
             update the cflags test to verify it
265f495cc3a3 Fix infinite loop on empty variable name
c3d861c8bca4 ninja win: Suppress noisy messages from link.exe when LTCG
             is enabled
8f3918d7408f Promote documents in md-pages branch
b3cef028a51a AIX's cp command does not support -af which is the default,
             so use -RPf which achives something similar
427a0406159c Adding framework path mapping for 'copies' action in gyp
             files
3f21260b4340 Change analyzer to search for build_targets from supplied
             targets
e2e928bacd07 Add support for Xcode LastUpgradeCheck project attributes,
             allowing suppression of Xcode project configuration
             warnings
68f268008844 Add support for kernel-extensions in GYP
ae2d73840216 Set optional LastSwiftUpdateCheck to Xcode project
             attributes
f2c3cfc3b1df win: Fix missing loadable_module dependency in ULDI mode
2c1e6cced235 Revert of e2e928bacd07
0f5bae131e58 Change CMAKE_SOURCE_DIR to CMAKE_CURRENT_LIST_DIR
2dd620e10329 Attempt again to upstream Xcode project version warning
             suppression, from 1416453003 and 1430573009, and rolled
             back in 1423583004
f54bd199e717 Adds back lookup of 'all' targets
70fa8bbeb292 Changes semantics of analyzer
33b351b2eda8 Fix bug in analyze were empty invalid_targets was
             incorrectly written
e1133480da78 Changes analyzer to include test_targets in compile_targets
f06a5a0e46ce Remove deprecated code path from analyzer.py
567d084f2cb1 Add support for NetBSD (OS = netbsd)
c385ad654b30 Copy files with `cp -pPRf` on OpenBSD
f4d65e35719c Generate response files out of the source tree with xcode &
             xcode-ninja
e2313c02ad7b Fix CalculateGeneratorInputInfo for "xcode-ninja" generator
6fb8bd829f0c Derive default for ar_host from ar
70ee80e82bac Error checking to clarify SYSTEMROOT errors
863d9a4f4119 Make ninja work with XCTests for iOS
b85ad3e578da ninja: Correctly handle copies steps in sourceless
             shared_library targets
b362bbfbc877 mac: Extend libtool filter to also match fat builds
2b086540aeed Peter Kasting <pkasting@chromium.org>
4ff48eb18307 Switch the dependencies to their Git mirror
54b7dfc03f74 mac ninja&make: Use xcrun instead of xcodebuild where
             possible
9e2ceaef5352 GYP: Make GYP build deterministic
6f83895e9622 Stop copying deprecated ResourceRules.plist
aa0301be5a24 Allow converting resource plists to binary
87ac4d0e63fc Add limited support for Mac to CMake generator
7ab6f482e87a [iOS] Preserve global symbols when calling strip (-x) on
             today extensions
32cb1709adc3 Add timestamp=none to codesign flags
57190fa27868 [iOS] Update today_extension link flags
18ce4ecf6cf2 [iOS] Set --auto-activate-custom-fonts for ibtool compile
a230124f3834 Avoid gyp_chromium failures when vcvarsall.bat was run
66bbdf4c6b45 Revert "[iOS] Set --auto-activate-custom-fonts for ibtool
             compile."
5170bfd38fe7 [Mac/iOS] Add custom fonts, target device and minimum
             deployment target to _CopyXIBFile
51383232066a Update Xcode emulation extra plist items
7d29c3de1f5e Revert "Update Xcode emulation extra plist items."
b25bbc1f942d Re-land update Xcode emulation extra plist items for Xcode
             7.2
2f9ffdc96135 Support sdk_version of None
ed163ce233f7 Don't recompute environment for mac bundles unnecessarily
0cd47bf6960e Make login.keychain and 'Provisioning Profiles' symlinks
d84fed246cd4 Fix tests with Xcode 7
1950f6761bdf Xcode-ninja: Add excluded files to the project
             sources_for_indexing.xcodeproj
61259d585ce9 ninja/win: Use qualified paths for precompiled headers
5874a3cf9bac Adjust pretty_gyp to align comments with the appropriate
             braces
fbcb317c7513 ninja: Add target_rpath generator flag
133eaf70b372 Add support for iOS Frameworks with header maps
8e8c3178d9d2 Detect and warn on missing vcvarsall.bat
28340b46df65 Support DEVELOPER_DIR in gyp-ninja for mac
3fa0c6038873 [GN] Use hard-link if possible when copying to bundle
697933c2e3b3 Fix mac_tool.py copy-bundle-resource errors
4ec6c4e3a94b [iOS/OS X] Copy file instead of hard-linking them
f9ac7a9ba1c4 gyp-win-tool: Let LinkWrapper only transmogrify / when the
             host platform is Windows
34d3fba9d167 gyp-win-tool: Fix regression from my last change
6ea68631cdab gyp-win-tool: Don't use shell=True on non-Windows hosts
db72e9fcf55b Fix header map nextPowerOf2 method
4cf07e8d6167 [ios-ninja] Support xctests in devices in release
e24c83726b72 Adds support for a new target spec: 'mac_xcuitest_bundle'
             This allows us to create UI testing bundles
02b145a1a4f4 Enabling /ZW (CompileAsWinRT) option for msvs
bce1c7793010 ninja/mac: Add horrible workaround for horrible Xcode 7.3
             ld bug
c61b0b35c839 [gyp-ninja] Set simulator and device SDKROOT for iOS
35eafcd93951 Ignore more Xcode stderr logging information
bac4680ec9a5 Only call CopyStringsFile if convert_to_binary is False
e7079f0e0e14 Fix :rfc1034identifier when the value contains underscore
1f989f652a30 Complete PBXCopyFilesBuildPhase TODO in xcodeproj_file.py
93cc6e2c23e4 Make the ninja backend transitively check for C++ sources
             to use the C++ compiler for linking

Change-Id: Ifdb705cee07aa0d158b9b1952875041d9f2a14e5
Reviewed-on: https://chromium-review.googlesource.com/367490
Reviewed-by: Scott Graham <scottmg@chromium.org>
2016-08-10 01:02:30 +00:00
Mark Mentovai
26c9d3fa6d Update mini_chromium to 9c5463b4d4b3ad2540c718b7c87809ef4c1ea5c7
09f74a2cf068 Import StringPieceHash from chromium
9c5463b4d4b3 mac: Use Unified Logging when the deployment target is
             10.12 or higher

Change-Id: I2675f07f3e136dfcc2948928543bd2bff07809ea
Reviewed-on: https://chromium-review.googlesource.com/366780
Reviewed-by: Scott Graham <scottmg@chromium.org>
2016-08-05 16:39:03 +00:00
Scott Graham
00d458adaf Roll mini_chromium to 964ee49aa24e8bfb4823cd9034a3b32ec3cb09e9
964ee49a Add HAS_FEATURE to base/compiler_specific.h
6d65ac85 Remove base/memory/scoped_ptr.h

Change-Id: Ia3d31daf515585df049485408438047b4d2db1bc
Reviewed-on: https://chromium-review.googlesource.com/340499
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2016-04-25 19:35:02 +00:00
Scott Graham
a4649789a5 Roll mini_chromium to 0a9dc1c4feeabee38f81bcb5ff9c925697755c35
0a9dc1c4 Add base/memory/ptr_util.h for https://codereview.chromium.org/1911823002/
ec5d4571 Add base/bit_cast.h to follow https://codereview.chromium.org/399313006

Change-Id: I28ef61f8951c9fa64aaeb497ae11d0288a57111d
Reviewed-on: https://chromium-review.googlesource.com/340467
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2016-04-25 18:55:15 +00:00
Scott Graham
b6089da2bf Roll mini_chromium to 783fdf3ccc1ce1e054e50f6c75bbd97af8503141
783fdf3c: Add base::debug::Alias from Chromium base

Change-Id: Ibd2347cd35b09b171b355e5671c47df62e413534
Reviewed-on: https://chromium-review.googlesource.com/340259
Reviewed-by: Mark Mentovai <mark@chromium.org>
2016-04-22 18:16:14 +00:00
Mark Mentovai
82af299823 Update mini_chromium to 7c5b0c1ab44a4264b02f4c825a5b73d9173253e4
7c5b0c1ab44a Use Gerrit (Polygerrit) for mini_chromium code review

Change-Id: I883672b91dac5387031e913dd62a1802d2163e9f
Reviewed-on: https://chromium-review.googlesource.com/323140
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2016-01-27 16:45:44 +00:00
Mark Mentovai
b7e4564ff2 Update mini_chromium to a43fee120b10ed71df4e55a370948ca461d78232
a43fee120b10 Sync Mac scopers with upstream Chromium

This adapts to updated Mac scopers from Chromium cfd6ed5600d8, including
the changes from that commit and Chromium f39d4ffc6c32.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1565873002 .
2016-01-06 12:31:59 -05:00
Mark Mentovai
6d2d31d2d1 Use base/macros.h instead of base/basictypes.h
This was done in Chromium’s local copy of Crashpad in 562827afb599. This
change is similar to that one, except more care was taken to avoid
including headers from a .cc or _test.cc when already included by the
associated .h. Rather than using <stddef.h> for size_t, Crashpad has
always used <sys/types.h>, so that’s used here as well.

This updates mini_chromium to 8a2363f486e3a0dc562a68884832d06d28d38dcc,
which removes base/basictypes.h.

e128dcf10122 Remove base/move.h; use std::move() instead of Pass()
8a2363f486e3 Move basictypes.h to macros.h

R=avi@chromium.org

Review URL: https://codereview.chromium.org/1566713002 .
2016-01-06 12:22:50 -05:00
Mark Mentovai
c60ec9beeb Update gtest to 786564fa4a3c8e0f908acca32cce481de5481b9f
8b085f0d2168 Fix warnings encountered in MSVC build of gtest/gmock tests
322a4914a309 Better use of character constants
cbce23fb8670 Leave decltype(max_ulps_) alone and cast, not sure this is
             better
cfe466a0a753 Use a templated helper to wrap the cast
4a8e54401e49 Name the helper AsBits()
786564fa4a3c Merge pull request #627 from mark-chromium/tests_msvs

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1467283002 .
2015-11-23 13:17:11 -05:00
Mark Mentovai
e1dc5d6dbe Update mini_chromium to 43f04e7299621f708801bf475c84d9f294826ff9
43f04e729962 win: Compile with /bigobj

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1465083003 .
2015-11-23 12:52:06 -05:00
Mark Mentovai
6e89d45d7d Switch googletest and googlemock to pull from the GitHub git repository
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1404033002 .
2015-11-11 11:13:37 -05:00
Mark Mentovai
97b0f86d0c Update mini_chromium to ea8d8de53f9407d57cab716fef2a36b6bf1b78b2
985372e5da14 win: Send log messages to a debugger via
             OutputDebugString()
06e0fa1309a0 win: Use FormatMessage[W]() instead of FormatMessageA() for
             logging
ea8d8de53f94 mac: Log messages to the system log via ASL

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1417803006 .
2015-11-10 17:03:09 -05:00
Mark Mentovai
20045d3867 Add buildtools to make depot_tools-wrapped clang-format work
Crashpad is mostly friendly with clang-format and has its own
.clang-format file. Adding buildtools makes it possible to use the
depot_tools clang-format wrapper.

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1414903006 .
2015-11-05 13:48:27 -05:00
Scott Graham
ba0e7de07b win: Disable more warnings when not building with Crashpad's common.gypi
Roll mini_chromium deps to remove disabling of those warnings in common.gypi:
  8e12d3d win: Remove disabling some warnings

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

Review URL: https://codereview.chromium.org/1430523002 .
2015-10-27 16:03:26 -07:00
Scott Graham
63916623cd roll mini_chromium to 8d42e2439aa0bd677dca64ba3070f3fa2353b7f2
8d42e24 win: Enable C4800, implicit bool conversion
82060c1 mac: Make Mach port scopers better ScopedGenerics
d7270da Fix base::RandDouble()

R=mark@chromium.org

Committed: 26b6913512

Review URL: https://codereview.chromium.org/1424463002 .
2015-10-22 15:02:48 -07:00
Scott Graham
26b6913512 roll mini_chromium to 744f209e621224b703cc897581c8d7bf4416f49b
744f209 win: Enable C4800, implicit bool conversion
82060c1 mac: Make Mach port scopers better ScopedGenerics
d7270da Fix base::RandDouble()

R=mark@chromium.org

Review URL: https://codereview.chromium.org/1424463002 .
2015-10-22 14:49:50 -07:00
Mark Mentovai
f059c21048 Update mini_chromium to c9625ad5d23c25fbb477e7dbb4c1c8b9a9360f41
c9625ad5d23c Update base/numerics/* and base/template_util.h

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1407603002 .
2015-10-13 13:19:19 -07:00
Scott Graham
7942b87fcb Roll mini_chromium to 133a8c61c2567da9e72d4551a7cd5d5d2836e25c
Pulls in:

133a8c61c: win: Turn on ASLR by default

R=mark@chromium.org

Review URL: https://codereview.chromium.org/1380163002 .
2015-10-01 11:38:34 -07:00
Mark Mentovai
70b60d7a19 Update mini_chromium to 928f9c45fe2d0823ff1f734adb448e672e21d9af
928f9c45fe2d win: Allow frame pointer omission (FPO, /Oy)

BUG=crashpad:53
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1375153003 .
2015-09-30 14:22:45 -04:00
Scott Graham
5d026ea68b Roll mini_chromium to f39aac9cec3c70fe7ea1c6b6176a6678ab47d4d4
Pulls in:

win: Update iterator debug settings to match VS default, and be explicit about which runtime library

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

Review URL: https://codereview.chromium.org/1362043003 .
2015-09-23 10:39:52 -07:00
Mark Mentovai
00a422357d Update GYP to 01528c7244837168a1c80f06ff60fa5a9793c824
8c31354f5e0c Fix mixed line endings warning
4f4c7cb5a63e Add TestGypXcodeNinja to run tests against the xcode-ninja
             generator
f1dc682b70a6 Fix: xcode-ninja should generate Xcode workspace into
             generator_output
cdf037c1edc0 Fix: xcode-ninja should copy the product extension to the
             wrapper project
82b08049cc0b Set ZERO_AR_DATE=1 when running libtool.
8b69f7d23df5 Add support for generating an Eclipse .classpath file (bug
             fix)
789a019a8320 Don't serialize linking for the make generator by default
194ec65a55ed Revert 2011 'Fixed Gyp Xcode generator for libraries with
             identical names.'
91a89564da3d Add 'depfile' option to actions.
3dde7bfb50a6 don't assume bash is installed
28384e55a5c8 msvs/ninja win: Fix support for
             ImageHasSafeExceptionHandlers
adb7d24b9fc1 Revert "msvs/ninja win: Fix support for
             ImageHasSafeExceptionHandlers"
b28bd7ddd143 win: 'EnableEnhancedInstructionSet': '5' now enables
             /arch:AVX2.
104e21ecf6f2 mac: Followup to ZERO_AR_DATE, touch the -o archive,
             rather than expecting only one
4d7c139b1820 win: Add NoImportLibrary flag for ninja generator
67000714d51e Reland "msvs/ninja win: Fix support for
             ImageHasSafeExceptionHandlers"
16f9f4566f5d msvs: Prefer x64 toolset if we are running on 64-bit
6194e32f7fcb Make msvs-ninja work for target-arch=x64
34640080d08a ninja/posix: Introduce support for arflags variable.
7cd601835636 Updating gyp repo for git, preparing for cq.
dd831fd86e7a Fix script url.
a5bd08f28629 Adds the ability for 'copies' in Xcode project files to
             specify the 'Code Sign on Copy' option.
002ebe4420a3 Fixed version of https://codereview.chromium.org/748793002
50ab31edc847 Fix typo in ternary operator.
4a9b712d5cb4 Fix gyp analyzer generator on mac.
d9823985797f Convert plist and strings to binary for iOS.
28c00336a403 Bump Xcode compatibility version from 45 (Xcode 2.4-3.1) to
             46 (Xcode 3.2).
2cd9d0633c96 [ninja-xcode] Include action inputs in hybrid builds.
d174d75bf69c Export generator flavor to gyp scripts
2b44e5987d5a Add missing identity variables to gypd generator.
e1c8fcf74b68 Assert when source is an absolute path
c5859a298166 Migrate GYP docs over from the wiki.
69dfb493a22f LLVM_LTO support for make / ninja
2889664b9fa8 Address scottmg comments from
             https://codereview.chromium.org/1003273007/.
2a5511bd901f Improve generated Makefile rules for rules several outputs.
2f66a3f94953 Whitespace change to test the new GYP waterfalls.
3601f26003c6 Make dump_dependency_json.py write <| list files to the
             output directory rather than the source tree.
8866260996c0 win: prefer amd64_x86 compiler on >= 2013, not just 2013
0bb67471bca0 Slightly better docs for git instead of svn
f34b9aa7c9d6 Remove the Android generator.
9f594095c5b1 Added msvs_application_type_revision for winrt compilation
c0cf1f22eb42 Revert "Stop checking for duplicate basenames"
4dd5d3c614fb Update shared_library test after c0cf1f22eb
29e94a3285ee Avoid lint presubmit error in dump_dependency_json
08429da7955a Update cmake generator to handle Skia Android build.
aa537916dcb5 msvs: Make sure stdout/stderr from rule commands get logged
fdc7b812f99e Makes analyzer always output static_libraries that have
             changed
79de4031069f Fix gyp->make translation of rules with several outputs.
9b2b25aececd Correct braces in input format reference doc.
b4781fc38236 MSVS: Normalize paths against gyp directory.
127b311bf61d Adds some debugging output to analyzer
fdcd8bc10c93 More debugging for analyzer
acfc10d29072 Revert "MSVS: Normalize paths against gyp directory."
5122240c5e5c Fix support for iOS today extensions on latest Xcode beta.
ae276266d580 Make DependencyGraph.DeepDependencies() depth-first.
25ed9ac4ac2a Do not remote duplicate entries from ldflags when
             generating ninja files as it changes behavior
6ee91ad86598 Reduce DefaultConcurrentLinks from phys/4GB to phys/5GB.
658f3a81995b Disable currently failing gyp tests on win to make the bots
             green.
479dacf7be5f Disable GYP tests currently failing on the Mac bot
36d99ff23099 Disable test/win/gyptest-link-defrelink.py
d6adc48df899 Fix the default tryserver lists in PRESUBMIT.py.
81c2e5ff92af Added msvs_target_platform_version and
             msvs_target_platform_minversion for winrt compilation
010fb9d696e7 msvs_emulation: Add support for StackReserveSize and
             StackCommitSize
edccc7bad7da Analyzer didn't match correctly targets that defined path
             to inputs with '.' relative path values. So let normalize
             path before matching.
bae26e800c7f Inject pylib first in the path. This ensures that test load
             the version of pylib in this repo, not elsewhere on the
             system.
008cf1c04393 Improve error messages when <!(commands) fail
121d89dfcd4f Make RelativePath use abspath rather than realpath for the
             'path' variable. This allows gyp to work correctly in
             symlink-heavy environments. Basically, this is because gyp
             paths need to be in a consistent tree, so we need to
             compute a path to the target within the *stated* tree, even
             if it is not the real underlying path to the target. The
             'relative_path' variable does need to be resolved using
             realpath, since gyp or the underlying build system might cd
             to it before looking for the 'path' target.
2b17e0b26a93 Fix paths with different seperators being compared in the
             analyzer on Windows.
5d01a8cda53b Revert "Make RelativePath use abspath rather than realpath
             for the 'path' variable."
1f374df95de1 Make sure GYP supports compiling managed code.
cf3170e30578 Update gyp LINK_COMMANDS_AIX to support both 32-bit and
             64-bit files. * cmd_alink: Add -X32_64 option. *
             cmd_alink_thin: Add -X32_64 option.
01528c724483 Fallback to '.tbd' for system missing '.dylib'.

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1358583003 .
2015-09-18 19:02:17 -04:00
Scott Graham
bf94f98ecc Roll mini_chromium to 302e4e7d9aa0a8d39ad62b193a4c8a8357ad9d0c
Pulls in "win: Don't omit frame pointers".

TBR=mark@chromium.org
BUG=crashpad:50

Review URL: https://codereview.chromium.org/1348883003 .
2015-09-16 14:35:28 -07:00
Scott Graham
4f3f1b68d5 Roll mini_chromium to 71c2f4d01e52aa0e2fb9bf6118f147905e50e284
Removes basictypes.h implicit_cast.

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/1345603002 .
2015-09-14 15:12:08 -07:00
Mark Mentovai
43a71b9302 Update mini_chromium to db01ece1d0dd.
This update includes:

db01ece1d0dd Remove strcasecmp() and strncasecmp()

BUG=chromium:472900

Review URL: https://codereview.chromium.org/1274773003 .
2015-08-05 16:41:49 -04:00
Jackie Quinn
797adb3206 Roll DEPS for mini_chromium for updates to base/posix/safe_strerror
Also updates includes and usage of safe_strerror.

BUG=499322
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1181043002.

Patch from Jackie Quinn <jyquinn@chromium.org>.
2015-06-11 20:25:49 -04:00
Mark Mentovai
7d454ae713 ThreadLogMessages: don’t check TLS slot initialization return value.
This updates Crashpad for https://codereview.chromium.org/1124493002/.

The mini_chromium update includes:

98264cf63f22 ThreadLocalStorage: remove the return value from slot
             initialization

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1129793004
2015-05-06 17:04:44 -04:00
Scott Graham
ff52791faf Get generate_dump compiling on Windows
Sort of works in that the process is opened, modules retrieved, etc.
but eventually CHECKs due to missing functionality in snapshot.

Follows https://codereview.chromium.org/1119783005/.

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

Review URL: https://codereview.chromium.org/1120383003
2015-05-06 11:09:31 -07:00
Scott Graham
17b770ece4 win: get tools/crashpad_database_util mostly working
- Add public domain getopt implementation to third_party.
- Add timegm to compat/win.
- Add stub of strptime to compat/win.

Requires https://codereview.chromium.org/1119173003/ and
https://codereview.chromium.org/1117013006/.

Rather than working in wchar_t everywhere on Windows, convert
UTF16 command line arguments in wmain to UTF8, work primarily
in UTF8, and convert back when necessary to UTF16 for base::FilePath.
This avoids the need to genericize over all the standard C string
functions, getopt, etc. while still handling non-ASCII properly.

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

Review URL: https://codereview.chromium.org/1119783005
2015-05-06 10:28:07 -07:00
Mark Mentovai
e95224bbe7 Add ThreadLogMessages and its test.
This updates mini_chromium to 91ea4908ffd74d9c886bd2f8ccbfae6d31c499af.
The last five commits listed here are required to support this change.
The mini_chromium update includes:

c1745a924c5c Fix paths to atomicops files in base.gyp from 2f02dcc73536
108e9247189c Add #include of <unistd.h> to close_nocancel.cc
6e4f98a9edf8 Add logging::SetLogMessageHandler()
4063fcb8f460 Add base::ThreadLocalStorage
4870f18a33a6 Add base::LazyInstance
0d31b1f3a289 Fix base/memory/aligned_memory.h for MSVC
91ea4908ffd7 base/logging.h: DCHECK() should always reference its
             condition

BUG=crashpad:26
TEST=crashpad_util_test ThreadLogMessages.*
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1041643003
2015-03-30 14:51:34 -04:00
Scott Graham
79ae055e50 Add Locking calls to file_io.h plus implementations and test
Towards removing use of open() with O_EXLOCK/O_SHLOCK in code
used on non-BSD.

Adds simple Thread abstraction to util/test.

Includes mini_chromium roll with:
56dd2883170d0df0ec89af0e7862af3f9aaa9be6 Fix import of atomicops for Windows
886592fd6677615c54c4156bb2f2edb5d547ba6c Export SystemErrorCodeToString

R=mark@chromium.org, rsesek@chromium.org
BUG=crashpad:1, crashpad:13

Review URL: https://codereview.chromium.org/1001673002
2015-03-20 15:45:54 -07:00
Mark Mentovai
8b4932e560 Update mini_chromium to 31e989ac0b03d50ebe71bfa13417c7f8b66db1b8.
cbbdc1b965ec  Fix include guards in base/atomicops*
8f3fade515f6  Clean up -Wunused-parameter warnings reachable by Crashpad
              clients
31e989ac0b03  Declare string16 traits’ move() correctly

TBR=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1021363002
2015-03-20 15:24:54 -04:00
Scott Graham
7fa250c9a2 Roll mini_chromium to 2f02dcc735362f33618655ebe663b8abdf85e8bc
Includes
2f02dcc735362f33618655ebe663b8abdf85e8bc Pull in base/atomicops.h from chromium

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/1005383003
2015-03-19 16:08:39 -07:00
Mark Mentovai
1e12b471e3 Update mini_chromium to 6c49a5924dea1e0bd71d568f371c08d754d8aeb8.
c503b8bc1e03  Suppress unused Debug_x64 and Release_x64 configurations
              on non-Windows
6c49a5924dea  Switch between x86 and x86_64 with the target_arch GYP
              variable

TBR=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1022493002
2015-03-18 11:27:36 -04:00
Robert Sesek
36ad2d0ee5 Roll mini_chromium to b3d221e85747.
BUG=crashpad:14
R=mark@chromium.org

Review URL: https://codereview.chromium.org/997993002
2015-03-11 14:08:33 -04:00
Mark Mentovai
55f8f29ace Update mini_chromium to 6d162c334672176a62c213d2183b848760644a7b,
picking up:

e7847b381703  10.10 compatibility for base::mac::ScopedLaunchData
6d162c334672  common.gypi: sync compiler options with Chromium

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/991953003
2015-03-09 15:26:30 -04:00
Mark Mentovai
bc401f6aac util/mac: Provide wrappers for <launch.h> functions deprecated in 10.10.
The 10.10 SDK deprecates <launch.h>, but this file is still useful and
is used by util/mac/launchd.* and util/mac/service_management.*. Wrap
the <launch.h> functions in versions that ignore the deprecation
warnings.

BUG=crashpad:10
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/989733003
2015-03-06 22:27:25 -05:00
Scott Graham
05213fd733 Roll mini_chromium to 8773bfd3a0006ee8795b296b6f772e08b7d518c5
Includes:
- win: Default build to x64

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

Review URL: https://codereview.chromium.org/981413002
2015-03-06 16:10:41 -08:00
Scott Graham
84eb68bae6 Roll mini_chromium to aa3673adb3ba19303a73e406b3765ce5622a5089
Includes:
win: disable C4996 warning about deprecated functions

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

Review URL: https://codereview.chromium.org/971823003
2015-03-02 13:15:05 -08:00
Scott Graham
619cc5f3df roll mini_chromium to fb514aa4270ded201e841de6c2f45c72eafb236c
Includes

fb514aa4270ded201e841de6c2f45c72eafb236c Add MSVS_ warning suppression macros
a89b5f1a7ef7b218925b5d553e1b6ab4eac6cf7f Pull ALLOW_UNUSED_LOCAL/_TYPE and remove ALLOW_UNUSED

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/902893002
2015-02-05 09:34:46 -08:00
Scott Graham
2289339777 Roll mini_chromium to 99f91222f4c99b1420ca8cc76d4effc9a6204da0
Includes:

99f91222f4c99b1420ca8cc76d4effc9a6204da0 Pull in ALIGNAS, define WIN32_LEAN_AND_MEAN
b16178f53bae86cef24c971de40cca1470a61374 Fix compile error in StringPiece

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/893203003
2015-02-03 11:26:29 -08:00
Scott Graham
070ea9bfd7 roll mini_chromium to 45cbbb054ccef2e77d5233aa95c5f2742a23dec1
Includes:
45cbbb054ccef2e77d5233aa95c5f2742a23dec1 Add FilePath::FinalExtension and RemoveFinalExtension

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/860863002
2015-01-20 10:22:02 -08:00
Scott Graham
c4a5f7de28 Roll mini_chromium to 3ce1cc29260d5b49ac21d96454a778c02f583172
Includes:

3ce1cc29260d5b49ac21d96454a778c02f583172 Pull in base/format_macros.h from Chromium, unmodified
028fa7ca08fe98ae215589a53dae03c498b45bff win: Add advapi32 to link, required for rand_util.cc "SystemFunction036"

R=mark@chromium.org
TBR=rsesek@chromium.org

Review URL: https://codereview.chromium.org/837703003
2015-01-15 09:59:09 -08:00
Scott Graham
cd4a2f83e6 Roll mini_chromium to 836497baf21c5fbb7876573dc1dadef4c023a87d
Includes:
836497baf21c5fbb7876573dc1dadef4c023a87d win: Default to /SUBSYSTEM:CONSOLE

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/844443003
2015-01-06 17:01:07 -08:00
Scott Graham
4e8a78c182 Roll mini_chromium to 4d84318dbcdf46b543ab4556736cf8a9ae3ced18
Includes:
4d84318dbcdf46b543ab4556736cf8a9ae3ced18 win: Disable C4201, nameless struct/union warning
864f44f98bb8e6869b1243de9b2ebd3f50a03a21 Exclude _test suffixed files too

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/817093002
2014-12-19 15:02:54 -08:00
Scott Graham
26c6f19927 Roll mini_chromium to 43b7cd397e5f239e59700831430b703d9a4a3b4f
Includes:
43b7cd397e5f239e59700831430b703d9a4a3b4f win: Fix for logging.h ERROR, again
a83f160101c6b054bdcfe81dea62340c7d933778 win: implement sys_byteorder.h

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/817443002
2014-12-18 09:29:46 -08:00
Mark Mentovai
3d84a738d0 Update GYP to svn r2015 (32ca1cd8e010).
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/813873002
2014-12-17 16:03:58 -05:00
Mark Mentovai
9d2c1cffa2 Update mini_chromium to 222feaf3d302.
This picks up:

222feaf3d302 Update README
e38cddb83571 Lock: don’t require NativeThreadType to be a pointer type
8c599712d10c Include What You Use: <string.h> for memmove() and memcpy()
ef991f44ed63 Linux: always build in C++11 mode

BUG=crashpad:6
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/812133002
2014-12-17 16:01:35 -05:00
Mark Mentovai
86cf286350 Update mini_chromium to 158694255c7a.
This picks up:

158694255c7a win: undef ERROR, causing failing LOGs
3a981db6e6df MSVC: Disable “warning C4702: unreachable code”.
e87cd9d4dff5 Tidy string16.h after
             https://codereview.chromium.org/809563003/

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/812683002
2014-12-16 17:12:30 -05:00
Scott Graham
086714261a Roll mini_chromium to 2ef83a609517f284096f7e8296b0915d634c3ca7
Pick up build fix.

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/804853004
2014-12-15 16:46:46 -08:00
Scott Graham
7941e7f955 Roll mini_chromium to 463f840...
To pull in string16 changes.

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

Review URL: https://codereview.chromium.org/811613002
2014-12-15 16:31:15 -08:00
Scott Graham
5c59a1fa18 Roll mini_chromium to 001bf11...
And another roll to get to mini_chromium to HEAD.

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

Review URL: https://codereview.chromium.org/799923005
2014-12-12 12:23:42 -08:00
Scott Graham
af07f4022b Move string16 and char16 in to base::
Needs to include roll with https://codereview.chromium.org/803593002/ included.

R=mark@chromium.org

Review URL: https://codereview.chromium.org/804593002
2014-12-12 11:06:09 -08:00
Scott Graham
1c4084fc2d Roll mini_chromium to 9427a67...
To pick up progress on compiling base on Windows.

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

Review URL: https://codereview.chromium.org/790343004
2014-12-11 16:31:40 -08:00
Scott Graham
f721df692e Revert 'Roll mini_chromium DEPS to a1fa3c5...'
mini_chromium rev broken, will fix and re-roll.

TBR=mark@chromium.org

Review URL: https://codereview.chromium.org/797553003
2014-12-11 14:41:51 -08:00
Scott Graham
c46dd63762 Roll mini_chromium DEPS to a1fa3c5...
Want to roll the mini_chromium changes in little chunks as the bot
doesn't otherwise build them, to avoid leaving something broken
for a while.

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

Review URL: https://codereview.chromium.org/796113002
2014-12-11 14:33:34 -08:00
Mark Mentovai
85c9318597 Add ChildPortHandshake and its test.
ChildPortHandshake is the most generic system yet to allow child
processes to provide their parents with Mach rights. These are
ordinarily expected to be send rights to the children’s own task ports,
or send rights to servers that the children hold receive rights to.

This updates DEPS to pull mini_chromium 1d3523dbda93, which includes
base::mac::ScopedMachPortSet.

TEST=util_test ChildPortHandshake.*
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/756603003
2014-11-25 14:56:05 -05:00
Mark Mentovai
d0212ebaee Update gtest and gmock to the latest versions.
In b6a0183ccec7, gtest and gmock were held back at older versions with
limited C++11 support, because the then-current heads of each did not
work well in environments with C++11 language support but pre-C++11
library support. This is the environment that Chrome code for Mac builds
in. All necessary patches for this have been merged upstream, and this
has been corrected in the current released versions of gtest and gmock.

TEST=*
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/731473007
2014-11-19 11:37:26 -05:00
Mark Mentovai
0a4ea0b52d minidump: Change the ownership model.
All minidump objects now own their all of their children, rather than
having them maintain weak pointers and requiring callers to maintain
ownership.

The only weak object in the entire tree now is the “extra memory” added
to a MinidumpMemoryListWriter by its AddExtraMemory() method. Extra
memory aliases objects owned elsewhere in the tree, typically by a
MinidumpThreadWriter as stack memory. Non-“extra” memory added to a
MinidumpMemoryListWriter by its AddMemory() method is strongly owned.

Many objects are now deleted through base pointers, and in those cases,
the base classes now have public virtual destructors. The ultimate base,
MinidumpWritable, is still protected to guard against direct
instantiation and deletion, and thus its destructor does not need to be
virtual.

This updates mini_chromium to eeb3b6a4f020 specifically for that
revision, which includes necessary updates to scoped_ptr. It also picks
up:

eeb3b6a4f020 Update base/move.h and base/memory/scoped_ptr.h to match
67ad2efafaba More porting to Windows
be27a006421e AUTHORS: Fix link post-git migration flag day.
05f5b1503230 Add codereview.settings to mini_chromium.
a32c2b199811 Beginnings of Windows support in mini_chromium

TEST=minidump_test
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/674153002
2014-10-27 15:01:39 -04:00
Mark Mentovai
fee5d8aea9 Add uint128_struct and its test.
This will be used in the upcoming Minidump context structures.

This also updates mini_chromium to ba9b15f1b6a7 to pick up:

ba9b15f1b6a7 Make bit_cast available in C++11 mode.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/583283003
2014-09-22 15:46:00 -04:00
Mark Mentovai
4517d7c866 Update mini_chromium to get close$NOCANCEL, and update GYP to keep up.
Update mini_chromium to 313bd83d6d9d, picking up:

313bd83d6d9d Use close$NOCANCEL on Mac, as in Chrome r23369.
15a69caf735f Add some things from base/synchronization:
             ConditionVariable and Lock.

Also, udpate GYP to 46282cedf40f (r1977), picking up:

r1977 android: Add a way to override build system variables.
r1976 android: Don't emit useless info into generated makefiles.
r1975 Fix indentation for emacs and add missing keyword.
r1974 Changes ninja generator to only output empty names if not already
      output
r1973 Changes the ninja generator to output phony targets for
      uninteresting targets
r1972 Makes matching of build files work when absolute
r1971 Support for custom NM/readelf binaries in your toolchain.
r1970 android: Support host multilib builds.
r1969 Makes analyzer output names of all executable target types
r1968 android: Make buildbot able to use a custom manifest.
r1967 ninja win: don't expect pdb to be generated when
      GenerateDebugInformation: false
r1966 Makes the analyzer output the set of targets needing a build
r1965 Removes old way to specify files to look for
r1964 Provide a way to suppress implicit MIDL generation rules for
      actions
r1963 Style changes for analyzer __ -> _ and lots of single newlines to
      double newlines.
r1962 Changes for analyzer
r1961 Pull in relevant targets when using xcode-ninja
r1960 Guard against configurations without 'xcode_settings'
r1959 Updates analyzer to output to a file

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/590033002
2014-09-22 13:18:38 -04:00
Mark Mentovai
b6a0183cce gtest, gmock: pull older versions via DEPS that don’t require C++11
library support.

When building with support for Mac OS X 10.6, C++11 library support is
not available, because Mac OS X uses libc++ for C++11 support, and Mac
OS X 10.6 does not provide libc++ as a runtime library. gtest and gmock
have a hard time distinguishing between C++11 language and library
support (which is not really their fault, having one but not the other
is an odd situation). The currently-released trunk versions of gtest and
gmock do not work in this configuration. I’ve submitted patches upstream
to fix this, but they may take a while to make it to the released
verions. For now, it’s fine to roll gtest and gmock back to versions
from December 2013 that do work cleanly with C++11 language support but
only C++03 library support.

TEST=Compile and run all tests in both 10.6 and native builds
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/572613002
2014-09-15 15:09:42 -04:00
Mark Mentovai
01f9e396b8 Include <limits.h> in util/file/file_writer.cc because it uses IOV_MAX.
This also updates mini_chromium to abd6e3792f4f.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/469093002
2014-08-14 09:58:31 -07:00
Mark Mentovai
3cad76870c Update mini_chromium to bd605a3773f5.
bd605a3773f5 Fix RandBytesAsString().

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/416323004
2014-08-03 17:57:41 -04:00
Mark Mentovai
995012534e Introduce MinidumpWritable, its dependencies, and their tests.
MinidumpWritable is the base class for all minidump-writing operations.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/432003005
2014-08-01 12:48:28 -04:00
Mark Mentovai
fbcd680b50 Initial commit of Crashpad.
This commit contains the basic structure of the project:
 - LICENSE and related files.
 - DEPS to check dependencies out into third_party.
 - README.crashpad files and .gyp files to accompany third_party
   dependencies.
 - Infrastructure to run GYP as a gclient hook.
 - codereview.settings to enable Rietveld code review.
 - Assorted other administrative and dot-files.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/426403002
2014-07-30 23:24:58 -04:00