From nobody Thu Aug 10 02:32:39 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLrYj2m5jz4ptBT; Thu, 10 Aug 2023 02:32:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLrYj2KnRz3Dv3; Thu, 10 Aug 2023 02:32:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691634761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RQ682pjC/gStpbH2DlPMV9fEUW69ip25HM5jmQTHjxw=; b=AYiy1tFZ36mP+HqpjztDfNFG+a27mYR7BzADXdEK9WrZdLct4ymiWgAIgvMqRxsBPE+Ief rGBK+SQYnpQ2mmDGwnHvxdlSH3hJfWC1/iYWOEdxNSAqcXOhaORo5Et+76K5XB76j4VFL1 jDHAGTxOzydj1NDsbKi1Lq4C54+KkiWiHDMyLlmnlDF6JuneYckSLZwo/15K+IVqJ9W9Ae 8OtJqx3SuYGKvz8oEWQIv/3UMDjSliTRjx6EfkaCK/80Or85sETbK+BLw3Sd9sLUWN96fi xALnyY81PqovZtFu8q5vJjZqd1DvVzfkLdtVNInm6NAkVHiHn1XmWJvaaUZ0uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691634761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RQ682pjC/gStpbH2DlPMV9fEUW69ip25HM5jmQTHjxw=; b=Wfk83kSBX3RBkxUAcShTkC135c9K7nIaehn4xj6LgMyupvlc9qXObD5UICw3VtGjpeQd/z n7tJIUdhFALvNBi75ZckrLZH/mQNk4m6kX8pO9gvkeFxpN7dAwncrDhT0wVdZnXYOVbWR+ r6UiZ8go7RI8tiMRaSxfjhahOcmhWvLNzZO3XB93F5IIdiGokUQ+ZBj7S+uAD9xPaof3HB Nh5yd9lwbGgsVvfBUg/hSLKrcf3TXOFAXUB3BI8xCGOqx51KXzCx14Wrq2WPF854fzIWw0 3QjKZasssLZ2p+FiLl54kUwa4uwYbfCrqPQ3jC2HOxxOnNw5DyKpODprwbMeXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691634761; a=rsa-sha256; cv=none; b=Ttee3O33OKQYjQy8+nBPQr2+VxbQz7HOGm0J7o1K3MWs5mOj/ArM587EIEt5HOsYdiDY16 9uohrSHCCOkktQeZGmpcid62F0KmnE0aAkFmrdJP5vJgYhZ5OddWbmBFvxk9SGAZiCovza R2YEC56PSG7hqGYNebgIWib9YsHwHoRfb3mNBDofAp1vpKbThkLlX/vnOkA7QEYAUNWKWA EHdEltcw7sWDqBIQPAEG5emVs72K7lfKbjCdl2wtG4vab851hkFTy9yKHmWla7ZzbyenTQ pwAc9I3HW8OXT7CXmCyuRioLt+sIQ+bhQJeSO2c4/AyyHcl8FXuMjh6XZz8l3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLrYj1P1QzgP4; Thu, 10 Aug 2023 02:32:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2WfTC040442; Thu, 10 Aug 2023 02:32:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2Wdaw040438; Thu, 10 Aug 2023 02:32:39 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:32:39 GMT Message-Id: <202308100232.37A2Wdaw040438@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: 28f6c2f29280 - main - Import GoogleTest 1.14.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 28f6c2f292806bf31230a959bc4b19d7081669a7 Auto-Submitted: auto-generated The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=28f6c2f292806bf31230a959bc4b19d7081669a7 commit 28f6c2f292806bf31230a959bc4b19d7081669a7 Author: Enji Cooper AuthorDate: 2023-08-08 06:17:32 +0000 Commit: Enji Cooper CommitDate: 2023-08-10 09:32:33 +0000 Import GoogleTest 1.14.0 GoogleTest 1.14.0 now requires C++14 to build. Change `googletest.test.inc.mk` to reflect this requirement. Adjust the build integration logic to handle the new version of GoogleTest (add/remove headers/sources as needed). Tighten down warnings via `CXXFLAGS.clang` instead of ignoring all warnings. Some new warnings snuck in after I did my last round of fix submissions upstream. Also address some overlinking added in the previous version import by removing superfluous libraries. =============================== Expect WhenDynamicCastToTest.AmbiguousCast to fail This change reapplies the expected failure from 1.10.0. Ref: https://github.com/google/googletest/issues/2172 MFC after: 2 weeks Reviewed by: asomers, emaste Differential Revision: https://reviews.freebsd.org/D41399 Merge commit '8ef491440fcaec96f899d73e08873426c78583a4' into googletest-v1.14.0-import --- contrib/googletest/.clang-format | 4 + .../.github/ISSUE_TEMPLATE/00-bug_report.yml | 53 + .../.github/ISSUE_TEMPLATE/10-feature_request.yml | 33 + .../googletest/.github/ISSUE_TEMPLATE/config.yml | 5 + contrib/googletest/.github/workflows/gtest-ci.yml | 43 + contrib/googletest/.gitignore | 34 + contrib/googletest/BUILD.bazel | 127 +- contrib/googletest/CMakeLists.txt | 14 +- contrib/googletest/CONTRIBUTING.md | 203 +- contrib/googletest/{googletest => }/CONTRIBUTORS | 28 + contrib/googletest/Makefile.am | 14 - contrib/googletest/README.md | 240 +- contrib/googletest/WORKSPACE | 27 +- contrib/googletest/appveyor.yml | 104 - contrib/googletest/ci/build-linux-bazel.sh | 36 - contrib/googletest/ci/env-linux.sh | 41 - contrib/googletest/ci/env-osx.sh | 40 - contrib/googletest/ci/get-nprocessors.sh | 48 - contrib/googletest/ci/install-linux.sh | 49 - contrib/googletest/ci/install-osx.sh | 39 - contrib/googletest/ci/linux-presubmit.sh | 137 + .../Scripts/runtests.sh => ci/macos-presubmit.sh} | 71 +- contrib/googletest/ci/travis.sh | 44 - contrib/googletest/ci/windows-presubmit.bat | 58 + contrib/googletest/configure.ac | 16 - contrib/googletest/docs/_config.yml | 1 + contrib/googletest/docs/_data/navigation.yml | 43 + contrib/googletest/docs/_layouts/default.html | 58 + contrib/googletest/docs/_sass/main.scss | 200 + .../googletest/{googletest => }/docs/advanced.md | 1608 +++-- contrib/googletest/docs/assets/css/style.scss | 5 + .../docs/community_created_documentation.md | 7 + contrib/googletest/{googletest => }/docs/faq.md | 362 +- contrib/googletest/docs/gmock_cheat_sheet.md | 241 + contrib/googletest/docs/gmock_cook_book.md | 4344 +++++++++++++ contrib/googletest/docs/gmock_faq.md | 390 ++ contrib/googletest/docs/gmock_for_dummies.md | 700 ++ contrib/googletest/docs/index.md | 22 + contrib/googletest/docs/pkgconfig.md | 144 + contrib/googletest/docs/platforms.md | 8 + contrib/googletest/docs/primer.md | 483 ++ contrib/googletest/docs/quickstart-bazel.md | 153 + contrib/googletest/docs/quickstart-cmake.md | 157 + contrib/googletest/docs/reference/actions.md | 115 + contrib/googletest/docs/reference/assertions.md | 633 ++ contrib/googletest/docs/reference/matchers.md | 302 + contrib/googletest/docs/reference/mocking.md | 589 ++ contrib/googletest/docs/reference/testing.md | 1432 ++++ .../googletest/{googletest => }/docs/samples.md | 6 +- contrib/googletest/googlemock/CHANGES | 126 - contrib/googletest/googlemock/CMakeLists.txt | 74 +- contrib/googletest/googlemock/CONTRIBUTORS | 40 - contrib/googletest/googlemock/LICENSE | 28 - contrib/googletest/googlemock/Makefile.am | 224 - contrib/googletest/googlemock/README.md | 353 +- contrib/googletest/googlemock/build-aux/.keep | 0 contrib/googletest/googlemock/cmake/gmock.pc.in | 3 +- .../googletest/googlemock/cmake/gmock_main.pc.in | 3 +- contrib/googletest/googlemock/configure.ac | 146 - contrib/googletest/googlemock/docs/CheatSheet.md | 564 -- contrib/googletest/googlemock/docs/CookBook.md | 3660 ----------- contrib/googletest/googlemock/docs/DesignDoc.md | 280 - .../googletest/googlemock/docs/Documentation.md | 15 - contrib/googletest/googlemock/docs/ForDummies.md | 447 -- .../googlemock/docs/FrequentlyAskedQuestions.md | 627 -- contrib/googletest/googlemock/docs/KnownIssues.md | 19 - contrib/googletest/googlemock/docs/README.md | 4 + .../googlemock/include/gmock/gmock-actions.h | 2000 ++++-- .../googlemock/include/gmock/gmock-cardinalities.h | 40 +- .../include/gmock/gmock-function-mocker.h | 518 ++ .../include/gmock/gmock-generated-actions.h | 2567 -------- .../include/gmock/gmock-generated-actions.h.pump | 833 --- .../gmock/gmock-generated-function-mockers.h | 1380 ---- .../gmock/gmock-generated-function-mockers.h.pump | 348 - .../include/gmock/gmock-generated-matchers.h | 2260 ------- .../include/gmock/gmock-generated-matchers.h.pump | 678 -- .../include/gmock/gmock-generated-nice-strict.h | 459 -- .../gmock/gmock-generated-nice-strict.h.pump | 179 - .../googlemock/include/gmock/gmock-matchers.h | 3681 ++++++----- .../googlemock/include/gmock/gmock-more-actions.h | 795 ++- .../googlemock/include/gmock/gmock-more-matchers.h | 74 +- .../googlemock/include/gmock/gmock-nice-strict.h | 277 + .../googlemock/include/gmock/gmock-spec-builders.h | 1120 ++-- .../googletest/googlemock/include/gmock/gmock.h | 28 +- .../include/gmock/internal/custom/README.md | 2 + .../internal/custom/gmock-generated-actions.h | 13 +- .../internal/custom/gmock-generated-actions.h.pump | 12 - .../include/gmock/internal/custom/gmock-matchers.h | 13 +- .../include/gmock/internal/custom/gmock-port.h | 11 +- .../internal/gmock-generated-internal-utils.h | 287 - .../internal/gmock-generated-internal-utils.h.pump | 137 - .../include/gmock/internal/gmock-internal-utils.h | 433 +- .../googlemock/include/gmock/internal/gmock-port.h | 97 +- .../googlemock/include/gmock/internal/gmock-pp.h | 279 + contrib/googletest/googlemock/make/Makefile | 101 - contrib/googletest/googlemock/msvc/2005/gmock.sln | 32 - .../googletest/googlemock/msvc/2005/gmock.vcproj | 191 - .../googlemock/msvc/2005/gmock_config.vsprops | 15 - .../googlemock/msvc/2005/gmock_main.vcproj | 187 - .../googlemock/msvc/2005/gmock_test.vcproj | 201 - contrib/googletest/googlemock/msvc/2010/gmock.sln | 46 - .../googletest/googlemock/msvc/2010/gmock.vcxproj | 145 - .../googlemock/msvc/2010/gmock_config.props | 19 - .../googlemock/msvc/2010/gmock_main.vcxproj | 151 - .../googlemock/msvc/2010/gmock_test.vcxproj | 176 - contrib/googletest/googlemock/msvc/2015/gmock.sln | 46 - .../googletest/googlemock/msvc/2015/gmock.vcxproj | 145 - .../googlemock/msvc/2015/gmock_config.props | 19 - .../googlemock/msvc/2015/gmock_main.vcxproj | 151 - .../googlemock/msvc/2015/gmock_test.vcxproj | 176 - .../googlemock/scripts/fuse_gmock_files.py | 240 - .../googlemock/scripts/generator/LICENSE | 203 - .../googletest/googlemock/scripts/generator/README | 34 - .../googlemock/scripts/generator/README.cppclean | 115 - .../googlemock/scripts/generator/cpp/__init__.py | 0 .../googlemock/scripts/generator/cpp/ast.py | 1736 ----- .../scripts/generator/cpp/gmock_class.py | 227 - .../scripts/generator/cpp/gmock_class_test.py | 466 -- .../googlemock/scripts/generator/cpp/keywords.py | 59 - .../googlemock/scripts/generator/cpp/tokenize.py | 287 - .../googlemock/scripts/generator/cpp/utils.py | 41 - .../googlemock/scripts/generator/gmock_gen.py | 31 - .../googletest/googlemock/scripts/gmock-config.in | 303 - .../googletest/googlemock/scripts/gmock_doctor.py | 640 -- contrib/googletest/googlemock/scripts/upload.py | 1387 ---- .../googletest/googlemock/scripts/upload_gmock.py | 78 - .../googlemock/src/gmock-cardinalities.cc | 22 +- .../googlemock/src/gmock-internal-utils.cc | 132 +- .../googletest/googlemock/src/gmock-matchers.cc | 143 +- .../googlemock/src/gmock-spec-builders.cc | 321 +- contrib/googletest/googlemock/src/gmock.cc | 89 +- contrib/googletest/googlemock/src/gmock_main.cc | 25 +- contrib/googletest/googlemock/test/BUILD.bazel | 49 +- .../googlemock/test/gmock-actions_test.cc | 1439 ++++- .../googlemock/test/gmock-cardinalities_test.cc | 127 +- .../googlemock/test/gmock-function-mocker_test.cc | 998 +++ .../test/gmock-generated-actions_test.cc | 1229 ---- .../test/gmock-generated-function-mockers_test.cc | 646 -- .../test/gmock-generated-internal-utils_test.cc | 128 - .../test/gmock-generated-matchers_test.cc | 1341 ---- .../googlemock/test/gmock-internal-utils_test.cc | 441 +- .../test/gmock-matchers-arithmetic_test.cc | 1516 +++++ .../test/gmock-matchers-comparisons_test.cc | 2371 +++++++ .../test/gmock-matchers-containers_test.cc | 3137 +++++++++ .../googlemock/test/gmock-matchers-misc_test.cc | 1823 ++++++ .../googlemock/test/gmock-matchers_test.cc | 6814 -------------------- .../googlemock/test/gmock-matchers_test.h | 192 + .../googlemock/test/gmock-more-actions_test.cc | 1155 +++- .../googlemock/test/gmock-nice-strict_test.cc | 201 +- .../googletest/googlemock/test/gmock-port_test.cc | 2 +- .../googlemock/test/gmock-pp-string_test.cc | 205 + .../googletest/googlemock/test/gmock-pp_test.cc | 83 + .../googlemock/test/gmock-spec-builders_test.cc | 1142 ++-- .../googletest/googlemock/test/gmock_all_test.cc | 9 +- .../googletest/googlemock/test/gmock_ex_test.cc | 4 +- .../googletest/googlemock/test/gmock_leak_test.py | 61 +- .../googletest/googlemock/test/gmock_leak_test_.cc | 8 +- .../googletest/googlemock/test/gmock_link2_test.cc | 1 - .../googletest/googlemock/test/gmock_link_test.cc | 1 - .../googletest/googlemock/test/gmock_link_test.h | 96 +- .../googlemock/test/gmock_output_test.py | 21 +- .../googlemock/test/gmock_output_test_.cc | 83 +- .../googlemock/test/gmock_output_test_golden.txt | 32 +- .../googlemock/test/gmock_stress_test.cc | 142 +- contrib/googletest/googlemock/test/gmock_test.cc | 190 +- .../googletest/googlemock/test/gmock_test_utils.py | 19 +- contrib/googletest/googletest/CHANGES | 157 - contrib/googletest/googletest/CMakeLists.txt | 97 +- contrib/googletest/googletest/LICENSE | 28 - contrib/googletest/googletest/Makefile.am | 345 - contrib/googletest/googletest/README.md | 348 +- contrib/googletest/googletest/cmake/gtest.pc.in | 2 +- .../googletest/googletest/cmake/gtest_main.pc.in | 4 +- .../googletest/cmake/internal_utils.cmake | 166 +- contrib/googletest/googletest/cmake/libgtest.la.in | 21 + .../googletest/googletest/codegear/gtest.cbproj | 138 - .../googletest/googletest/codegear/gtest.groupproj | 54 - .../googletest/googletest/codegear/gtest_link.cc | 40 - .../googletest/codegear/gtest_main.cbproj | 82 - .../googletest/codegear/gtest_unittest.cbproj | 88 - contrib/googletest/googletest/configure.ac | 68 - contrib/googletest/googletest/docs/Pkgconfig.md | 146 - contrib/googletest/googletest/docs/PumpManual.md | 177 - contrib/googletest/googletest/docs/README.md | 4 + contrib/googletest/googletest/docs/XcodeGuide.md | 93 - contrib/googletest/googletest/docs/primer.md | 569 -- .../include/gtest/gtest-assertion-result.h | 237 + .../googletest/include/gtest/gtest-death-test.h | 145 +- .../googletest/include/gtest/gtest-matchers.h | 923 +++ .../googletest/include/gtest/gtest-message.h | 115 +- .../googletest/include/gtest/gtest-param-test.h | 1264 +--- .../include/gtest/gtest-param-test.h.pump | 500 -- .../googletest/include/gtest/gtest-printers.h | 1074 +-- .../googletest/include/gtest/gtest-spi.h | 143 +- .../googletest/include/gtest/gtest-test-part.h | 51 +- .../googletest/include/gtest/gtest-typed-test.h | 225 +- .../googletest/googletest/include/gtest/gtest.h | 1319 ++-- .../googletest/include/gtest/gtest_pred_impl.h | 276 +- .../googletest/include/gtest/gtest_prod.h | 15 +- .../include/gtest/internal/custom/README.md | 12 - .../include/gtest/internal/custom/gtest-port.h | 6 +- .../include/gtest/internal/custom/gtest-printers.h | 6 +- .../include/gtest/internal/custom/gtest.h | 6 +- .../gtest/internal/gtest-death-test-internal.h | 193 +- .../include/gtest/internal/gtest-filepath.h | 44 +- .../include/gtest/internal/gtest-internal.h | 1107 ++-- .../include/gtest/internal/gtest-linked_ptr.h | 243 - .../gtest/internal/gtest-param-util-generated.h | 5552 ---------------- .../internal/gtest-param-util-generated.h.pump | 282 - .../include/gtest/internal/gtest-param-util.h | 762 ++- .../include/gtest/internal/gtest-port-arch.h | 120 +- .../googletest/include/gtest/internal/gtest-port.h | 2211 +++---- .../include/gtest/internal/gtest-string.h | 53 +- .../include/gtest/internal/gtest-tuple.h | 1021 --- .../include/gtest/internal/gtest-tuple.h.pump | 348 - .../include/gtest/internal/gtest-type-util.h | 3352 +--------- .../include/gtest/internal/gtest-type-util.h.pump | 314 - contrib/googletest/googletest/m4/acx_pthread.m4 | 363 -- contrib/googletest/googletest/m4/gtest.m4 | 74 - contrib/googletest/googletest/make/Makefile | 82 - .../googletest/googletest/msvc/2010/gtest-md.sln | 55 - .../googletest/msvc/2010/gtest-md.vcxproj | 149 - .../googletest/msvc/2010/gtest-md.vcxproj.filters | 18 - contrib/googletest/googletest/msvc/2010/gtest.sln | 55 - .../googletest/googletest/msvc/2010/gtest.vcxproj | 149 - .../googletest/msvc/2010/gtest.vcxproj.filters | 18 - .../googletest/msvc/2010/gtest_main-md.vcxproj | 154 - .../msvc/2010/gtest_main-md.vcxproj.filters | 18 - .../googletest/msvc/2010/gtest_main.vcxproj | 162 - .../msvc/2010/gtest_main.vcxproj.filters | 18 - .../msvc/2010/gtest_prod_test-md.vcxproj | 199 - .../msvc/2010/gtest_prod_test-md.vcxproj.filters | 26 - .../googletest/msvc/2010/gtest_prod_test.vcxproj | 191 - .../msvc/2010/gtest_prod_test.vcxproj.filters | 26 - .../googletest/msvc/2010/gtest_unittest-md.vcxproj | 188 - .../msvc/2010/gtest_unittest-md.vcxproj.filters | 18 - .../googletest/msvc/2010/gtest_unittest.vcxproj | 180 - .../msvc/2010/gtest_unittest.vcxproj.filters | 18 - .../googletest/googletest/samples/prime_tables.h | 39 +- contrib/googletest/googletest/samples/sample1.cc | 6 +- contrib/googletest/googletest/samples/sample1.h | 8 +- .../googletest/samples/sample10_unittest.cc | 15 +- .../googletest/samples/sample1_unittest.cc | 11 +- contrib/googletest/googletest/samples/sample2.cc | 4 +- contrib/googletest/googletest/samples/sample2.h | 18 +- .../googletest/samples/sample2_unittest.cc | 10 +- .../googletest/googletest/samples/sample3-inl.h | 31 +- .../googletest/samples/sample3_unittest.cc | 23 +- contrib/googletest/googletest/samples/sample4.cc | 14 +- contrib/googletest/googletest/samples/sample4.h | 6 +- .../googletest/samples/sample4_unittest.cc | 2 +- .../googletest/samples/sample5_unittest.cc | 29 +- .../googletest/samples/sample6_unittest.cc | 30 +- .../googletest/samples/sample7_unittest.cc | 20 +- .../googletest/samples/sample8_unittest.cc | 61 +- .../googletest/samples/sample9_unittest.cc | 46 +- contrib/googletest/googletest/scripts/common.py | 83 - .../googletest/scripts/fuse_gtest_files.py | 253 - .../googletest/scripts/gen_gtest_pred_impl.py | 730 --- .../googletest/googletest/scripts/gtest-config.in | 274 - contrib/googletest/googletest/scripts/pump.py | 855 --- .../googletest/googletest/scripts/release_docs.py | 158 - .../googletest/googletest/scripts/test/Makefile | 59 - contrib/googletest/googletest/scripts/upload.py | 1387 ---- .../googletest/googletest/scripts/upload_gtest.py | 78 - contrib/googletest/googletest/src/gtest-all.cc | 4 +- .../gtest-assertion-result.cc} | 69 +- .../googletest/googletest/src/gtest-death-test.cc | 986 +-- .../googletest/googletest/src/gtest-filepath.cc | 239 +- .../googletest/googletest/src/gtest-internal-inl.h | 548 +- .../googletest/googletest/src/gtest-matchers.cc | 98 + contrib/googletest/googletest/src/gtest-port.cc | 714 +- .../googletest/googletest/src/gtest-printers.cc | 294 +- .../googletest/googletest/src/gtest-test-part.cc | 35 +- .../googletest/googletest/src/gtest-typed-test.cc | 40 +- contrib/googletest/googletest/src/gtest.cc | 4271 +++++++----- contrib/googletest/googletest/src/gtest_main.cc | 31 +- contrib/googletest/googletest/test/BUILD.bazel | 169 +- .../test/googletest-break-on-failure-unittest.py | 79 +- .../test/googletest-break-on-failure-unittest_.cc | 25 +- .../test/googletest-catch-exceptions-test.py | 316 +- .../test/googletest-catch-exceptions-test_.cc | 122 +- .../googletest/test/googletest-color-test.py | 70 +- .../googletest/test/googletest-color-test_.cc | 4 +- .../googletest/test/googletest-death-test-test.cc | 613 +- .../test/googletest-death-test_ex_test.cc | 31 +- .../googletest/test/googletest-env-var-test.py | 11 +- .../googletest/test/googletest-env-var-test_.cc | 36 +- .../test/googletest-failfast-unittest.py | 461 ++ .../test/googletest-failfast-unittest_.cc | 166 + .../googletest/test/googletest-filepath-test.cc | 226 +- .../googletest/test/googletest-filter-unittest.py | 448 +- .../googletest/test/googletest-filter-unittest_.cc | 75 +- .../test/googletest-global-environment-unittest.py | 141 + .../googletest-global-environment-unittest_.cc} | 47 +- .../test/googletest-json-outfiles-test.py | 138 +- .../test/googletest-json-output-unittest.py | 950 +-- .../googletest/test/googletest-linked-ptr-test.cc | 151 - .../test/googletest-list-tests-unittest.py | 102 +- .../test/googletest-list-tests-unittest_.cc | 103 +- .../googletest/test/googletest-listener-test.cc | 480 +- .../googletest/test/googletest-message-test.cc | 48 +- .../googletest/test/googletest-options-test.cc | 103 +- .../test/googletest-output-test-golden-lin.txt | 247 +- .../googletest/test/googletest-output-test.py | 182 +- .../googletest/test/googletest-output-test_.cc | 539 +- .../googletest-param-test-invalid-name1-test.py | 4 +- .../googletest-param-test-invalid-name1-test_.cc | 12 +- .../googletest-param-test-invalid-name2-test.py | 5 +- .../googletest-param-test-invalid-name2-test_.cc | 15 +- .../googletest/test/googletest-param-test-test.cc | 556 +- .../googletest/test/googletest-param-test-test.h | 14 +- .../googletest/test/googletest-param-test2-test.cc | 13 +- .../googletest/test/googletest-port-test.cc | 315 +- .../googletest/test/googletest-printers-test.cc | 1176 ++-- .../test/googletest-setuptestsuite-test.py} | 38 +- .../googletest-setuptestsuite-test_.cc} | 26 +- .../googletest/test/googletest-shuffle-test.py | 203 +- .../googletest/test/googletest-shuffle-test_.cc | 13 +- .../googletest/test/googletest-test-part-test.cc | 26 +- .../googletest/test/googletest-test2_test.cc | 61 - .../test/googletest-throw-on-failure-test.py | 77 +- .../test/googletest-throw-on-failure-test_.cc | 12 +- .../googletest/test/googletest-tuple-test.cc | 319 - .../test/googletest-uninitialized-test.py | 13 +- .../test/googletest-uninitialized-test_.cc | 5 +- .../googletest/test/gtest-typed-test2_test.cc | 11 +- .../googletest/test/gtest-typed-test_test.cc | 246 +- .../googletest/test/gtest-typed-test_test.h | 24 +- .../googletest/test/gtest-unittest-api_test.cc | 272 +- .../googletest/googletest/test/gtest_all_test.cc | 1 - .../test/gtest_assert_by_exception_test.cc | 28 +- .../googletest/googletest/test/gtest_dirs_test.cc | 101 + .../googletest/test/gtest_environment_test.cc | 29 +- .../googletest/googletest/test/gtest_help_test.py | 129 +- .../googletest/googletest/test/gtest_help_test_.cc | 3 +- .../googletest/test/gtest_json_test_utils.py | 4 + .../googletest/test/gtest_list_output_unittest.py | 184 +- .../googletest/test/gtest_list_output_unittest_.cc | 26 + .../googletest/test/gtest_main_unittest.cc | 4 +- .../googletest/test/gtest_pred_impl_unittest.cc | 1793 +++-- .../googletest/test/gtest_premature_exit_test.cc | 30 +- .../googletest/test/gtest_repeat_test.cc | 76 +- .../gtest_skip_check_output_test.py} | 66 +- .../gtest_skip_environment_check_output_test.py} | 40 +- .../test/gtest_skip_in_environment_setup_test.cc | 26 +- .../googletest/googletest/test/gtest_skip_test.cc | 10 +- .../googletest/test/gtest_sole_header_test.cc | 4 +- .../googletest/test/gtest_stress_test.cc | 36 +- .../test/gtest_test_macro_stack_footprint_test.cc | 58 +- .../googletest/googletest/test/gtest_test_utils.py | 142 +- .../googletest/test/gtest_testbridge_test.py | 4 +- .../googletest/test/gtest_testbridge_test_.cc | 1 - .../test/gtest_throw_on_failure_ex_test.cc | 19 +- .../googletest/googletest/test/gtest_unittest.cc | 3944 ++++++----- .../googletest/test/gtest_xml_outfile1_test_.cc | 8 +- .../googletest/test/gtest_xml_outfile2_test_.cc | 46 +- .../googletest/test/gtest_xml_outfiles_test.py | 55 +- .../googletest/test/gtest_xml_output_unittest.py | 338 +- .../googletest/test/gtest_xml_output_unittest_.cc | 56 +- .../googletest/test/gtest_xml_test_utils.py | 170 +- contrib/googletest/googletest/test/production.h | 7 +- .../googletest/xcode/Config/DebugProject.xcconfig | 30 - .../xcode/Config/FrameworkTarget.xcconfig | 17 - .../googletest/xcode/Config/General.xcconfig | 41 - .../xcode/Config/ReleaseProject.xcconfig | 32 - .../xcode/Config/StaticLibraryTarget.xcconfig | 18 - .../googletest/xcode/Config/TestTarget.xcconfig | 8 - .../googletest/xcode/Resources/Info.plist | 30 - .../xcode/Samples/FrameworkSample/Info.plist | 28 - .../WidgetFramework.xcodeproj/project.pbxproj | 457 -- .../xcode/Samples/FrameworkSample/widget.cc | 63 - .../googletest/xcode/Scripts/versiongenerate.py | 100 - .../xcode/gtest.xcodeproj/project.pbxproj | 1182 ---- contrib/googletest/googletest_deps.bzl | 22 + lib/googletest/gmock/Makefile | 18 +- lib/googletest/gtest/Makefile | 5 +- lib/googletest/tests/gmock/Makefile | 5 +- lib/googletest/tests/gmock_main/Makefile | 20 +- lib/googletest/tests/gtest/Makefile | 11 +- lib/googletest/tests/gtest_main/Makefile | 15 +- share/mk/googletest.test.inc.mk | 2 +- 382 files changed, 51489 insertions(+), 78609 deletions(-) diff --git a/contrib/googletest/.clang-format b/contrib/googletest/.clang-format new file mode 100644 index 000000000000..5b9bfe6d2242 --- /dev/null +++ b/contrib/googletest/.clang-format @@ -0,0 +1,4 @@ +# Run manually to reformat a file: +# clang-format -i --style=file +Language: Cpp +BasedOnStyle: Google diff --git a/contrib/googletest/.github/ISSUE_TEMPLATE/00-bug_report.yml b/contrib/googletest/.github/ISSUE_TEMPLATE/00-bug_report.yml new file mode 100644 index 000000000000..586779ad2d61 --- /dev/null +++ b/contrib/googletest/.github/ISSUE_TEMPLATE/00-bug_report.yml @@ -0,0 +1,53 @@ +name: Bug Report +description: Let us know that something does not work as expected. +title: "[Bug]: Please title this bug report" +body: + - type: textarea + id: what-happened + attributes: + label: Describe the issue + description: What happened, and what did you expect to happen? + validations: + required: true + - type: textarea + id: steps + attributes: + label: Steps to reproduce the problem + description: It is important that we are able to reproduce the problem that you are experiencing. Please provide all code and relevant steps to reproduce the problem, including your `BUILD`/`CMakeLists.txt` file and build commands. Links to a GitHub branch or [godbolt.org](https://godbolt.org/) that demonstrate the problem are also helpful. + validations: + required: true + - type: textarea + id: version + attributes: + label: What version of GoogleTest are you using? + description: Please include the output of `git rev-parse HEAD` or the GoogleTest release version number that you are using. + validations: + required: true + - type: textarea + id: os + attributes: + label: What operating system and version are you using? + description: If you are using a Linux distribution please include the name and version of the distribution as well. + validations: + required: true + - type: textarea + id: compiler + attributes: + label: What compiler and version are you using? + description: Please include the output of `gcc -v` or `clang -v`, or the equivalent for your compiler. + validations: + required: true + - type: textarea + id: buildsystem + attributes: + label: What build system are you using? + description: Please include the output of `bazel --version` or `cmake --version`, or the equivalent for your build system. + validations: + required: true + - type: textarea + id: additional + attributes: + label: Additional context + description: Add any other context about the problem here. + validations: + required: false diff --git a/contrib/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml b/contrib/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml new file mode 100644 index 000000000000..f3bbc091e8e9 --- /dev/null +++ b/contrib/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml @@ -0,0 +1,33 @@ +name: Feature request +description: Propose a new feature. +title: "[FR]: Please title this feature request" +labels: "enhancement" +body: + - type: textarea + id: version + attributes: + label: Does the feature exist in the most recent commit? + description: We recommend using the latest commit from GitHub in your projects. + validations: + required: true + - type: textarea + id: why + attributes: + label: Why do we need this feature? + description: Ideally, explain why a combination of existing features cannot be used instead. + validations: + required: true + - type: textarea + id: proposal + attributes: + label: Describe the proposal. + description: Include a detailed description of the feature, with usage examples. + validations: + required: true + - type: textarea + id: platform + attributes: + label: Is the feature specific to an operating system, compiler, or build system version? + description: If it is, please specify which versions. + validations: + required: true diff --git a/contrib/googletest/.github/ISSUE_TEMPLATE/config.yml b/contrib/googletest/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000000..65170d10a782 --- /dev/null +++ b/contrib/googletest/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Get Help + url: https://github.com/google/googletest/discussions + about: Please ask and answer questions here. diff --git a/contrib/googletest/.github/workflows/gtest-ci.yml b/contrib/googletest/.github/workflows/gtest-ci.yml new file mode 100644 index 000000000000..03a8cc5e287b --- /dev/null +++ b/contrib/googletest/.github/workflows/gtest-ci.yml @@ -0,0 +1,43 @@ +name: ci + +on: + push: + pull_request: + +env: + BAZEL_CXXOPTS: -std=c++14 + +jobs: + Linux: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Tests + run: bazel test --cxxopt=-std=c++14 --features=external_include_paths --test_output=errors ... + + macOS: + runs-on: macos-latest + steps: + + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Tests + run: bazel test --cxxopt=-std=c++14 --features=external_include_paths --test_output=errors ... + + + Windows: + runs-on: windows-latest + steps: + + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Tests + run: bazel test --cxxopt=/std:c++14 --features=external_include_paths --test_output=errors ... diff --git a/contrib/googletest/.gitignore b/contrib/googletest/.gitignore index 73cdd2c203ff..fede02f65093 100644 --- a/contrib/googletest/.gitignore +++ b/contrib/googletest/.gitignore @@ -12,6 +12,7 @@ bazel-testlogs *.pyc # Visual Studio files +.vs *.sdf *.opensdf *.VC.opendb @@ -23,6 +24,10 @@ Win32-Release/ x64-Debug/ x64-Release/ +# VSCode files +.cache/ +cmake-variants.yaml + # Ignore autoconf / automake files Makefile.in aclocal.m4 @@ -34,6 +39,7 @@ googletest/m4/ltoptions.m4 googletest/m4/ltsugar.m4 googletest/m4/ltversion.m4 googletest/m4/lt~obsolete.m4 +googlemock/m4 # Ignore generated directories. googlemock/fused-src/ @@ -41,6 +47,8 @@ googletest/fused-src/ # macOS files .DS_Store +googletest/.DS_Store +googletest/xcode/.DS_Store # Ignore cmake generated directories and files. CMakeFiles @@ -52,3 +60,29 @@ googlemock/CTestTestfile.cmake googlemock/Makefile googlemock/cmake_install.cmake googlemock/gtest +/bin +/googlemock/gmock.dir +/googlemock/gmock_main.dir +/googlemock/RUN_TESTS.vcxproj.filters +/googlemock/RUN_TESTS.vcxproj +/googlemock/INSTALL.vcxproj.filters +/googlemock/INSTALL.vcxproj +/googlemock/gmock_main.vcxproj.filters +/googlemock/gmock_main.vcxproj +/googlemock/gmock.vcxproj.filters +/googlemock/gmock.vcxproj +/googlemock/gmock.sln +/googlemock/ALL_BUILD.vcxproj.filters +/googlemock/ALL_BUILD.vcxproj +/lib +/Win32 +/ZERO_CHECK.vcxproj.filters +/ZERO_CHECK.vcxproj +/RUN_TESTS.vcxproj.filters +/RUN_TESTS.vcxproj +/INSTALL.vcxproj.filters +/INSTALL.vcxproj +/googletest-distribution.sln +/CMakeCache.txt +/ALL_BUILD.vcxproj.filters +/ALL_BUILD.vcxproj diff --git a/contrib/googletest/BUILD.bazel b/contrib/googletest/BUILD.bazel index 41a098579818..b1e3b7fba89a 100644 --- a/contrib/googletest/BUILD.bazel +++ b/contrib/googletest/BUILD.bazel @@ -28,22 +28,40 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# Author: misterg@google.com (Gennadiy Civil) -# # Bazel Build for Google C++ Testing Framework(Google Test) package(default_visibility = ["//visibility:public"]) licenses(["notice"]) +exports_files(["LICENSE"]) + +config_setting( + name = "qnx", + constraint_values = ["@platforms//os:qnx"], +) + config_setting( name = "windows", - values = {"cpu": "x64_windows"}, + constraint_values = ["@platforms//os:windows"], +) + +config_setting( + name = "freebsd", + constraint_values = ["@platforms//os:freebsd"], ) config_setting( - name = "windows_msvc", - values = {"cpu": "x64_windows_msvc"}, + name = "openbsd", + constraint_values = ["@platforms//os:openbsd"], +) + +config_setting( + name = "msvc_compiler", + flag_values = { + "@bazel_tools//tools/cpp:compiler": "msvc-cl", + }, + visibility = [":__subpackages__"], ) config_setting( @@ -51,6 +69,13 @@ config_setting( values = {"define": "absl=1"}, ) +# Library that defines the FRIEND_TEST macro. +cc_library( + name = "gtest_prod", + hdrs = ["googletest/include/gtest/gtest_prod.h"], + includes = ["googletest/include"], +) + # Google Test including Google Mock cc_library( name = "gtest", @@ -73,21 +98,19 @@ cc_library( "googletest/include/gtest/*.h", "googlemock/include/gmock/*.h", ]), - copts = select( - { - ":windows": [], - ":windows_msvc": [], - "//conditions:default": ["-pthread"], - }, - ), - defines = select( - { - ":has_absl": [ - "GTEST_HAS_ABSL=1", - ], - "//conditions:default": [], - }, - ), + copts = select({ + ":qnx": [], + ":windows": [], + "//conditions:default": ["-pthread"], + }), + defines = select({ + ":has_absl": ["GTEST_HAS_ABSL=1"], + "//conditions:default": [], + }), + features = select({ + ":windows": ["windows_export_all_symbols"], + "//conditions:default": [], + }), includes = [ "googlemock", "googlemock/include", @@ -95,32 +118,45 @@ cc_library( "googletest/include", ], linkopts = select({ + ":qnx": ["-lregex"], ":windows": [], - ":windows_msvc": [], - "//conditions:default": [ + ":freebsd": [ + "-lm", "-pthread", ], + ":openbsd": [ + "-lm", + "-pthread", + ], + "//conditions:default": ["-pthread"], + }), + deps = select({ + ":has_absl": [ + "@com_google_absl//absl/container:flat_hash_set", + "@com_google_absl//absl/debugging:failure_signal_handler", + "@com_google_absl//absl/debugging:stacktrace", + "@com_google_absl//absl/debugging:symbolize", + "@com_google_absl//absl/flags:flag", + "@com_google_absl//absl/flags:parse", + "@com_google_absl//absl/flags:reflection", + "@com_google_absl//absl/flags:usage", + "@com_google_absl//absl/strings", + "@com_google_absl//absl/types:any", + "@com_google_absl//absl/types:optional", + "@com_google_absl//absl/types:variant", + "@com_googlesource_code_re2//:re2", + ], + "//conditions:default": [], }), - deps = select( - { - ":has_absl": [ - "@com_google_absl//absl/debugging:failure_signal_handler", - "@com_google_absl//absl/debugging:stacktrace", - "@com_google_absl//absl/debugging:symbolize", - "@com_google_absl//absl/strings", - "@com_google_absl//absl/types:optional", - "@com_google_absl//absl/types:variant", - ], - "//conditions:default": [], - }, - ), ) cc_library( name = "gtest_main", - srcs = [ - "googlemock/src/gmock_main.cc", - ], + srcs = ["googlemock/src/gmock_main.cc"], + features = select({ + ":windows": ["windows_export_all_symbols"], + "//conditions:default": [], + }), deps = [":gtest"], ) @@ -139,14 +175,18 @@ cc_library( "googletest/samples/sample3-inl.h", "googletest/samples/sample4.h", ], + features = select({ + ":windows": ["windows_export_all_symbols"], + "//conditions:default": [], + }), ) cc_test( name = "gtest_samples", size = "small", - #All Samples except: - #sample9 ( main ) - #sample10 (main and takes a command line option and needs to be separate) + # All Samples except: + # sample9 (main) + # sample10 (main and takes a command line option and needs to be separate) srcs = [ "googletest/samples/sample1_unittest.cc", "googletest/samples/sample2_unittest.cc", @@ -157,6 +197,7 @@ cc_test( "googletest/samples/sample7_unittest.cc", "googletest/samples/sample8_unittest.cc", ], + linkstatic = 0, deps = [ "gtest_sample_lib", ":gtest_main", @@ -174,7 +215,5 @@ cc_test( name = "sample10_unittest", size = "small", srcs = ["googletest/samples/sample10_unittest.cc"], - deps = [ - ":gtest", - ], + deps = [":gtest"], ) diff --git a/contrib/googletest/CMakeLists.txt b/contrib/googletest/CMakeLists.txt index d77321165aeb..089ac987fb60 100644 --- a/contrib/googletest/CMakeLists.txt +++ b/contrib/googletest/CMakeLists.txt @@ -1,11 +1,14 @@ -cmake_minimum_required(VERSION 2.8.8) +# Note: CMake support is community-based. The maintainers do not use CMake +# internally. -if (POLICY CMP0048) - cmake_policy(SET CMP0048 NEW) -endif (POLICY CMP0048) +cmake_minimum_required(VERSION 3.13) project(googletest-distribution) -set(GOOGLETEST_VERSION 1.9.0) +set(GOOGLETEST_VERSION 1.14.0) + +if(NOT CYGWIN AND NOT MSYS AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL QNX) + set(CMAKE_CXX_EXTENSIONS OFF) +endif() enable_testing() @@ -15,6 +18,7 @@ include(GNUInstallDirs) #Note that googlemock target already builds googletest option(BUILD_GMOCK "Builds the googlemock subproject" ON) option(INSTALL_GTEST "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" ON) +option(GTEST_HAS_ABSL "Use Abseil and RE2. Requires Abseil and RE2 to be separately added to the build." OFF) if(BUILD_GMOCK) add_subdirectory( googlemock ) diff --git a/contrib/googletest/CONTRIBUTING.md b/contrib/googletest/CONTRIBUTING.md index 846dd8abfb1c..8bed14b2666d 100644 --- a/contrib/googletest/CONTRIBUTING.md +++ b/contrib/googletest/CONTRIBUTING.md @@ -2,16 +2,16 @@ ## Contributor License Agreements -We'd love to accept your patches! Before we can take them, we -have to jump a couple of legal hurdles. +We'd love to accept your patches! Before we can take them, we have to jump a +couple of legal hurdles. Please fill out either the individual or corporate Contributor License Agreement (CLA). - * If you are an individual writing original source code and you're sure you +* If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual). - * If you work for a company that wants to allow you to contribute your work, +* If you work for a company that wants to allow you to contribute your work, then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate). @@ -20,141 +20,122 @@ instructions for how to sign and return it. Once we receive it, we'll be able to accept your pull requests. ## Are you a Googler? -If you are a Googler, you can either create an internal change or work on GitHub directly. +If you are a Googler, please make an attempt to submit an internal contribution +rather than a GitHub Pull Request. If you are not able to submit internally, a +PR is acceptable as an alternative. ## Contributing A Patch -1. Submit an issue describing your proposed change to the - [issue tracker](https://github.com/google/googletest). -1. Please don't mix more than one logical change per submittal, - because it makes the history hard to follow. If you want to make a - change that doesn't have a corresponding issue in the issue - tracker, please create one. -1. Also, coordinate with team members that are listed on the issue in - question. This ensures that work isn't being duplicated and - communicating your plan early also generally leads to better - patches. -1. If your proposed change is accepted, and you haven't already done so, sign a - Contributor License Agreement (see details above). -1. Fork the desired repo, develop and test your code changes. -1. Ensure that your code adheres to the existing style in the sample to which - you are contributing. -1. Ensure that your code has an appropriate set of unit tests which all pass. -1. Submit a pull request. - -## The Google Test and Google Mock Communities ## +1. Submit an issue describing your proposed change to the + [issue tracker](https://github.com/google/googletest/issues). +2. Please don't mix more than one logical change per submittal, because it + makes the history hard to follow. If you want to make a change that doesn't + have a corresponding issue in the issue tracker, please create one. +3. Also, coordinate with team members that are listed on the issue in question. + This ensures that work isn't being duplicated and communicating your plan + early also generally leads to better patches. +4. If your proposed change is accepted, and you haven't already done so, sign a + Contributor License Agreement + ([see details above](#contributor-license-agreements)). +5. Fork the desired repo, develop and test your code changes. +6. Ensure that your code adheres to the existing style in the sample to which + you are contributing. +7. Ensure that your code has an appropriate set of unit tests which all pass. +8. Submit a pull request. + +## The Google Test and Google Mock Communities The Google Test community exists primarily through the -[discussion group](http://groups.google.com/group/googletestframework) -and the GitHub repository. -Likewise, the Google Mock community exists primarily through their own -[discussion group](http://groups.google.com/group/googlemock). -You are definitely encouraged to contribute to the -discussion and you can also help us to keep the effectiveness of the -group high by following and promoting the guidelines listed here. - -### Please Be Friendly ### - -Showing courtesy and respect to others is a vital part of the Google -culture, and we strongly encourage everyone participating in Google -Test development to join us in accepting nothing less. Of course, -being courteous is not the same as failing to constructively disagree -with each other, but it does mean that we should be respectful of each -other when enumerating the 42 technical reasons that a particular *** 162876 LINES SKIPPED ***