1# GoogleTest 2 3### Announcements 4 5#### Live at Head 6 7GoogleTest now follows the 8[Abseil Live at Head philosophy](https://abseil.io/about/philosophy#upgrade-support). 9We recommend using the latest commit in the `master` branch in your projects. 10 11#### Documentation Updates 12 13Our documentation is now live on GitHub Pages at 14https://google.github.io/googletest/. We recommend browsing the documentation on 15GitHub Pages rather than directly in the repository. 16 17#### Release 1.10.x 18 19[Release 1.10.x](https://github.com/google/googletest/releases/tag/release-1.10.0) 20is now available. 21 22#### Coming Soon 23 24* We are planning to take a dependency on 25 [Abseil](https://github.com/abseil/abseil-cpp). 26* More documentation improvements are planned. 27 28## Welcome to **GoogleTest**, Google's C++ test framework! 29 30This repository is a merger of the formerly separate GoogleTest and GoogleMock 31projects. These were so closely related that it makes sense to maintain and 32release them together. 33 34### Getting Started 35 36See the [GoogleTest User's Guide](https://google.github.io/googletest/) for 37documentation. We recommend starting with the 38[GoogleTest Primer](https://google.github.io/googletest/primer.html). 39 40More information about building GoogleTest can be found at 41[googletest/README.md](googletest/README.md). 42 43## Features 44 45* An [xUnit](https://en.wikipedia.org/wiki/XUnit) test framework. 46* Test discovery. 47* A rich set of assertions. 48* User-defined assertions. 49* Death tests. 50* Fatal and non-fatal failures. 51* Value-parameterized tests. 52* Type-parameterized tests. 53* Various options for running the tests. 54* XML test report generation. 55 56## Supported Platforms 57 58GoogleTest requires a codebase and compiler compliant with the C++11 standard or 59newer. 60 61The GoogleTest code is officially supported on the following platforms. 62Operating systems or tools not listed below are community-supported. For 63community-supported platforms, patches that do not complicate the code may be 64considered. 65 66If you notice any problems on your platform, please file an issue on the 67[GoogleTest GitHub Issue Tracker](https://github.com/google/googletest/issues). 68Pull requests containing fixes are welcome! 69 70### Operating Systems 71 72* Linux 73* macOS 74* Windows 75 76### Compilers 77 78* gcc 5.0+ 79* clang 5.0+ 80* MSVC 2015+ 81 82**macOS users:** Xcode 9.3+ provides clang 5.0+. 83 84### Build Systems 85 86* [Bazel](https://bazel.build/) 87* [CMake](https://cmake.org/) 88 89**Note:** Bazel is the build system used by the team internally and in tests. 90CMake is supported on a best-effort basis and by the community. 91 92## Who Is Using GoogleTest? 93 94In addition to many internal projects at Google, GoogleTest is also used by the 95following notable projects: 96 97* The [Chromium projects](http://www.chromium.org/) (behind the Chrome browser 98 and Chrome OS). 99* The [LLVM](http://llvm.org/) compiler. 100* [Protocol Buffers](https://github.com/google/protobuf), Google's data 101 interchange format. 102* The [OpenCV](http://opencv.org/) computer vision library. 103 104## Related Open Source Projects 105 106[GTest Runner](https://github.com/nholthaus/gtest-runner) is a Qt5 based 107automated test-runner and Graphical User Interface with powerful features for 108Windows and Linux platforms. 109 110[GoogleTest UI](https://github.com/ospector/gtest-gbar) is a test runner that 111runs your test binary, allows you to track its progress via a progress bar, and 112displays a list of test failures. Clicking on one shows failure text. Google 113Test UI is written in C#. 114 115[GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event 116listener for GoogleTest that implements the 117[TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test 118result output. If your test runner understands TAP, you may find it useful. 119 120[gtest-parallel](https://github.com/google/gtest-parallel) is a test runner that 121runs tests from your binary in parallel to provide significant speed-up. 122 123[GoogleTest Adapter](https://marketplace.visualstudio.com/items?itemName=DavidSchuldenfrei.gtest-adapter) 124is a VS Code extension allowing to view GoogleTest in a tree view, and run/debug 125your tests. 126 127[C++ TestMate](https://github.com/matepek/vscode-catch2-test-adapter) is a VS 128Code extension allowing to view GoogleTest in a tree view, and run/debug your 129tests. 130 131[Cornichon](https://pypi.org/project/cornichon/) is a small Gherkin DSL parser 132that generates stub code for GoogleTest. 133 134## Contributing Changes 135 136Please read 137[`CONTRIBUTING.md`](https://github.com/google/googletest/blob/master/CONTRIBUTING.md) 138for details on how to contribute to this project. 139 140Happy testing! 141