• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

googlemock/H03-May-2022-65,31747,292

googletest/H03-May-2022-86,92459,173

.gitignoreH A D29-Sep-202135 32

.travis.ymlH A D29-Sep-20211.7 KiB4745

README.mdH A D29-Sep-20214.9 KiB144104

appveyor.ymlH A D29-Sep-20211.4 KiB7260

travis.shH A D29-Sep-2021348 1613

README.md

1
2# Google Test #
3Release 1.8.0
4
5[![Build Status](https://travis-ci.org/google/googletest.svg?branch=master)](https://travis-ci.org/google/googletest)
6[![Build status](https://ci.appveyor.com/api/projects/status/4o38plt0xbo1ubc8/branch/master?svg=true)](https://ci.appveyor.com/project/BillyDonahue/googletest/branch/master)
7
8Welcome to **Google Test**, Google's C++ test framework!
9
10This repository is a merger of the formerly separate GoogleTest and
11GoogleMock projects. These were so closely related that it makes sense to
12maintain and release them together.
13
14Please see the project page above for more information as well as the
15mailing list for questions, discussions, and development.  There is
16also an IRC channel on OFTC (irc.oftc.net) #gtest available.  Please
17join us!
18
19Getting started information for **Google Test** is available in the
20[Google Test Primer](googletest/docs/Primer.md) documentation.
21
22**Google Mock** is an extension to Google Test for writing and using C++ mock
23classes.  See the separate [Google Mock documentation](googlemock/README.md).
24
25More detailed documentation for googletest (including build instructions) are
26in its interior [googletest/README.md](googletest/README.md) file.
27
28## Features ##
29
30  * An [XUnit](https://en.wikipedia.org/wiki/XUnit) test framework.
31  * Test discovery.
32  * A rich set of assertions.
33  * User-defined assertions.
34  * Death tests.
35  * Fatal and non-fatal failures.
36  * Value-parameterized tests.
37  * Type-parameterized tests.
38  * Various options for running the tests.
39  * XML test report generation.
40
41## Platforms ##
42
43Google test has been used on a variety of platforms:
44
45  * Linux
46  * Mac OS X
47  * Windows
48  * Cygwin
49  * MinGW
50  * Windows Mobile
51  * Symbian
52
53## Who Is Using Google Test? ##
54
55In addition to many internal projects at Google, Google Test is also used by
56the following notable projects:
57
58  * The [Chromium projects](http://www.chromium.org/) (behind the Chrome
59    browser and Chrome OS).
60  * The [LLVM](http://llvm.org/) compiler.
61  * [Protocol Buffers](https://github.com/google/protobuf), Google's data
62    interchange format.
63  * The [OpenCV](http://opencv.org/) computer vision library.
64
65## Related Open Source Projects ##
66
67[Google Test UI](https://github.com/ospector/gtest-gbar) is test runner that runs
68your test binary, allows you to track its progress via a progress bar, and
69displays a list of test failures. Clicking on one shows failure text. Google
70Test UI is written in C#.
71
72[GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event
73listener for Google Test that implements the
74[TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test
75result output. If your test runner understands TAP, you may find it useful.
76
77## Requirements ##
78
79Google Test is designed to have fairly minimal requirements to build
80and use with your projects, but there are some.  Currently, we support
81Linux, Windows, Mac OS X, and Cygwin.  We will also make our best
82effort to support other platforms (e.g. Solaris, AIX, and z/OS).
83However, since core members of the Google Test project have no access
84to these platforms, Google Test may have outstanding issues there.  If
85you notice any problems on your platform, please notify
86<googletestframework@googlegroups.com>. Patches for fixing them are
87even more welcome!
88
89### Linux Requirements ###
90
91These are the base requirements to build and use Google Test from a source
92package (as described below):
93
94  * GNU-compatible Make or gmake
95  * POSIX-standard shell
96  * POSIX(-2) Regular Expressions (regex.h)
97  * A C++98-standard-compliant compiler
98
99### Windows Requirements ###
100
101  * Microsoft Visual C++ v7.1 or newer
102
103### Cygwin Requirements ###
104
105  * Cygwin v1.5.25-14 or newer
106
107### Mac OS X Requirements ###
108
109  * Mac OS X v10.4 Tiger or newer
110  * Xcode Developer Tools
111
112### Requirements for Contributors ###
113
114We welcome patches.  If you plan to contribute a patch, you need to
115build Google Test and its own tests from a git checkout (described
116below), which has further requirements:
117
118  * [Python](https://www.python.org/) v2.3 or newer (for running some of
119    the tests and re-generating certain source files from templates)
120  * [CMake](https://cmake.org/) v2.6.4 or newer
121
122## Regenerating Source Files ##
123
124Some of Google Test's source files are generated from templates (not
125in the C++ sense) using a script.
126For example, the
127file include/gtest/internal/gtest-type-util.h.pump is used to generate
128gtest-type-util.h in the same directory.
129
130You don't need to worry about regenerating the source files
131unless you need to modify them.  You would then modify the
132corresponding `.pump` files and run the '[pump.py](googletest/scripts/pump.py)'
133generator script.  See the [Pump Manual](googletest/docs/PumpManual.md).
134
135### Contributing Code ###
136
137We welcome patches.  Please read the
138[Developer's Guide](googletest/docs/DevGuide.md)
139for how you can contribute. In particular, make sure you have signed
140the Contributor License Agreement, or we won't be able to accept the
141patch.
142
143Happy testing!
144