Cleanup: move public doc-strings into headers for 'blenloader'
[blender.git] / extern / gtest / README.md
1
2 # Google Test #
3
4 [![Build Status](https://travis-ci.org/google/googletest.svg?branch=master)](https://travis-ci.org/google/googletest)
5 [![Build status](https://ci.appveyor.com/api/projects/status/4o38plt0xbo1ubc8/branch/master?svg=true)](https://ci.appveyor.com/project/GoogleTestAppVeyor/googletest/branch/master)
6
7 **Future Plans**:
8 * 1.8.x Release - the 1.8.x will be 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"
9 * Post 1.8.x - work to improve/cleanup/pay technical debt. When this work is completed there will be a 1.9.x tagged release
10 * Post 1.9.x googletest will follow [Abseil Live at Head philosophy](https://abseil.io/about/philosophy)
11
12
13 Welcome to **Google Test**, Google's C++ test framework!
14
15 This repository is a merger of the formerly separate GoogleTest and
16 GoogleMock projects. These were so closely related that it makes sense to
17 maintain and release them together.
18
19 Please see the project page above for more information as well as the
20 mailing list for questions, discussions, and development.  There is
21 also an IRC channel on [OFTC](https://webchat.oftc.net/) (irc.oftc.net) #gtest available.  Please
22 join us!
23
24 Getting started information for **Google Test** is available in the
25 [Google Test Primer](googletest/docs/primer.md) documentation.
26
27 **Google Mock** is an extension to Google Test for writing and using C++ mock
28 classes.  See the separate [Google Mock documentation](googlemock/README.md).
29
30 More detailed documentation for googletest (including build instructions) are
31 in its interior [googletest/README.md](googletest/README.md) file.
32
33 ## Features ##
34
35   * An [xUnit](https://en.wikipedia.org/wiki/XUnit) test framework.
36   * Test discovery.
37   * A rich set of assertions.
38   * User-defined assertions.
39   * Death tests.
40   * Fatal and non-fatal failures.
41   * Value-parameterized tests.
42   * Type-parameterized tests.
43   * Various options for running the tests.
44   * XML test report generation.
45
46 ## Platforms ##
47
48 Google test has been used on a variety of platforms:
49
50   * Linux
51   * Mac OS X
52   * Windows
53   * Cygwin
54   * MinGW
55   * Windows Mobile
56   * Symbian
57
58 ## Who Is Using Google Test? ##
59
60 In addition to many internal projects at Google, Google Test is also used by
61 the following notable projects:
62
63   * The [Chromium projects](http://www.chromium.org/) (behind the Chrome
64     browser and Chrome OS).
65   * The [LLVM](http://llvm.org/) compiler.
66   * [Protocol Buffers](https://github.com/google/protobuf), Google's data
67     interchange format.
68   * The [OpenCV](http://opencv.org/) computer vision library.
69   * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn): header only, dependency-free deep learning framework in C++11.
70
71 ## Related Open Source Projects ##
72
73 [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.
74
75 [Google Test UI](https://github.com/ospector/gtest-gbar) is test runner that runs
76 your test binary, allows you to track its progress via a progress bar, and
77 displays a list of test failures. Clicking on one shows failure text. Google
78 Test UI is written in C#.
79
80 [GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event
81 listener for Google Test that implements the
82 [TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test
83 result output. If your test runner understands TAP, you may find it useful.
84
85 [gtest-parallel](https://github.com/google/gtest-parallel) is a test runner that
86 runs tests from your binary in parallel to provide significant speed-up.
87
88 [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.
89
90 ## Requirements ##
91
92 Google Test is designed to have fairly minimal requirements to build
93 and use with your projects, but there are some.  Currently, we support
94 Linux, Windows, Mac OS X, and Cygwin.  We will also make our best
95 effort to support other platforms (e.g. Solaris, AIX, and z/OS).
96 However, since core members of the Google Test project have no access
97 to these platforms, Google Test may have outstanding issues there.  If
98 you notice any problems on your platform, please notify
99 [googletestframework@googlegroups.com](https://groups.google.com/forum/#!forum/googletestframework). Patches for fixing them are
100 even more welcome!
101
102 ### Linux Requirements ###
103
104 These are the base requirements to build and use Google Test from a source
105 package (as described below):
106
107   * GNU-compatible Make or gmake
108   * POSIX-standard shell
109   * POSIX(-2) Regular Expressions (regex.h)
110   * A C++98-standard-compliant compiler
111
112 ### Windows Requirements ###
113
114   * Microsoft Visual C++ 2015 or newer
115
116 ### Cygwin Requirements ###
117
118   * Cygwin v1.5.25-14 or newer
119
120 ### Mac OS X Requirements ###
121
122   * Mac OS X v10.4 Tiger or newer
123   * Xcode Developer Tools
124
125 ## Contributing change
126
127 Please read the [`CONTRIBUTING.md`](CONTRIBUTING.md) for details on
128 how to contribute to this project.
129
130 Happy testing!