diff options
-rw-r--r-- | README.md | 115 | ||||
-rw-r--r-- | googlemock/README.md | 61 | ||||
-rw-r--r-- | googletest/README.md | 100 |
3 files changed, 122 insertions, 154 deletions
@@ -1,5 +1,5 @@ -## Google Test ## +# Google Test # Welcome to **Google Test**, Google's C++ test framework! @@ -7,18 +7,29 @@ This repository is a merger of the formerly separate GoogleTest and GoogleMock projects. These were so closely related that it makes sense to maintain and release them together. -Google Test conforms to the [XUnit](https://en.wikipedia.org/wiki/XUnit) -test framework pattern. It features: +Please see the project page above for more information as well as the +mailing list for questions, discussions, and development. There is +also an IRC channel on OFTC (irc.oftc.net) #gtest available. Please +join us! - * test discovery - * a rich set of assertions - * user-defined assertions - * death tests - * fatal and non-fatal failures - * value-parameterized tests - * type-parameterized tests - * various options for running the tests - * XML test report generation +**Google Mock** is an extension to Google Test for writing and using C++ mock +classes. See the separate [Google Mock documentation](googlemock/README.md). + +More detailed instructions for googletest are in its interior +[README.md](googletest/README.md) file. + +## Features ## + + * An [XUnit](https://en.wikipedia.org/wiki/XUnit) test framework. + * Test discovery. + * A rich set of assertions. + * User-defined assertions. + * Death tests. + * Fatal and non-fatal failures. + * Value-parameterized tests. + * Type-parameterized tests. + * Various options for running the tests. + * XML test report generation. ## Platforms ## @@ -56,60 +67,63 @@ listener for Google Test that implements the [TAP protocol](http://en.wikipedia.org/wiki/Test_Anything_Protocol) for test result output. If your test runner understands TAP, you may find it useful. -## About Google Mock ## +## Requirements ## -**Google Mock** is an extension to Google Test for writing and using C++ mock -classes. It is inspired by -[jMock](http://www.jmock.org/), -[EasyMock](http://www.easymock.org/), and -[Hamcrest](http://code.google.com/p/hamcrest/), -and designed with C++'s specifics in mind. +Google Test is designed to have fairly minimal requirements to build +and use with your projects, but there are some. Currently, we support +Linux, Windows, Mac OS X, and Cygwin. We will also make our best +effort to support other platforms (e.g. Solaris, AIX, and z/OS). +However, since core members of the Google Test project have no access +to these platforms, Google Test may have outstanding issues there. If +you notice any problems on your platform, please notify +<googletestframework@googlegroups.com>. Patches for fixing them are +even more welcome! + +### Linux Requirements ### -Google mock: +These are the base requirements to build and use Google Test from a source +package (as described below): - * lets you create mock classes trivially using simple macros. - * supports a rich set of matchers and actions. - * handles unordered, partially ordered, or completely ordered expectations. - * is extensible by users. + * GNU-compatible Make or gmake + * POSIX-standard shell + * POSIX(-2) Regular Expressions (regex.h) + * A C++98-standard-compliant compiler -We hope you find it useful! +### Windows Requirements ### -### Using Google Mock Without Google Test ### + * Microsoft Visual C++ v7.1 or newer -Google Mock is not a testing framework itself. Instead, it needs a -testing framework for writing tests. Google Mock works seamlessly -with [Google Test](http://code.google.com/p/googletest/), butj -you can also use it with [any C++ testing framework](googlemock/ForDummies.md#Using_Google_Mock_with_Any_Testing_Framework). +### Cygwin Requirements ### -## Getting Started ## + * Cygwin v1.5.25-14 or newer -If you are new to the project, we suggest that you read the user -documentation in the following order: +### Mac OS X Requirements ### - * Learn the [basics](googletest/docs/Primer.md) of - Google Test, if you choose to use Google Mock with it (recommended). - * Read [Google Mock for Dummies](googlemock/docs/ForDummies.md). - * Read the instructions on how to [build Google Mock](googlemock/README.md). + * Mac OS X v10.4 Tiger or newer + * XCode Developer Tools -You can also watch Zhanyong's [talk](http://www.youtube.com/watch?v=sYpCyLI47rM) on Google Mock's usage and implementation. +Also, you'll need [CMake](http://www.cmake.org/) v2.6.4 or higher if +you want to build the samples using the provided CMake script, regardless +of the platform. -Once you understand the basics, check out the rest of the docs: +### Requirements for Contributors ### - * [CheatSheet](googlemock/docs/CheatSheet.md) - all the commonly used stuff - at a glance. - * [CookBook](googlemock/docs/CookBook.md) - recipes for getting things done, - including advanced techniques. +We welcome patches. If you plan to contribute a patch, you need to +build Google Test and its own tests from a git checkout (described +below), which has further requirements: -If you need help, please check the -[KnownIssues](googlemock/docs/KnownIssues.md) and -[FrequentlyAskedQuestions](googlemock/docs/frequentlyaskedquestions.md) before -posting a question on the -[discussion group](http://groups.google.com/group/googlemock). + * [Python](http://python.org/) v2.3 or newer (for running some of + the tests and re-generating certain source files from templates) + * [CMake](http://www.cmake.org/) v2.6.4 or newer -### Regenerating Source Files ### +## Regenerating Source Files ## Some of Google Test's source files are generated from templates (not in the C++ sense) using a script. +For example, the +file include/gtest/internal/gtest-type-util.h.pump is used to generate +gtest-type-util.h in the same directory. + You don't need to worry about regenerating the source files unless you need to modify them. You would then modify the corresponding `.pump` files and run the '[pump.py](googletest/scripts/pump.py)' @@ -117,7 +131,8 @@ generator script. See the [Pump Manual](googletest/docs/PumpManual.md). ### Contributing Code ### -We welcome patches. Please read the [Developer's Guide](docs/DevGuide.md) +We welcome patches. Please read the +[Developer's Guide](googletest/docs/DevGuide.md) for how you can contribute. In particular, make sure you have signed the Contributor License Agreement, or we won't be able to accept the patch. diff --git a/googlemock/README.md b/googlemock/README.md index 2e8ae4a..c455646 100644 --- a/googlemock/README.md +++ b/googlemock/README.md @@ -1,14 +1,28 @@ -## Google C++ Mocking Framework ## +## Google Mock ## -<http://github.com/google/googlemock/> +The Google C++ mocking framework. ### Overview ### -Google's framework for writing and using C++ mock classes on a variety -of platforms (Linux, Mac OS X, Windows, Windows CE, Symbian, etc). -Inspired by jMock, EasyMock, and Hamcrest, and designed with C++'s -specifics in mind, it can help you derive better designs of your -system and write better tests. +Google's framework for writing and using C++ mock classes. +It can help you derive better designs of your system and write better tests. + +It is inspired by: + + * [jMock](http://www.jmock.org/), + * [EasyMock](http://www.easymock.org/), and + * [Hamcrest](http://code.google.com/p/hamcrest/), + +and designed with C++'s specifics in mind. + +Google mock: + + * lets you create mock classes trivially using simple macros. + * supports a rich set of matchers and actions. + * handles unordered, partially ordered, or completely ordered expectations. + * is extensible by users. + +We hope you find it useful! ### Features ### @@ -34,6 +48,39 @@ Please note that code under [scripts/generator](scripts/generator/) is from [cppclean](http://code.google.com/p/cppclean/) and released under the Apache License, which is different from Google Mock's license. +## Getting Started ## + +If you are new to the project, we suggest that you read the user +documentation in the following order: + + * Learn the [basics](../googletest/docs/Primer.md) of + Google Test, if you choose to use Google Mock with it (recommended). + * Read [Google Mock for Dummies](docs/ForDummies.md). + * Read the instructions below on how to build Google Mock. + +You can also watch Zhanyong's [talk](http://www.youtube.com/watch?v=sYpCyLI47rM) on Google Mock's usage and implementation. + +Once you understand the basics, check out the rest of the docs: + + * [CheatSheet](googlemock/docs/CheatSheet.md) - all the commonly used stuff + at a glance. + * [CookBook](googlemock/docs/CookBook.md) - recipes for getting things done, + including advanced techniques. + +If you need help, please check the +[KnownIssues](googlemock/docs/KnownIssues.md) and +[FrequentlyAskedQuestions](googlemock/docs/frequentlyaskedquestions.md) before +posting a question on the +[discussion group](http://groups.google.com/group/googlemock). + + +### Using Google Mock Without Google Test ### + +Google Mock is not a testing framework itself. Instead, it needs a +testing framework for writing tests. Google Mock works seamlessly +with [Google Test](http://code.google.com/p/googletest/), butj +you can also use it with [any C++ testing framework](googlemock/ForDummies.md#Using_Google_Mock_with_Any_Testing_Framework). + ### Requirements for End Users ### Google Mock is implemented on top of [Google Test]( diff --git a/googletest/README.md b/googletest/README.md index b1db872..9bd59c8 100644 --- a/googletest/README.md +++ b/googletest/README.md @@ -1,78 +1,14 @@ -## Google C++ Testing Framework ## -https://github.com/google/googletest - -### Overview ### - -Google's framework for writing C++ tests on a variety of platforms -(Linux, Mac OS X, Windows, Windows CE, Symbian, etc). Based on the -xUnit architecture. Supports automatic test discovery, a rich set of -assertions, user-defined assertions, death tests, fatal and non-fatal -failures, various options for running the tests, and XML test report -generation. - -Please see the project page above for more information as well as the -mailing list for questions, discussions, and development. There is -also an IRC channel on OFTC (irc.oftc.net) #gtest available. Please -join us! - -### Requirements for End Users ### - -Google Test is designed to have fairly minimal requirements to build -and use with your projects, but there are some. Currently, we support -Linux, Windows, Mac OS X, and Cygwin. We will also make our best -effort to support other platforms (e.g. Solaris, AIX, and z/OS). -However, since core members of the Google Test project have no access -to these platforms, Google Test may have outstanding issues there. If -you notice any problems on your platform, please notify -<googletestframework@googlegroups.com>. Patches for fixing them are -even more welcome! - -#### Linux Requirements #### - -These are the base requirements to build and use Google Test from a source -package (as described below): - - * GNU-compatible Make or gmake - * POSIX-standard shell - * POSIX(-2) Regular Expressions (regex.h) - * A C++98-standard-compliant compiler - -#### Windows Requirements #### - - * Microsoft Visual C++ 7.1 or newer - -#### Cygwin Requirements #### - - * Cygwin 1.5.25-14 or newer - -#### Mac OS X Requirements #### - - * Mac OS X 10.4 Tiger or newer - * Developer Tools Installed - -Also, you'll need [CMake](http://www.cmake.org/ CMake) 2.6.4 or higher if -you want to build the samples using the provided CMake script, regardless -of the platform. - -### Requirements for Contributors ### - -We welcome patches. If you plan to contribute a patch, you need to -build Google Test and its own tests from a git checkout (described -below), which has further requirements: - - * [Python](http://python.org/) version 2.3 or newer (for running some of the tests and - re-generating certain source files from templates) - * [CMake](http://www.cmake.org/) 2.6.4 or newer +### Generic Build Instructions ### -## Setting up the Build ## +#### Setup #### To build Google Test and your tests that use it, you need to tell your build system where to find its headers and source files. The exact way to do it depends on which build system you use, and is usually straightforward. -### Generic Build Instructions ### +#### Build #### Suppose you put Google Test in directory `${GTEST_DIR}`. To build it, create a library build target (or a project as called by Visual Studio @@ -308,36 +244,6 @@ instead of in order to define a test. -### Upgrating from an Earlier Version ### - -We strive to keep Google Test releases backward compatible. -Sometimes, though, we have to make some breaking changes for the -users' long-term benefits. This section describes what you'll need to -do if you are upgrading from an earlier version of Google Test. - -### Upgrading from 1.3.0 or Earlier ### - -You may need to explicitly enable or disable Google Test's own TR1 -tuple library. See the instructions in section "Choosing a TR1 Tuple -Library". - -### Upgrading from 1.4.0 or Earlier ### - -The Autotools build script (configure + make) is no longer officially -supportted. You are encouraged to migrate to your own build system or -use CMake. If you still need to use Autotools, you can find -instructions in the README file from Google Test 1.4.0. - -On platforms where the pthread library is available, Google Test uses -it in order to be thread-safe. See the "Multi-threaded Tests" section -for what this means to your build script. - -If you use Microsoft Visual C++ 7.1 with exceptions disabled, Google -Test will no longer compile. This should affect very few people, as a -large portion of STL (including <string>) doesn't compile in this mode -anyway. We decided to stop supporting it in order to greatly simplify -Google Test's implementation. - ## Developing Google Test ## This section discusses how to make your own changes to Google Test. |