git: a52d355b540f - main - Add 'origin/googletest/' from commit '8ef491440fcaec96f899d73e08873426c78583a4'

From: Enji Cooper <ngie_at_FreeBSD.org>
Date: Sat, 19 Oct 2024 02:05:42 UTC
The branch main has been updated by ngie:

URL: https://cgit.FreeBSD.org/src/commit/?id=a52d355b540f9b7ba13edf20efae5f33e69de189

commit a52d355b540f9b7ba13edf20efae5f33e69de189
Merge: bcf81d7794a7 8ef491440fca
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2024-10-19 01:28:19 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2024-10-19 02:04:12 +0000

    Add 'origin/googletest/' from commit '8ef491440fcaec96f899d73e08873426c78583a4'
    
    This helps bootstrap the mergeinfo so future googletest imports can be
    done more easily.
    
    Suggested by:   jrtc27
    Fixes:  28f6c2f292806bf31230a959bc4b19d7081669a7
    
    git-subtree-dir: origin/googletest
    git-subtree-mainline: bcf81d7794a7b20425cdb48a580d977c49f75251
    git-subtree-split: 8ef491440fcaec96f899d73e08873426c78583a4

 origin/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 +
 origin/googletest/.github/workflows/gtest-ci.yml   |   43 +
 origin/googletest/.gitignore                       |   88 +
 origin/googletest/.travis.yml                      |   81 +
 origin/googletest/BUILD.bazel                      |  219 +
 origin/googletest/CMakeLists.txt                   |   27 +
 origin/googletest/CONTRIBUTING.md                  |  141 +
 origin/googletest/CONTRIBUTORS                     |   65 +
 origin/googletest/LICENSE                          |   28 +
 origin/googletest/README.md                        |  146 +
 origin/googletest/WORKSPACE                        |   27 +
 origin/googletest/ci/linux-presubmit.sh            |  137 +
 origin/googletest/ci/macos-presubmit.sh            |   76 +
 origin/googletest/ci/windows-presubmit.bat         |   58 +
 origin/googletest/docs/_config.yml                 |    1 +
 origin/googletest/docs/_data/navigation.yml        |   43 +
 origin/googletest/docs/_layouts/default.html       |   58 +
 origin/googletest/docs/_sass/main.scss             |  200 +
 origin/googletest/docs/advanced.md                 | 2436 ++++++
 origin/googletest/docs/assets/css/style.scss       |    5 +
 .../docs/community_created_documentation.md        |    7 +
 origin/googletest/docs/faq.md                      |  692 ++
 origin/googletest/docs/gmock_cheat_sheet.md        |  241 +
 origin/googletest/docs/gmock_cook_book.md          | 4344 +++++++++++
 origin/googletest/docs/gmock_faq.md                |  390 +
 origin/googletest/docs/gmock_for_dummies.md        |  700 ++
 origin/googletest/docs/index.md                    |   22 +
 origin/googletest/docs/pkgconfig.md                |  144 +
 origin/googletest/docs/platforms.md                |    8 +
 origin/googletest/docs/primer.md                   |  483 ++
 origin/googletest/docs/quickstart-bazel.md         |  153 +
 origin/googletest/docs/quickstart-cmake.md         |  157 +
 origin/googletest/docs/reference/actions.md        |  115 +
 origin/googletest/docs/reference/assertions.md     |  633 ++
 origin/googletest/docs/reference/matchers.md       |  302 +
 origin/googletest/docs/reference/mocking.md        |  589 ++
 origin/googletest/docs/reference/testing.md        | 1432 ++++
 origin/googletest/docs/samples.md                  |   22 +
 origin/googletest/googlemock/CMakeLists.txt        |  209 +
 origin/googletest/googlemock/README.md             |   40 +
 origin/googletest/googlemock/cmake/gmock.pc.in     |   10 +
 .../googletest/googlemock/cmake/gmock_main.pc.in   |   10 +
 origin/googletest/googlemock/docs/README.md        |    4 +
 .../googlemock/include/gmock/gmock-actions.h       | 2297 ++++++
 .../googlemock/include/gmock/gmock-cardinalities.h |  159 +
 .../include/gmock/gmock-function-mocker.h          |  518 ++
 .../googlemock/include/gmock/gmock-matchers.h      | 5623 ++++++++++++++
 .../googlemock/include/gmock/gmock-more-actions.h  |  658 ++
 .../googlemock/include/gmock/gmock-more-matchers.h |  120 +
 .../googlemock/include/gmock/gmock-nice-strict.h   |  277 +
 .../googlemock/include/gmock/gmock-spec-builders.h | 2148 ++++++
 origin/googletest/googlemock/include/gmock/gmock.h |   96 +
 .../include/gmock/internal/custom/README.md        |   18 +
 .../internal/custom/gmock-generated-actions.h      |    7 +
 .../include/gmock/internal/custom/gmock-matchers.h |   37 +
 .../include/gmock/internal/custom/gmock-port.h     |   40 +
 .../include/gmock/internal/gmock-internal-utils.h  |  487 ++
 .../googlemock/include/gmock/internal/gmock-port.h |  139 +
 .../googlemock/include/gmock/internal/gmock-pp.h   |  279 +
 origin/googletest/googlemock/src/gmock-all.cc      |   46 +
 .../googlemock/src/gmock-cardinalities.cc          |  155 +
 .../googlemock/src/gmock-internal-utils.cc         |  257 +
 origin/googletest/googlemock/src/gmock-matchers.cc |  479 ++
 .../googlemock/src/gmock-spec-builders.cc          |  791 ++
 origin/googletest/googlemock/src/gmock.cc          |  225 +
 origin/googletest/googlemock/src/gmock_main.cc     |   73 +
 origin/googletest/googlemock/test/BUILD.bazel      |  118 +
 .../googlemock/test/gmock-actions_test.cc          | 2169 ++++++
 .../googlemock/test/gmock-cardinalities_test.cc    |  424 ++
 .../googlemock/test/gmock-function-mocker_test.cc  |  998 +++
 .../googlemock/test/gmock-internal-utils_test.cc   |  766 ++
 .../test/gmock-matchers-arithmetic_test.cc         | 1516 ++++
 .../test/gmock-matchers-comparisons_test.cc        | 2361 ++++++
 .../test/gmock-matchers-containers_test.cc         | 3137 ++++++++
 .../googlemock/test/gmock-matchers-misc_test.cc    | 1823 +++++
 .../googlemock/test/gmock-matchers_test.h          |  192 +
 .../googlemock/test/gmock-more-actions_test.cc     | 1550 ++++
 .../googlemock/test/gmock-nice-strict_test.cc      |  541 ++
 .../googletest/googlemock/test/gmock-port_test.cc  |   42 +
 .../googlemock/test/gmock-pp-string_test.cc        |  205 +
 origin/googletest/googlemock/test/gmock-pp_test.cc |   83 +
 .../googlemock/test/gmock-spec-builders_test.cc    | 2600 +++++++
 .../googletest/googlemock/test/gmock_all_test.cc   |   49 +
 origin/googletest/googlemock/test/gmock_ex_test.cc |   80 +
 .../googletest/googlemock/test/gmock_leak_test.py  |  113 +
 .../googletest/googlemock/test/gmock_leak_test_.cc |   99 +
 .../googletest/googlemock/test/gmock_link2_test.cc |   38 +
 .../googletest/googlemock/test/gmock_link_test.cc  |   38 +
 .../googletest/googlemock/test/gmock_link_test.h   |  684 ++
 .../googlemock/test/gmock_output_test.py           |  190 +
 .../googlemock/test/gmock_output_test_.cc          |  286 +
 .../googlemock/test/gmock_output_test_golden.txt   |  335 +
 .../googlemock/test/gmock_stress_test.cc           |  227 +
 origin/googletest/googlemock/test/gmock_test.cc    |  179 +
 .../googletest/googlemock/test/gmock_test_utils.py |   91 +
 origin/googletest/googletest/CMakeLists.txt        |  330 +
 origin/googletest/googletest/README.md             |  231 +
 origin/googletest/googletest/cmake/Config.cmake.in |    9 +
 origin/googletest/googletest/cmake/gtest.pc.in     |    9 +
 .../googletest/googletest/cmake/gtest_main.pc.in   |   10 +
 .../googletest/cmake/internal_utils.cmake          |  332 +
 origin/googletest/googletest/cmake/libgtest.la.in  |   21 +
 origin/googletest/googletest/docs/README.md        |    4 +
 .../include/gtest/gtest-assertion-result.h         |  237 +
 .../googletest/include/gtest/gtest-death-test.h    |  345 +
 .../googletest/include/gtest/gtest-matchers.h      |  923 +++
 .../googletest/include/gtest/gtest-message.h       |  252 +
 .../googletest/include/gtest/gtest-param-test.h    |  546 ++
 .../googletest/include/gtest/gtest-printers.h      | 1161 +++
 .../googletest/include/gtest/gtest-spi.h           |  250 +
 .../googletest/include/gtest/gtest-test-part.h     |  192 +
 .../googletest/include/gtest/gtest-typed-test.h    |  331 +
 origin/googletest/googletest/include/gtest/gtest.h | 2321 ++++++
 .../googletest/include/gtest/gtest_pred_impl.h     |  279 +
 .../googletest/include/gtest/gtest_prod.h          |   60 +
 .../include/gtest/internal/custom/README.md        |   44 +
 .../include/gtest/internal/custom/gtest-port.h     |   37 +
 .../include/gtest/internal/custom/gtest-printers.h |   42 +
 .../include/gtest/internal/custom/gtest.h          |   37 +
 .../gtest/internal/gtest-death-test-internal.h     |  307 +
 .../include/gtest/internal/gtest-filepath.h        |  227 +
 .../include/gtest/internal/gtest-internal.h        | 1560 ++++
 .../include/gtest/internal/gtest-param-util.h      | 1026 +++
 .../include/gtest/internal/gtest-port-arch.h       |  122 +
 .../googletest/include/gtest/internal/gtest-port.h | 2481 +++++++
 .../include/gtest/internal/gtest-string.h          |  178 +
 .../include/gtest/internal/gtest-type-util.h       |  220 +
 .../googletest/googletest/samples/prime_tables.h   |  125 +
 origin/googletest/googletest/samples/sample1.cc    |   66 +
 origin/googletest/googletest/samples/sample1.h     |   41 +
 .../googletest/samples/sample10_unittest.cc        |  138 +
 .../googletest/samples/sample1_unittest.cc         |  148 +
 origin/googletest/googletest/samples/sample2.cc    |   54 +
 origin/googletest/googletest/samples/sample2.h     |   79 +
 .../googletest/samples/sample2_unittest.cc         |  107 +
 origin/googletest/googletest/samples/sample3-inl.h |  171 +
 .../googletest/samples/sample3_unittest.cc         |  146 +
 origin/googletest/googletest/samples/sample4.cc    |   50 +
 origin/googletest/googletest/samples/sample4.h     |   53 +
 .../googletest/samples/sample4_unittest.cc         |   53 +
 .../googletest/samples/sample5_unittest.cc         |  189 +
 .../googletest/samples/sample6_unittest.cc         |  214 +
 .../googletest/samples/sample7_unittest.cc         |  113 +
 .../googletest/samples/sample8_unittest.cc         |  154 +
 .../googletest/samples/sample9_unittest.cc         |  148 +
 origin/googletest/googletest/src/gtest-all.cc      |   49 +
 .../googletest/src/gtest-assertion-result.cc       |   77 +
 .../googletest/googletest/src/gtest-death-test.cc  | 1585 ++++
 origin/googletest/googletest/src/gtest-filepath.cc |  414 ++
 .../googletest/googletest/src/gtest-internal-inl.h | 1218 +++
 origin/googletest/googletest/src/gtest-matchers.cc |   98 +
 origin/googletest/googletest/src/gtest-port.cc     | 1392 ++++
 origin/googletest/googletest/src/gtest-printers.cc |  555 ++
 .../googletest/googletest/src/gtest-test-part.cc   |  106 +
 .../googletest/googletest/src/gtest-typed-test.cc  |  108 +
 origin/googletest/googletest/src/gtest.cc          | 6906 +++++++++++++++++
 origin/googletest/googletest/src/gtest_main.cc     |   66 +
 origin/googletest/googletest/test/BUILD.bazel      |  595 ++
 .../test/googletest-break-on-failure-unittest.py   |  195 +
 .../test/googletest-break-on-failure-unittest_.cc  |   83 +
 .../test/googletest-catch-exceptions-test.py       |  315 +
 .../test/googletest-catch-exceptions-test_.cc      |  289 +
 .../googletest/test/googletest-color-test.py       |  129 +
 .../googletest/test/googletest-color-test_.cc      |   60 +
 .../googletest/test/googletest-death-test-test.cc  | 1508 ++++
 .../test/googletest-death-test_ex_test.cc          |   91 +
 .../googletest/test/googletest-env-var-test.py     |  120 +
 .../googletest/test/googletest-env-var-test_.cc    |  130 +
 .../test/googletest-failfast-unittest.py           |  461 ++
 .../test/googletest-failfast-unittest_.cc          |  166 +
 .../googletest/test/googletest-filepath-test.cc    |  671 ++
 .../googletest/test/googletest-filter-unittest.py  |  746 ++
 .../googletest/test/googletest-filter-unittest_.cc |  106 +
 .../test/googletest-global-environment-unittest.py |  141 +
 .../googletest-global-environment-unittest_.cc     |   58 +
 .../test/googletest-json-outfiles-test.py          |  180 +
 .../test/googletest-json-output-unittest.py        |  820 +++
 .../test/googletest-list-tests-unittest.py         |  225 +
 .../test/googletest-list-tests-unittest_.cc        |  143 +
 .../googletest/test/googletest-listener-test.cc    |  509 ++
 .../googletest/test/googletest-message-test.cc     |  184 +
 .../googletest/test/googletest-options-test.cc     |  222 +
 .../test/googletest-output-test-golden-lin.txt     | 1206 +++
 .../googletest/test/googletest-output-test.py      |  385 +
 .../googletest/test/googletest-output-test_.cc     | 1058 +++
 .../googletest-param-test-invalid-name1-test.py    |   63 +
 .../googletest-param-test-invalid-name1-test_.cc   |   46 +
 .../googletest-param-test-invalid-name2-test.py    |   63 +
 .../googletest-param-test-invalid-name2-test_.cc   |   52 +
 .../googletest/test/googletest-param-test-test.cc  | 1173 +++
 .../googletest/test/googletest-param-test-test.h   |   49 +
 .../googletest/test/googletest-param-test2-test.cc |   58 +
 .../googletest/test/googletest-port-test.cc        | 1301 ++++
 .../googletest/test/googletest-printers-test.cc    | 2018 +++++
 .../test/googletest-setuptestsuite-test.py         |   58 +
 .../test/googletest-setuptestsuite-test_.cc        |   44 +
 .../googletest/test/googletest-shuffle-test.py     |  378 +
 .../googletest/test/googletest-shuffle-test_.cc    |   99 +
 .../googletest/test/googletest-test-part-test.cc   |  220 +
 .../test/googletest-throw-on-failure-test.py       |  166 +
 .../test/googletest-throw-on-failure-test_.cc      |   71 +
 .../test/googletest-uninitialized-test.py          |   70 +
 .../test/googletest-uninitialized-test_.cc         |   39 +
 .../googletest/test/gtest-typed-test2_test.cc      |   39 +
 .../googletest/test/gtest-typed-test_test.cc       |  423 ++
 .../googletest/test/gtest-typed-test_test.h        |   57 +
 .../googletest/test/gtest-unittest-api_test.cc     |  328 +
 .../googletest/googletest/test/gtest_all_test.cc   |   46 +
 .../test/gtest_assert_by_exception_test.cc         |  112 +
 .../googletest/googletest/test/gtest_dirs_test.cc  |  101 +
 .../googletest/test/gtest_environment_test.cc      |  179 +
 .../googletest/googletest/test/gtest_help_test.py  |  201 +
 .../googletest/googletest/test/gtest_help_test_.cc |   44 +
 .../googletest/test/gtest_json_test_utils.py       |   64 +
 .../googletest/test/gtest_list_output_unittest.py  |  289 +
 .../googletest/test/gtest_list_output_unittest_.cc |   77 +
 .../googletest/test/gtest_main_unittest.cc         |   42 +
 .../googletest/test/gtest_no_test_unittest.cc      |   54 +
 .../googletest/test/gtest_pred_impl_unittest.cc    | 2070 ++++++
 .../googletest/test/gtest_premature_exit_test.cc   |  128 +
 .../googletest/googletest/test/gtest_prod_test.cc  |   56 +
 .../googletest/test/gtest_repeat_test.cc           |  222 +
 .../test/gtest_skip_check_output_test.py           |   60 +
 .../gtest_skip_environment_check_output_test.py    |   55 +
 .../test/gtest_skip_in_environment_setup_test.cc   |   50 +
 .../googletest/googletest/test/gtest_skip_test.cc  |   51 +
 .../googletest/test/gtest_sole_header_test.cc      |   54 +
 .../googletest/test/gtest_stress_test.cc           |  245 +
 .../test/gtest_test_macro_stack_footprint_test.cc  |   89 +
 .../googletest/googletest/test/gtest_test_utils.py |  262 +
 .../googletest/test/gtest_testbridge_test.py       |   63 +
 .../googletest/test/gtest_testbridge_test_.cc      |   42 +
 .../test/gtest_throw_on_failure_ex_test.cc         |   90 +
 .../googletest/googletest/test/gtest_unittest.cc   | 7783 ++++++++++++++++++++
 .../googletest/test/gtest_xml_outfile1_test_.cc    |   43 +
 .../googletest/test/gtest_xml_outfile2_test_.cc    |   77 +
 .../googletest/test/gtest_xml_outfiles_test.py     |  147 +
 .../googletest/test/gtest_xml_output_unittest.py   |  469 ++
 .../googletest/test/gtest_xml_output_unittest_.cc  |  197 +
 .../googletest/test/gtest_xml_test_utils.py        |  242 +
 origin/googletest/googletest/test/production.cc    |   35 +
 origin/googletest/googletest/test/production.h     |   55 +
 origin/googletest/googletest_deps.bzl              |   22 +
 246 files changed, 110718 insertions(+)

