Skip to content

Commit

Permalink
#1807: use gtest 1.11.0
Browse files Browse the repository at this point in the history
  • Loading branch information
stmcgovern committed May 25, 2022
1 parent 152c895 commit 7d04d2f
Show file tree
Hide file tree
Showing 44 changed files with 2,995 additions and 5,107 deletions.
9 changes: 5 additions & 4 deletions tests/extern/fetch-googletest.sh
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
#! /bin/sh

GTEST_BRANCHTAG=release-1.10.0
GTEST_BRANCHTAG=release-1.11.0

# Fetch googletest from Github.
# GitHub does not support git-archive - however this endpoint works (MAR 2020)
mkdir -p googletest && rm -fr googletest/*
curl -L https://github.com/google/googletest/tarball/$GTEST_BRANCHTAG \
| tar xf - -C googletest --strip-components 1
curl -L https://github.com/google/googletest/archive/refs/tags/$GTEST_BRANCHTAG.tar.gz \
| tar zxf - -C googletest --strip-components 1

# Remove googletest artifacts - set cmake BUILD_GMOCK=0, don't install, don't build test.
pushd googletest
rm -f .[!.]* BUILD.bazel WORKSPACE appveyor.yml library.json platformio.ini
rm -fr .[!.]* BUILD.bazel WORKSPACE appveyor.yml library.json platformio.ini
rm -fr ci/
rm -fr googlemock/
rm -fr googletest/test/ googletest/samples/ googletest/docs/ googletest/scripts/
rm -fr docs
popd
12 changes: 4 additions & 8 deletions tests/extern/googletest/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
# Note: CMake support is community-based. The maintainers do not use CMake
# internally.

cmake_minimum_required(VERSION 3.17)
cmake_minimum_required(VERSION 2.8.12)

if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
endif (POLICY CMP0048)

project(googletest-distribution)
set(GOOGLETEST_VERSION 1.10.0)
set(GOOGLETEST_VERSION 1.11.0)

if (CMAKE_VERSION VERSION_LESS "3.1")
add_definitions(-std=c++11)
else()
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT CYGWIN)
if (CMAKE_VERSION VERSION_GREATER "3.0.2")
if(NOT CYGWIN AND NOT MSYS AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL QNX)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()
endif()
Expand Down
18 changes: 3 additions & 15 deletions tests/extern/googletest/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ 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).
[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.
Expand Down Expand Up @@ -80,7 +80,7 @@ fairly rigid coding style, as defined by the
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/master/.clang-format)
to check your formatting
to check your formatting.

## Requirements for Contributors

Expand All @@ -89,7 +89,7 @@ and their own tests from a git checkout, which has further requirements:

* [Python](https://www.python.org/) v2.3 or newer (for running some of the
tests and re-generating certain source files from templates)
* [CMake](https://cmake.org/) v2.6.4 or newer
* [CMake](https://cmake.org/) v2.8.12 or newer

## Developing Google Test and Google Mock

Expand Down Expand Up @@ -128,15 +128,3 @@ To run the tests, do
make test

All tests should pass.

### Regenerating Source Files

Some of Google Test's source files are generated from templates (not in the C++
sense) using a script. For example, the file
include/gtest/internal/gtest-type-util.h.pump is used to generate
gtest-type-util.h in the same directory.

You don't need to worry about regenerating the source files unless you need to
modify them. You would then modify the corresponding `.pump` files and run the
'[pump.py](googletest/scripts/pump.py)' generator script. See the
[Pump Manual](googletest/docs/pump_manual.md).
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,59 @@

Ajay Joshi <[email protected]>
Balázs Dán <[email protected]>
Benoit Sigoure <[email protected]>
Bharat Mediratta <[email protected]>
Bogdan Piloca <[email protected]>
Chandler Carruth <[email protected]>
Chris Prince <[email protected]>
Chris Taylor <[email protected]>
Dan Egnor <[email protected]>
Dave MacLachlan <[email protected]>
David Anderson <[email protected]>
Dean Sturtevant
Eric Roman <[email protected]>
Gene Volovich <[email protected]>
Hady Zalek <[email protected]>
Hal Burch <[email protected]>
Jeffrey Yasskin <[email protected]>
Jim Keller <[email protected]>
Joe Walnes <[email protected]>
Jon Wray <[email protected]>
Jói Sigurðsson <[email protected]>
Keir Mierle <[email protected]>
Keith Ray <[email protected]>
Kenton Varda <[email protected]>
Kostya Serebryany <[email protected]>
Krystian Kuzniarek <[email protected]>
Lev Makhlis
Manuel Klimek <[email protected]>
Mario Tanev <[email protected]>
Mark Paskin
Markus Heule <[email protected]>
Matthew Simmons <[email protected]>
Mika Raento <[email protected]>
Mike Bland <[email protected]>
Miklós Fazekas <[email protected]>
Neal Norwitz <[email protected]>
Nermin Ozkiranartli <[email protected]>
Owen Carlsen <[email protected]>
Paneendra Ba <[email protected]>
Pasi Valminen <[email protected]>
Patrick Hanna <[email protected]>
Patrick Riley <[email protected]>
Paul Menage <[email protected]>
Peter Kaminski <[email protected]>
Piotr Kaminski <[email protected]>
Preston Jackson <[email protected]>
Rainer Klaffenboeck <[email protected]>
Russ Cox <[email protected]>
Russ Rufer <[email protected]>
Sean Mcafee <[email protected]>
Sigurður Ásgeirsson <[email protected]>
Sverre Sundsdal <[email protected]>
Takeshi Yoshino <[email protected]>
Tracy Bialik <[email protected]>
Vadim Berman <[email protected]>
Vlad Losev <[email protected]>
Wolfgang Klier <[email protected]>
Zhanyong Wan <[email protected]>
134 changes: 70 additions & 64 deletions tests/extern/googletest/README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,44 @@
# Google Test
# GoogleTest

#### OSS Builds Status:
### Announcements

[![Build Status](https://api.travis-ci.org/google/googletest.svg?branch=master)](https://travis-ci.org/google/googletest)
[![Build status](https://ci.appveyor.com/api/projects/status/4o38plt0xbo1ubc8/branch/master?svg=true)](https://ci.appveyor.com/project/GoogleTestAppVeyor/googletest/branch/master)
#### Live at Head

### Future Plans
GoogleTest now follows the
[Abseil Live at Head philosophy](https://abseil.io/about/philosophy#upgrade-support).
We recommend using the latest commit in the `master` branch in your projects.

#### 1.8.x Release:
#### Documentation Updates

[the 1.8.x](https://github.com/google/googletest/releases/tag/release-1.8.1) is
the last release that works with pre-C++11 compilers. The 1.8.x will not accept
any requests for any new features and any bugfix requests will only be accepted
if proven "critical"
Our documentation is now live on GitHub Pages at
https://google.github.io/googletest/. We recommend browsing the documentation on
GitHub Pages rather than directly in the repository.

#### Post 1.8.x:
#### Release 1.10.x

On-going work to improve/cleanup/pay technical debt. When this work is completed
there will be a 1.9.x tagged release
[Release 1.10.x](https://github.com/google/googletest/releases/tag/release-1.10.0)
is now available.

#### Post 1.9.x
#### Coming Soon

Post 1.9.x googletest will follow
[Abseil Live at Head philosophy](https://abseil.io/about/philosophy)
* We are planning to take a dependency on
[Abseil](https://github.com/abseil/abseil-cpp).
* More documentation improvements are planned.

## Welcome to **Google Test**, Google's C++ test framework!
## Welcome to **GoogleTest**, Google's C++ test framework!

This repository is a merger of the formerly separate GoogleTest and GoogleMock
projects. These were so closely related that it makes sense to maintain and
release them together.

Please subscribe to the mailing list at [email protected] for
questions, discussions, and development.
### Getting Started

### Getting started:
See the [GoogleTest User's Guide](https://google.github.io/googletest/) for
documentation. We recommend starting with the
[GoogleTest Primer](https://google.github.io/googletest/primer.html).

The information for **Google Test** is available in the
[Google Test Primer](googletest/docs/primer.md) documentation.

**Google Mock** is an extension to Google Test for writing and using C++ mock
classes. See the separate [Google Mock documentation](googlemock/README.md).

More detailed documentation for googletest is in its interior
[googletest/README.md](googletest/README.md) file.
More information about building GoogleTest can be found at
[googletest/README.md](googletest/README.md).

## Features

Expand All @@ -57,22 +53,45 @@ More detailed documentation for googletest is in its interior
* Various options for running the tests.
* XML test report generation.

## Platforms
## Supported Platforms

GoogleTest requires a codebase and compiler compliant with the C++11 standard or
newer.

The GoogleTest code is officially supported on the following platforms.
Operating systems or tools not listed below are community-supported. For
community-supported platforms, patches that do not complicate the code may be
considered.

Google test has been used on a variety of platforms:
If you notice any problems on your platform, please file an issue on the
[GoogleTest GitHub Issue Tracker](https://github.com/google/googletest/issues).
Pull requests containing fixes are welcome!

### Operating Systems

* Linux
* Mac OS X
* macOS
* Windows
* Cygwin
* MinGW
* Windows Mobile
* Symbian
* PlatformIO

## Who Is Using Google Test?
### Compilers

* gcc 5.0+
* clang 5.0+
* MSVC 2015+

**macOS users:** Xcode 9.3+ provides clang 5.0+.

### Build Systems

In addition to many internal projects at Google, Google Test is also used by the
* [Bazel](https://bazel.build/)
* [CMake](https://cmake.org/)

**Note:** Bazel is the build system used by the team internally and in tests.
CMake is supported on a best-effort basis and by the community.

## Who Is Using GoogleTest?

In addition to many internal projects at Google, GoogleTest is also used by the
following notable projects:

* The [Chromium projects](http://www.chromium.org/) (behind the Chrome browser
Expand All @@ -81,54 +100,41 @@ following notable projects:
* [Protocol Buffers](https://github.com/google/protobuf), Google's data
interchange format.
* The [OpenCV](http://opencv.org/) computer vision library.
* [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn): header only,
dependency-free deep learning framework in C++11.

## Related Open Source Projects

[GTest Runner](https://github.com/nholthaus/gtest-runner) is a Qt5 based
automated test-runner and Graphical User Interface with powerful features for
Windows and Linux platforms.

[Google Test UI](https://github.com/ospector/gtest-gbar) is test runner that
[GoogleTest UI](https://github.com/ospector/gtest-gbar) is a test runner that
runs your test binary, allows you to track its progress via a progress bar, and
displays a list of test failures. Clicking on one shows failure text. Google
Test UI is written in C#.

[GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event
listener for Google Test that implements the
listener for GoogleTest that implements the
[TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test
result output. If your test runner understands TAP, you may find it useful.

[gtest-parallel](https://github.com/google/gtest-parallel) is a test runner that
runs tests from your binary in parallel to provide significant speed-up.

[GoogleTest Adapter](https://marketplace.visualstudio.com/items?itemName=DavidSchuldenfrei.gtest-adapter)
is a VS Code extension allowing to view Google Tests in a tree view, and
run/debug your tests.

## Requirements

Google Test is designed to have fairly minimal requirements to build and use
with your projects, but there are some. If you notice any problems on your
platform, please notify
[[email protected]](https://groups.google.com/forum/#!forum/googletestframework).
Patches for fixing them are welcome!

### Build Requirements

These are the base requirements to build and use Google Test from a source
package:
is a VS Code extension allowing to view GoogleTest in a tree view, and run/debug
your tests.

* [Bazel](https://bazel.build/) or [CMake](https://cmake.org/). NOTE: Bazel is
the build system that googletest is using internally and tests against.
CMake is community-supported.
[C++ TestMate](https://github.com/matepek/vscode-catch2-test-adapter) is a VS
Code extension allowing to view GoogleTest in a tree view, and run/debug your
tests.

* a C++11-standard-compliant compiler
[Cornichon](https://pypi.org/project/cornichon/) is a small Gherkin DSL parser
that generates stub code for GoogleTest.

## Contributing change
## Contributing Changes

Please read the [`CONTRIBUTING.md`](CONTRIBUTING.md) for details on how to
contribute to this project.
Please read
[`CONTRIBUTING.md`](https://github.com/google/googletest/blob/master/CONTRIBUTING.md)
for details on how to contribute to this project.

Happy testing!
Loading

0 comments on commit 7d04d2f

Please sign in to comment.