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

..21-Jan-2018-

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

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

.gitignoreH A D21-Jan-201835 32

.travis.ymlH A D21-Jan-20181.7 KiB4745

README.mdH A D21-Jan-20184.9 KiB143103

appveyor.ymlH A D21-Jan-20181.4 KiB7260

travis.shH A D21-Jan-2018348 1613

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