diff --cc origin/googletest/.clang-format
index 000000000000,000000000000..5b9bfe6d2242
new file mode 100644
--- /dev/null
+++ b/origin/googletest/.clang-format
@@@ -1,0 -1,0 +1,4 @@@
++# Run manually to reformat a file:
++# clang-format -i --style=file <file>
++Language:        Cpp
++BasedOnStyle:  Google
diff --cc origin/googletest/.github/ISSUE_TEMPLATE/00-bug_report.yml
index 000000000000,000000000000..586779ad2d61
new file mode 100644
--- /dev/null
+++ b/origin/googletest/.github/ISSUE_TEMPLATE/00-bug_report.yml
@@@ -1,0 -1,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 --cc origin/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml
index 000000000000,000000000000..f3bbc091e8e9
new file mode 100644
--- /dev/null
+++ b/origin/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml
@@@ -1,0 -1,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 --cc origin/googletest/.github/ISSUE_TEMPLATE/config.yml
index 000000000000,000000000000..65170d10a782
new file mode 100644
--- /dev/null
+++ b/origin/googletest/.github/ISSUE_TEMPLATE/config.yml
@@@ -1,0 -1,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 --cc origin/googletest/.github/workflows/gtest-ci.yml
index 000000000000,000000000000..03a8cc5e287b
new file mode 100644
--- /dev/null
+++ b/origin/googletest/.github/workflows/gtest-ci.yml
@@@ -1,0 -1,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 --cc origin/googletest/.gitignore
index 000000000000,000000000000..fede02f65093
new file mode 100644
--- /dev/null
+++ b/origin/googletest/.gitignore
@@@ -1,0 -1,0 +1,88 @@@
++# Ignore CI build directory
++build/
++xcuserdata
++cmake-build-debug/
++.idea/
++bazel-bin
++bazel-genfiles
++bazel-googletest
++bazel-out
++bazel-testlogs
++# python
++*.pyc
++
++# Visual Studio files
++.vs
++*.sdf
++*.opensdf
++*.VC.opendb
++*.suo
++*.user
++_ReSharper.Caches/
++Win32-Debug/
++Win32-Release/
++x64-Debug/
++x64-Release/
++
++# VSCode files
++.cache/
++cmake-variants.yaml
++
++# Ignore autoconf / automake files
++Makefile.in
++aclocal.m4
++configure
++build-aux/
++autom4te.cache/
++googletest/m4/libtool.m4
++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/
++googletest/fused-src/
++
++# macOS files
++.DS_Store
++googletest/.DS_Store
++googletest/xcode/.DS_Store
++
++# Ignore cmake generated directories and files.
++CMakeFiles
++CTestTestfile.cmake
++Makefile
++cmake_install.cmake
++googlemock/CMakeFiles
++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 --cc origin/googletest/.travis.yml
index 000000000000,000000000000..4e7413a4f9a3
new file mode 100644
--- /dev/null
+++ b/origin/googletest/.travis.yml
@@@ -1,0 -1,0 +1,81 @@@
++# Build matrix / environment variable are explained on:
++# https://docs.travis-ci.com/user/customizing-the-build/
++# This file can be validated on:
++# http://lint.travis-ci.org/
++
++sudo: false
++language: cpp
++
++# Define the matrix explicitly, manually expanding the combinations of (os, compiler, env).
++# It is more tedious, but grants us far more flexibility.
++matrix:
++  include:
++    - os: linux
++      compiler: gcc
++      sudo : true
++      install: ./ci/install-linux.sh && ./ci/log-config.sh
++      script: ./ci/build-linux-bazel.sh
++    - os: linux
++      compiler: clang
++      sudo : true
++      install: ./ci/install-linux.sh && ./ci/log-config.sh
++      script: ./ci/build-linux-bazel.sh
++    - os: linux
++      group: deprecated-2017Q4
++      compiler: gcc
++      install: ./ci/install-linux.sh && ./ci/log-config.sh
++      script: ./ci/build-linux-autotools.sh
++    - os: linux
++      group: deprecated-2017Q4
++      compiler: gcc
++      env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11
++    - os: linux
++      group: deprecated-2017Q4
++      compiler: clang
++      env: BUILD_TYPE=Debug VERBOSE=1
++    - os: linux
++      group: deprecated-2017Q4
++      compiler: clang
++      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
++    - os: linux
++      compiler: clang
++      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON
++    - os: osx
++      compiler: gcc
++      env: BUILD_TYPE=Debug VERBOSE=1
++    - os: osx
++      compiler: gcc
++      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
++    - os: osx
++      compiler: clang
++      env: BUILD_TYPE=Debug VERBOSE=1
++      if: type != pull_request
++    - os: osx
++      env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11
++      if: type != pull_request
++
++# These are the install and build (script) phases for the most common entries in the matrix.  They could be included
++# in each entry in the matrix, but that is just repetitive.
++install:
++  - ./ci/install-${TRAVIS_OS_NAME}.sh
++  - . ./ci/env-${TRAVIS_OS_NAME}.sh
++  - ./ci/log-config.sh
++
++script: ./ci/travis.sh
++
++# For sudo=false builds this section installs the necessary dependencies.
++addons:
++  apt:
++    # List of whitelisted in travis packages for ubuntu-precise can be found here:
++    #   https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
++    # List of whitelisted in travis apt-sources:
++    #   https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
++    sources:
++    - ubuntu-toolchain-r-test
++    - llvm-toolchain-precise-3.9
++    packages:
++    - g++-4.9
++    - clang-3.9
++
++notifications:
++  email: false
diff --cc origin/googletest/BUILD.bazel
index 000000000000,000000000000..b1e3b7fba89a
new file mode 100644
--- /dev/null
+++ b/origin/googletest/BUILD.bazel
@@@ -1,0 -1,0 +1,219 @@@
++# Copyright 2017 Google Inc.
++# All Rights Reserved.
++#
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions are
++# met:
++#
++#     * Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++#     * Redistributions in binary form must reproduce the above
++# copyright notice, this list of conditions and the following disclaimer
++# in the documentation and/or other materials provided with the
++# distribution.
++#     * Neither the name of Google Inc. nor the names of its
++# contributors may be used to endorse or promote products derived from
++# this software without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++#
++#   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",
++    constraint_values = ["@platforms//os:windows"],
++)
++
++config_setting(
++    name = "freebsd",
++    constraint_values = ["@platforms//os:freebsd"],
++)
++
++config_setting(
++    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(
++    name = "has_absl",
++    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",
++    srcs = glob(
++        include = [
++            "googletest/src/*.cc",
++            "googletest/src/*.h",
++            "googletest/include/gtest/**/*.h",
++            "googlemock/src/*.cc",
++            "googlemock/include/gmock/**/*.h",
++        ],
++        exclude = [
++            "googletest/src/gtest-all.cc",
++            "googletest/src/gtest_main.cc",
++            "googlemock/src/gmock-all.cc",
++            "googlemock/src/gmock_main.cc",
++        ],
++    ),
++    hdrs = glob([
++        "googletest/include/gtest/*.h",
++        "googlemock/include/gmock/*.h",
++    ]),
++    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",
++        "googletest",
++        "googletest/include",
++    ],
++    linkopts = select({
++        ":qnx": ["-lregex"],
++        ":windows": [],
++        ":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": [],
++    }),
++)
++
++cc_library(
++    name = "gtest_main",
++    srcs = ["googlemock/src/gmock_main.cc"],
++    features = select({
++        ":windows": ["windows_export_all_symbols"],
++        "//conditions:default": [],
++    }),
++    deps = [":gtest"],
++)
++
++# The following rules build samples of how to use gTest.
++cc_library(
++    name = "gtest_sample_lib",
++    srcs = [
++        "googletest/samples/sample1.cc",
++        "googletest/samples/sample2.cc",
++        "googletest/samples/sample4.cc",
++    ],
++    hdrs = [
++        "googletest/samples/prime_tables.h",
++        "googletest/samples/sample1.h",
++        "googletest/samples/sample2.h",
++        "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)
++    srcs = [
++        "googletest/samples/sample1_unittest.cc",
++        "googletest/samples/sample2_unittest.cc",
++        "googletest/samples/sample3_unittest.cc",
++        "googletest/samples/sample4_unittest.cc",
++        "googletest/samples/sample5_unittest.cc",
++        "googletest/samples/sample6_unittest.cc",
++        "googletest/samples/sample7_unittest.cc",
++        "googletest/samples/sample8_unittest.cc",
++    ],
++    linkstatic = 0,
++    deps = [
++        "gtest_sample_lib",
++        ":gtest_main",
++    ],
++)
++
++cc_test(
++    name = "sample9_unittest",
++    size = "small",
++    srcs = ["googletest/samples/sample9_unittest.cc"],
++    deps = [":gtest"],
++)
++
++cc_test(
++    name = "sample10_unittest",
++    size = "small",
++    srcs = ["googletest/samples/sample10_unittest.cc"],
++    deps = [":gtest"],
++)
diff --cc origin/googletest/CMakeLists.txt
index 000000000000,000000000000..089ac987fb60
new file mode 100644
--- /dev/null
+++ b/origin/googletest/CMakeLists.txt
@@@ -1,0 -1,0 +1,27 @@@
++# Note: CMake support is community-based. The maintainers do not use CMake
++# internally.
++
++cmake_minimum_required(VERSION 3.13)
++
++project(googletest-distribution)
++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()
++
++include(CMakeDependentOption)
++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 )
++else()
++  add_subdirectory( googletest )
++endif()
diff --cc origin/googletest/CONTRIBUTING.md
index 000000000000,000000000000..8bed14b2666d
new file mode 100644
--- /dev/null
+++ b/origin/googletest/CONTRIBUTING.md
@@@ -1,0 -1,0 +1,141 @@@
++# How to become a contributor and submit your own code
++
++## Contributor License Agreements
++
++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
++    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,
++    then you'll need to sign a
++    [corporate CLA](https://developers.google.com/open-source/cla/corporate).
++
++Follow either of the two links above to access the appropriate CLA and
++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, 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/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 proposal may not be the best choice. There's never a reason to
++be antagonistic or dismissive toward anyone who is sincerely trying to
++contribute to a discussion.
++
++Sure, C++ testing is serious business and all that, but it's also a lot of fun.
++Let's keep it that way. Let's strive to be one of the friendliest communities in
++all of open source.
++
++As always, discuss Google Test in the official GoogleTest discussion group. You
++don't have to actually submit code in order to sign up. Your participation
++itself is a valuable contribution.
++
++## Style
++
++To keep the source consistent, readable, diffable and easy to merge, we use a
++fairly rigid coding style, as defined by the
++[google-styleguide](https://github.com/google/styleguide) project. All patches
++will be expected to conform to the style outlined
++[here](https://google.github.io/styleguide/cppguide.html). Use
++[.clang-format](https://github.com/google/googletest/blob/main/.clang-format) to
++check your formatting.
++
++## Requirements for Contributors
++
++If you plan to contribute a patch, you need to build Google Test, Google Mock,
++and their own tests from a git checkout, which has further requirements:
++
++*   [Python](https://www.python.org/) v3.6 or newer (for running some of the
++    tests and re-generating certain source files from templates)
++*   [CMake](https://cmake.org/) v2.8.12 or newer
++
++## Developing Google Test and Google Mock
++
++This section discusses how to make your own changes to the Google Test project.
++
++### Testing Google Test and Google Mock Themselves
++
++To make sure your changes work as intended and don't break existing
++functionality, you'll want to compile and run Google Test and GoogleMock's own
*** 106516 LINES SKIPPED ***