Warning, /JETSCAPE/external_packages/googletest/README.md is written in an unsupported language. File is not indexed.
0001
0002 # Google Test #
0003
0004 [](https://travis-ci.org/google/googletest)
0005 [](https://ci.appveyor.com/project/BillyDonahue/googletest/branch/master)
0006
0007 Welcome to **Google Test**, Google's C++ test framework!
0008
0009 This repository is a merger of the formerly separate GoogleTest and
0010 GoogleMock projects. These were so closely related that it makes sense to
0011 maintain and release them together.
0012
0013 Please see the project page above for more information as well as the
0014 mailing list for questions, discussions, and development. There is
0015 also an IRC channel on OFTC (irc.oftc.net) #gtest available. Please
0016 join us!
0017
0018 Getting started information for **Google Test** is available in the
0019 [Google Test Primer](googletest/docs/Primer.md) documentation.
0020
0021 **Google Mock** is an extension to Google Test for writing and using C++ mock
0022 classes. See the separate [Google Mock documentation](googlemock/README.md).
0023
0024 More detailed documentation for googletest (including build instructions) are
0025 in its interior [googletest/README.md](googletest/README.md) file.
0026
0027 ## Features ##
0028
0029 * An [XUnit](https://en.wikipedia.org/wiki/XUnit) test framework.
0030 * Test discovery.
0031 * A rich set of assertions.
0032 * User-defined assertions.
0033 * Death tests.
0034 * Fatal and non-fatal failures.
0035 * Value-parameterized tests.
0036 * Type-parameterized tests.
0037 * Various options for running the tests.
0038 * XML test report generation.
0039
0040 ## Platforms ##
0041
0042 Google test has been used on a variety of platforms:
0043
0044 * Linux
0045 * Mac OS X
0046 * Windows
0047 * Cygwin
0048 * MinGW
0049 * Windows Mobile
0050 * Symbian
0051
0052 ## Who Is Using Google Test? ##
0053
0054 In addition to many internal projects at Google, Google Test is also used by
0055 the following notable projects:
0056
0057 * The [Chromium projects](http://www.chromium.org/) (behind the Chrome
0058 browser and Chrome OS).
0059 * The [LLVM](http://llvm.org/) compiler.
0060 * [Protocol Buffers](https://github.com/google/protobuf), Google's data
0061 interchange format.
0062 * The [OpenCV](http://opencv.org/) computer vision library.
0063
0064 ## Related Open Source Projects ##
0065
0066 [Google Test UI](https://github.com/ospector/gtest-gbar) is test runner that runs
0067 your test binary, allows you to track its progress via a progress bar, and
0068 displays a list of test failures. Clicking on one shows failure text. Google
0069 Test UI is written in C#.
0070
0071 [GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event
0072 listener for Google Test that implements the
0073 [TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test
0074 result output. If your test runner understands TAP, you may find it useful.
0075
0076 ## Requirements ##
0077
0078 Google Test is designed to have fairly minimal requirements to build
0079 and use with your projects, but there are some. Currently, we support
0080 Linux, Windows, Mac OS X, and Cygwin. We will also make our best
0081 effort to support other platforms (e.g. Solaris, AIX, and z/OS).
0082 However, since core members of the Google Test project have no access
0083 to these platforms, Google Test may have outstanding issues there. If
0084 you notice any problems on your platform, please notify
0085 <googletestframework@googlegroups.com>. Patches for fixing them are
0086 even more welcome!
0087
0088 ### Linux Requirements ###
0089
0090 These are the base requirements to build and use Google Test from a source
0091 package (as described below):
0092
0093 * GNU-compatible Make or gmake
0094 * POSIX-standard shell
0095 * POSIX(-2) Regular Expressions (regex.h)
0096 * A C++98-standard-compliant compiler
0097
0098 ### Windows Requirements ###
0099
0100 * Microsoft Visual C++ v7.1 or newer
0101
0102 ### Cygwin Requirements ###
0103
0104 * Cygwin v1.5.25-14 or newer
0105
0106 ### Mac OS X Requirements ###
0107
0108 * Mac OS X v10.4 Tiger or newer
0109 * Xcode Developer Tools
0110
0111 ### Requirements for Contributors ###
0112
0113 We welcome patches. If you plan to contribute a patch, you need to
0114 build Google Test and its own tests from a git checkout (described
0115 below), which has further requirements:
0116
0117 * [Python](https://www.python.org/) v2.3 or newer (for running some of
0118 the tests and re-generating certain source files from templates)
0119 * [CMake](https://cmake.org/) v2.6.4 or newer
0120
0121 ## Regenerating Source Files ##
0122
0123 Some of Google Test's source files are generated from templates (not
0124 in the C++ sense) using a script.
0125 For example, the
0126 file include/gtest/internal/gtest-type-util.h.pump is used to generate
0127 gtest-type-util.h in the same directory.
0128
0129 You don't need to worry about regenerating the source files
0130 unless you need to modify them. You would then modify the
0131 corresponding `.pump` files and run the '[pump.py](googletest/scripts/pump.py)'
0132 generator script. See the [Pump Manual](googletest/docs/PumpManual.md).
0133
0134 ### Contributing Code ###
0135
0136 We welcome patches. Please read the
0137 [Developer's Guide](googletest/docs/DevGuide.md)
0138 for how you can contribute. In particular, make sure you have signed
0139 the Contributor License Agreement, or we won't be able to accept the
0140 patch.
0141
0142 Happy testing!