README.md revision 13481
15347Ssaidi@eecs.umich.edu## Google Mock ##
23395Shsul@eecs.umich.edu
33395Shsul@eecs.umich.eduThe Google C++ mocking framework.
43395Shsul@eecs.umich.edu
53395Shsul@eecs.umich.edu### Overview ###
63395Shsul@eecs.umich.edu
73395Shsul@eecs.umich.eduGoogle's framework for writing and using C++ mock classes.
83395Shsul@eecs.umich.eduIt can help you derive better designs of your system and write better tests.
93395Shsul@eecs.umich.edu
103395Shsul@eecs.umich.eduIt is inspired by:
113395Shsul@eecs.umich.edu
123395Shsul@eecs.umich.edu  * [jMock](http://www.jmock.org/),
133395Shsul@eecs.umich.edu  * [EasyMock](http://www.easymock.org/), and
143395Shsul@eecs.umich.edu  * [Hamcrest](http://code.google.com/p/hamcrest/),
153395Shsul@eecs.umich.edu
163395Shsul@eecs.umich.eduand designed with C++'s specifics in mind.
173395Shsul@eecs.umich.edu
183395Shsul@eecs.umich.eduGoogle mock:
193395Shsul@eecs.umich.edu
203395Shsul@eecs.umich.edu  * lets you create mock classes trivially using simple macros.
213395Shsul@eecs.umich.edu  * supports a rich set of matchers and actions.
223395Shsul@eecs.umich.edu  * handles unordered, partially ordered, or completely ordered expectations.
233395Shsul@eecs.umich.edu  * is extensible by users.
243395Shsul@eecs.umich.edu
253395Shsul@eecs.umich.eduWe hope you find it useful!
263395Shsul@eecs.umich.edu
273395Shsul@eecs.umich.edu### Features ###
283395Shsul@eecs.umich.edu
293395Shsul@eecs.umich.edu  * Provides a declarative syntax for defining mocks.
303509Shsul@eecs.umich.edu  * Can easily define partial (hybrid) mocks, which are a cross of real
316654Snate@binkert.org    and mock objects.
323395Shsul@eecs.umich.edu  * Handles functions of arbitrary types and overloaded functions.
336654Snate@binkert.org  * Comes with a rich set of matchers for validating function arguments.
343395Shsul@eecs.umich.edu  * Uses an intuitive syntax for controlling the behavior of a mock.
356654Snate@binkert.org  * Does automatic verification of expectations (no record-and-replay needed).
366654Snate@binkert.org  * Allows arbitrary (partial) ordering constraints on
376654Snate@binkert.org    function calls to be expressed,.
383395Shsul@eecs.umich.edu  * Lets a user extend it by defining new matchers and actions.
393481Shsul@eecs.umich.edu  * Does not use exceptions.
403481Shsul@eecs.umich.edu  * Is easy to learn and use.
413481Shsul@eecs.umich.edu
423481Shsul@eecs.umich.eduPlease see the project page above for more information as well as the
435347Ssaidi@eecs.umich.edumailing list for questions, discussions, and development.  There is
443481Shsul@eecs.umich.edualso an IRC channel on OFTC (irc.oftc.net) #gtest available.  Please
453681Sktlim@umich.edujoin us!
463681Sktlim@umich.edu
473681Sktlim@umich.eduPlease note that code under [scripts/generator](scripts/generator/) is
485347Ssaidi@eecs.umich.edufrom [cppclean](http://code.google.com/p/cppclean/) and released under
495869Sksewell@umich.eduthe Apache License, which is different from Google Mock's license.
505869Sksewell@umich.edu
515869Sksewell@umich.edu## Getting Started ##
525869Sksewell@umich.edu
535869Sksewell@umich.eduIf you are new to the project, we suggest that you read the user
543481Shsul@eecs.umich.edudocumentation in the following order:
555347Ssaidi@eecs.umich.edu
563481Shsul@eecs.umich.edu  * Learn the [basics](../googletest/docs/Primer.md) of
573481Shsul@eecs.umich.edu    Google Test, if you choose to use Google Mock with it (recommended).
583481Shsul@eecs.umich.edu  * Read [Google Mock for Dummies](docs/ForDummies.md).
593481Shsul@eecs.umich.edu  * Read the instructions below on how to build Google Mock.
603481Shsul@eecs.umich.edu
613481Shsul@eecs.umich.eduYou can also watch Zhanyong's [talk](http://www.youtube.com/watch?v=sYpCyLI47rM) on Google Mock's usage and implementation.
625369Ssaidi@eecs.umich.edu
633481Shsul@eecs.umich.eduOnce you understand the basics, check out the rest of the docs:
645347Ssaidi@eecs.umich.edu
653481Shsul@eecs.umich.edu  * [CheatSheet](docs/CheatSheet.md) - all the commonly used stuff
663481Shsul@eecs.umich.edu    at a glance.
673481Shsul@eecs.umich.edu  * [CookBook](docs/CookBook.md) - recipes for getting things done,
683481Shsul@eecs.umich.edu    including advanced techniques.
693481Shsul@eecs.umich.edu
703481Shsul@eecs.umich.eduIf you need help, please check the
713481Shsul@eecs.umich.edu[KnownIssues](docs/KnownIssues.md) and
723395Shsul@eecs.umich.edu[FrequentlyAskedQuestions](docs/FrequentlyAskedQuestions.md) before
733395Shsul@eecs.umich.eduposting a question on the
743395Shsul@eecs.umich.edu[discussion group](http://groups.google.com/group/googlemock).
754167Sbinkertn@umich.edu
763395Shsul@eecs.umich.edu
773395Shsul@eecs.umich.edu### Using Google Mock Without Google Test ###
783395Shsul@eecs.umich.edu
793511Shsul@eecs.umich.eduGoogle Mock is not a testing framework itself.  Instead, it needs a
803395Shsul@eecs.umich.edutesting framework for writing tests.  Google Mock works seamlessly
813395Shsul@eecs.umich.eduwith [Google Test](http://code.google.com/p/googletest/), but
823395Shsul@eecs.umich.eduyou can also use it with [any C++ testing framework](googlemock/ForDummies.md#Using_Google_Mock_with_Any_Testing_Framework).
835211Ssaidi@eecs.umich.edu
845211Ssaidi@eecs.umich.edu### Requirements for End Users ###
853395Shsul@eecs.umich.edu
863395Shsul@eecs.umich.eduGoogle Mock is implemented on top of [Google Test](
873395Shsul@eecs.umich.eduhttp://github.com/google/googletest/), and depends on it.
885370Ssaidi@eecs.umich.eduYou must use the bundled version of Google Test when using Google Mock.
896654Snate@binkert.org
905370Ssaidi@eecs.umich.eduYou can also easily configure Google Mock to work with another testing
915371Shsul@eecs.umich.eduframework, although it will still need Google Test.  Please read
926654Snate@binkert.org["Using_Google_Mock_with_Any_Testing_Framework"](
935370Ssaidi@eecs.umich.edu    docs/ForDummies.md#Using_Google_Mock_with_Any_Testing_Framework)
943395Shsul@eecs.umich.edufor instructions.
953395Shsul@eecs.umich.edu
963481Shsul@eecs.umich.eduGoogle Mock depends on advanced C++ features and thus requires a more
973481Shsul@eecs.umich.edumodern compiler. The following are needed to use Google Mock:
986144Sksewell@umich.edu
996144Sksewell@umich.edu#### Linux Requirements ####
1006144Sksewell@umich.edu
1016144Sksewell@umich.edu  * GNU-compatible Make or "gmake"
1026641Sksewell@umich.edu  * POSIX-standard shell
1036641Sksewell@umich.edu  * POSIX(-2) Regular Expressions (regex.h)
1046641Sksewell@umich.edu  * C++98-standard-compliant compiler (e.g. GCC 3.4 or newer)
1056641Sksewell@umich.edu
1063481Shsul@eecs.umich.edu#### Windows Requirements ####
1073481Shsul@eecs.umich.edu
1083481Shsul@eecs.umich.edu  * Microsoft Visual C++ 8.0 SP1 or newer
1093481Shsul@eecs.umich.edu
1103481Shsul@eecs.umich.edu#### Mac OS X Requirements ####
1115361Srstrong@cs.ucsd.edu
1125369Ssaidi@eecs.umich.edu  * Mac OS X 10.4 Tiger or newer
1133481Shsul@eecs.umich.edu  * Developer Tools Installed
1146654Snate@binkert.org
1153481Shsul@eecs.umich.edu### Requirements for Contributors ###
1163481Shsul@eecs.umich.edu
1175369Ssaidi@eecs.umich.eduWe welcome patches. If you plan to contribute a patch, you need to
1185369Ssaidi@eecs.umich.edubuild Google Mock and its tests, which has further requirements:
1195369Ssaidi@eecs.umich.edu
1203481Shsul@eecs.umich.edu  * Automake version 1.9 or newer
1215311Ssaidi@eecs.umich.edu  * Autoconf version 2.59 or newer
1223481Shsul@eecs.umich.edu  * Libtool / Libtoolize
1233395Shsul@eecs.umich.edu  * Python version 2.3 or newer (for running some of the tests and
1243395Shsul@eecs.umich.edu    re-generating certain source files from templates)
1253395Shsul@eecs.umich.edu
1263395Shsul@eecs.umich.edu### Building Google Mock ###
1273478Shsul@eecs.umich.edu
1283395Shsul@eecs.umich.edu#### Preparing to Build (Unix only) ####
1293478Shsul@eecs.umich.edu
1303395Shsul@eecs.umich.eduIf you are using a Unix system and plan to use the GNU Autotools build
1313395Shsul@eecs.umich.edusystem to build Google Mock (described below), you'll need to
1323478Shsul@eecs.umich.educonfigure it now.
1336654Snate@binkert.org
1343395Shsul@eecs.umich.eduTo prepare the Autotools build system:
1353478Shsul@eecs.umich.edu
1363395Shsul@eecs.umich.edu    cd googlemock
1373478Shsul@eecs.umich.edu    autoreconf -fvi
1383480Shsul@eecs.umich.edu
1395361Srstrong@cs.ucsd.eduTo build Google Mock and your tests that use it, you need to tell your
1405369Ssaidi@eecs.umich.edubuild system where to find its headers and source files.  The exact
1415361Srstrong@cs.ucsd.eduway to do it depends on which build system you use, and is usually
1425361Srstrong@cs.ucsd.edustraightforward.
1435361Srstrong@cs.ucsd.edu
1445369Ssaidi@eecs.umich.eduThis section shows how you can integrate Google Mock into your
1455361Srstrong@cs.ucsd.eduexisting build system.
1465361Srstrong@cs.ucsd.edu
1475378Ssaidi@eecs.umich.eduSuppose you put Google Mock in directory `${GMOCK_DIR}` and Google Test
1486654Snate@binkert.orgin `${GTEST_DIR}` (the latter is `${GMOCK_DIR}/gtest` by default).  To
1495361Srstrong@cs.ucsd.edubuild Google Mock, create a library build target (or a project as
1505361Srstrong@cs.ucsd.educalled by Visual Studio and Xcode) to compile
1515361Srstrong@cs.ucsd.edu
1525361Srstrong@cs.ucsd.edu    ${GTEST_DIR}/src/gtest-all.cc and ${GMOCK_DIR}/src/gmock-all.cc
1535361Srstrong@cs.ucsd.edu
1545361Srstrong@cs.ucsd.eduwith
1555361Srstrong@cs.ucsd.edu
1565361Srstrong@cs.ucsd.edu    ${GTEST_DIR}/include and ${GMOCK_DIR}/include
1575361Srstrong@cs.ucsd.edu
1585361Srstrong@cs.ucsd.eduin the system header search path, and
1595361Srstrong@cs.ucsd.edu
1605353Svilas.sridharan@gmail.com    ${GTEST_DIR} and ${GMOCK_DIR}
1615353Svilas.sridharan@gmail.com
1625353Svilas.sridharan@gmail.comin the normal header search path.  Assuming a Linux-like system and gcc,
1633514Sktlim@umich.edusomething like the following will do:
1643481Shsul@eecs.umich.edu
1656107Ssteve.reinhardt@amd.com    g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
1666107Ssteve.reinhardt@amd.com        -isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
1673395Shsul@eecs.umich.edu        -pthread -c ${GTEST_DIR}/src/gtest-all.cc
1683514Sktlim@umich.edu    g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
1693514Sktlim@umich.edu        -isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
1703395Shsul@eecs.umich.edu        -pthread -c ${GMOCK_DIR}/src/gmock-all.cc
1713478Shsul@eecs.umich.edu    ar -rv libgmock.a gtest-all.o gmock-all.o
1723395Shsul@eecs.umich.edu
1735361Srstrong@cs.ucsd.edu(We need -pthread as Google Test and Google Mock use threads.)
1745369Ssaidi@eecs.umich.edu
1755361Srstrong@cs.ucsd.eduNext, you should compile your test source file with
1765361Srstrong@cs.ucsd.edu${GTEST\_DIR}/include and ${GMOCK\_DIR}/include in the header search
1775361Srstrong@cs.ucsd.edupath, and link it with gmock and any other necessary libraries:
1785361Srstrong@cs.ucsd.edu
1795361Srstrong@cs.ucsd.edu    g++ -isystem ${GTEST_DIR}/include -isystem ${GMOCK_DIR}/include \
1805378Ssaidi@eecs.umich.edu        -pthread path/to/your_test.cc libgmock.a -o your_test
1816654Snate@binkert.org
1825369Ssaidi@eecs.umich.eduAs an example, the make/ directory contains a Makefile that you can
1835361Srstrong@cs.ucsd.eduuse to build Google Mock on systems where GNU make is available
1845361Srstrong@cs.ucsd.edu(e.g. Linux, Mac OS X, and Cygwin).  It doesn't try to build Google
1855361Srstrong@cs.ucsd.eduMock's own tests.  Instead, it just builds the Google Mock library and
1865361Srstrong@cs.ucsd.edua sample test.  You can use it as a starting point for your own build
1875361Srstrong@cs.ucsd.eduscript.
1885361Srstrong@cs.ucsd.edu
1895361Srstrong@cs.ucsd.eduIf the default settings are correct for your environment, the
1905361Srstrong@cs.ucsd.edufollowing commands should succeed:
1915361Srstrong@cs.ucsd.edu
1925361Srstrong@cs.ucsd.edu    cd ${GMOCK_DIR}/make
1933395Shsul@eecs.umich.edu    make
1943395Shsul@eecs.umich.edu    ./gmock_test
1955369Ssaidi@eecs.umich.edu
1965361Srstrong@cs.ucsd.eduIf you see errors, try to tweak the contents of
1973395Shsul@eecs.umich.edu[make/Makefile](make/Makefile) to make them go away.
1983395Shsul@eecs.umich.edu
1993395Shsul@eecs.umich.edu### Windows ###
2003395Shsul@eecs.umich.edu
2016654Snate@binkert.orgThe msvc/2005 directory contains VC++ 2005 projects and the msvc/2010
2023395Shsul@eecs.umich.edudirectory contains VC++ 2010 projects for building Google Mock and
2035361Srstrong@cs.ucsd.eduselected tests.
2045361Srstrong@cs.ucsd.edu
2055361Srstrong@cs.ucsd.eduChange to the appropriate directory and run "msbuild gmock.sln" to
2065361Srstrong@cs.ucsd.edubuild the library and tests (or open the gmock.sln in the MSVC IDE).
2076654Snate@binkert.orgIf you want to create your own project to use with Google Mock, you'll
2083395Shsul@eecs.umich.eduhave to configure it to use the `gmock_config` propety sheet.  For that:
2095361Srstrong@cs.ucsd.edu
2105361Srstrong@cs.ucsd.edu * Open the Property Manager window (View | Other Windows | Property Manager)
2115361Srstrong@cs.ucsd.edu * Right-click on your project and select "Add Existing Property Sheet..."
2125361Srstrong@cs.ucsd.edu * Navigate to `gmock_config.vsprops` or `gmock_config.props` and select it.
2135361Srstrong@cs.ucsd.edu * In Project Properties | Configuration Properties | General | Additional
2145378Ssaidi@eecs.umich.edu   Include Directories, type <path to Google Mock>/include.
2156654Snate@binkert.org
2163395Shsul@eecs.umich.edu### Tweaking Google Mock ###
2175361Srstrong@cs.ucsd.edu
2185369Ssaidi@eecs.umich.eduGoogle Mock can be used in diverse environments.  The default
2193395Shsul@eecs.umich.educonfiguration may not work (or may not work well) out of the box in
2205361Srstrong@cs.ucsd.edusome environments.  However, you can easily tweak Google Mock by
2215361Srstrong@cs.ucsd.edudefining control macros on the compiler command line.  Generally,
2225361Srstrong@cs.ucsd.eduthese macros are named like `GTEST_XYZ` and you define them to either 1
2236654Snate@binkert.orgor 0 to enable or disable a certain feature.
2246654Snate@binkert.org
2253395Shsul@eecs.umich.eduWe list the most frequently used macros below.  For a complete list,
2265361Srstrong@cs.ucsd.edusee file [${GTEST\_DIR}/include/gtest/internal/gtest-port.h](
2275361Srstrong@cs.ucsd.edu../googletest/include/gtest/internal/gtest-port.h).
2285361Srstrong@cs.ucsd.edu
2295361Srstrong@cs.ucsd.edu### Choosing a TR1 Tuple Library ###
2305361Srstrong@cs.ucsd.edu
2315361Srstrong@cs.ucsd.eduGoogle Mock uses the C++ Technical Report 1 (TR1) tuple library
2325361Srstrong@cs.ucsd.eduheavily.  Unfortunately TR1 tuple is not yet widely available with all
2335361Srstrong@cs.ucsd.educompilers.  The good news is that Google Test 1.4.0+ implements a
2345361Srstrong@cs.ucsd.edusubset of TR1 tuple that's enough for Google Mock's need.  Google Mock
2355361Srstrong@cs.ucsd.eduwill automatically use that implementation when the compiler doesn't
2365361Srstrong@cs.ucsd.eduprovide TR1 tuple.
2373999Ssaidi@eecs.umich.edu
2385361Srstrong@cs.ucsd.eduUsually you don't need to care about which tuple library Google Test
2395361Srstrong@cs.ucsd.eduand Google Mock use.  However, if your project already uses TR1 tuple,
2405361Srstrong@cs.ucsd.eduyou need to tell Google Test and Google Mock to use the same TR1 tuple
2415361Srstrong@cs.ucsd.edulibrary the rest of your project uses, or the two tuple
2425361Srstrong@cs.ucsd.eduimplementations will clash.  To do that, add
2436654Snate@binkert.org
2445361Srstrong@cs.ucsd.edu    -DGTEST_USE_OWN_TR1_TUPLE=0
2455361Srstrong@cs.ucsd.edu
2465361Srstrong@cs.ucsd.eduto the compiler flags while compiling Google Test, Google Mock, and
2475361Srstrong@cs.ucsd.eduyour tests.  If you want to force Google Test and Google Mock to use
2485361Srstrong@cs.ucsd.edutheir own tuple library, just add
2495361Srstrong@cs.ucsd.edu
2505361Srstrong@cs.ucsd.edu    -DGTEST_USE_OWN_TR1_TUPLE=1
2513395Shsul@eecs.umich.edu
2523481Shsul@eecs.umich.eduto the compiler flags instead.
2535361Srstrong@cs.ucsd.edu
2545361Srstrong@cs.ucsd.eduIf you want to use Boost's TR1 tuple library with Google Mock, please
2555361Srstrong@cs.ucsd.edurefer to the Boost website (http://www.boost.org/) for how to obtain
2565361Srstrong@cs.ucsd.eduit and set it up.
2575361Srstrong@cs.ucsd.edu
2585361Srstrong@cs.ucsd.edu### As a Shared Library (DLL) ###
2595361Srstrong@cs.ucsd.edu
2605361Srstrong@cs.ucsd.eduGoogle Mock is compact, so most users can build and link it as a static
2615361Srstrong@cs.ucsd.edulibrary for the simplicity.  Google Mock can be used as a DLL, but the
2625361Srstrong@cs.ucsd.edusame DLL must contain Google Test as well.  See
2635361Srstrong@cs.ucsd.edu[Google Test's README][gtest_readme]
2645361Srstrong@cs.ucsd.edufor instructions on how to set up necessary compiler settings.
2653395Shsul@eecs.umich.edu
2665361Srstrong@cs.ucsd.edu### Tweaking Google Mock ###
2675361Srstrong@cs.ucsd.edu
2685361Srstrong@cs.ucsd.eduMost of Google Test's control macros apply to Google Mock as well.
2695361Srstrong@cs.ucsd.eduPlease see [Google Test's README][gtest_readme] for how to tweak them.
2705361Srstrong@cs.ucsd.edu
2713395Shsul@eecs.umich.edu### Upgrading from an Earlier Version ###
2723395Shsul@eecs.umich.edu
2733395Shsul@eecs.umich.eduWe strive to keep Google Mock releases backward compatible.
2743395Shsul@eecs.umich.eduSometimes, though, we have to make some breaking changes for the
2753395Shsul@eecs.umich.eduusers' long-term benefits.  This section describes what you'll need to
2763481Shsul@eecs.umich.edudo if you are upgrading from an earlier version of Google Mock.
2775361Srstrong@cs.ucsd.edu
2785361Srstrong@cs.ucsd.edu#### Upgrading from 1.1.0 or Earlier ####
2795361Srstrong@cs.ucsd.edu
2805361Srstrong@cs.ucsd.eduYou may need to explicitly enable or disable Google Test's own TR1
2815361Srstrong@cs.ucsd.edutuple library.  See the instructions in section "[Choosing a TR1 Tuple
2825361Srstrong@cs.ucsd.eduLibrary](../googletest/#choosing-a-tr1-tuple-library)".
2835361Srstrong@cs.ucsd.edu
2845353Svilas.sridharan@gmail.com#### Upgrading from 1.4.0 or Earlier ####
2855361Srstrong@cs.ucsd.edu
2865361Srstrong@cs.ucsd.eduOn platforms where the pthread library is available, Google Test and
2875361Srstrong@cs.ucsd.eduGoogle Mock use it in order to be thread-safe.  For this to work, you
2885072Ssaidi@eecs.umich.edumay need to tweak your compiler and/or linker flags.  Please see the
2893481Shsul@eecs.umich.edu"[Multi-threaded Tests](../googletest#multi-threaded-tests
2905072Ssaidi@eecs.umich.edu)" section in file Google Test's README for what you may need to do.
2913395Shsul@eecs.umich.edu
2923395Shsul@eecs.umich.eduIf you have custom matchers defined using `MatcherInterface` or
2933395Shsul@eecs.umich.edu`MakePolymorphicMatcher()`, you'll need to update their definitions to
2943395Shsul@eecs.umich.eduuse the new matcher API (
2957489Ssteve.reinhardt@amd.com[monomorphic](http://code.google.com/p/googlemock/wiki/CookBook#Writing_New_Monomorphic_Matchers),
2967489Ssteve.reinhardt@amd.com[polymorphic](http://code.google.com/p/googlemock/wiki/CookBook#Writing_New_Polymorphic_Matchers)).
2977489Ssteve.reinhardt@amd.comMatchers defined using `MATCHER()` or `MATCHER_P*()` aren't affected.
2987489Ssteve.reinhardt@amd.com
2997489Ssteve.reinhardt@amd.com### Developing Google Mock ###
3007489Ssteve.reinhardt@amd.com
3017489Ssteve.reinhardt@amd.comThis section discusses how to make your own changes to Google Mock.
3027489Ssteve.reinhardt@amd.com
3037489Ssteve.reinhardt@amd.com#### Testing Google Mock Itself ####
3047489Ssteve.reinhardt@amd.com
3055361Srstrong@cs.ucsd.eduTo make sure your changes work as intended and don't break existing
3065361Srstrong@cs.ucsd.edufunctionality, you'll want to compile and run Google Test's own tests.
3075361Srstrong@cs.ucsd.eduFor that you'll need Autotools.  First, make sure you have followed
3085361Srstrong@cs.ucsd.eduthe instructions above to configure Google Mock.
3095369Ssaidi@eecs.umich.eduThen, create a build output directory and enter it.  Next,
3105361Srstrong@cs.ucsd.edu
3115369Ssaidi@eecs.umich.edu    ${GMOCK_DIR}/configure  # try --help for more info
3123395Shsul@eecs.umich.edu
3135361Srstrong@cs.ucsd.eduOnce you have successfully configured Google Mock, the build steps are
3145369Ssaidi@eecs.umich.edustandard for GNU-style OSS packages.
3155361Srstrong@cs.ucsd.edu
3163395Shsul@eecs.umich.edu    make        # Standard makefile following GNU conventions
3175361Srstrong@cs.ucsd.edu    make check  # Builds and runs all tests - all should pass.
3185361Srstrong@cs.ucsd.edu
3195361Srstrong@cs.ucsd.eduNote that when building your project against Google Mock, you are building
3203395Shsul@eecs.umich.eduagainst Google Test as well.  There is no need to configure Google Test
3215361Srstrong@cs.ucsd.eduseparately.
3225361Srstrong@cs.ucsd.edu
3235361Srstrong@cs.ucsd.edu#### Contributing a Patch ####
3243999Ssaidi@eecs.umich.edu
3255361Srstrong@cs.ucsd.eduWe welcome patches.
3265361Srstrong@cs.ucsd.eduPlease read the [Developer's Guide](docs/DevGuide.md)
3275361Srstrong@cs.ucsd.edufor how you can contribute. In particular, make sure you have signed
3285361Srstrong@cs.ucsd.eduthe Contributor License Agreement, or we won't be able to accept the
3295361Srstrong@cs.ucsd.edupatch.
3305361Srstrong@cs.ucsd.edu
3313999Ssaidi@eecs.umich.eduHappy testing!
3325361Srstrong@cs.ucsd.edu
3335361Srstrong@cs.ucsd.edu[gtest_readme]: ../googletest/README.md "googletest"
3345361Srstrong@cs.ucsd.edu