blob: 67e64510e1c93c9ddeb397602f3bdad8f2a3e8ce [file] [log] [blame]
We include a snapshot of gmock from http://googlemock.googlecode.com/svn/trunk
with chromium.patch applied.
Current revision: 157
-- HOW TO USE --
If you are unfamiliar with gmock, there is an example of how to write a test
based on gmock in base/gmock_unittest.cc. To use gmock, just add a dependency
onto testing/gmock.gyp:gmock in your gyp target.
For more general informaiton, there is a lot of good documentation availble on
the googlemock website:
http://code.google.com/p/googlemock/
In particular, the "For Dummies" guide is a good place to start. The
"CheatSheet" and "CookBook" are better as references.
-- RECREATING PACKAGE --
Gmock requires tr1 tuple. However, Visual Studio 2005 does not include
tr1 tuple, so a version of boost tuple was added into the third_party
tree for chromium. Our version of gmock has been patched to search for
this version of tuple inside our source tree.
chromium.patch modifies gmock/include/gmock/internal/gmock-port.h so that
for _MSC_VER < 1500 (anything newer than Visual Studio 2008), boost tuple
is loaded from boost/tr1/tr1/tuple.
To recreate this install, do the following:
*1) Checkout a copy from svn trunk using --ignore-externals to avoid
getting an extra copy of gtest. Use the following command:
svn export --ignore-externals \
http://googlemock.googlecode.com/svn/trunk/ gmock
2) Patch it with chromium.patch.
* Pass -r [revision number] to svn export if you want a specific revision.
The current revision of the source is listed at the top of the README.
-- ALTERNATIVES TO PATCHING --
The patching of gmock to use boost in VS2005 was settled upon as the lowest
impact solution for getting gmock working in VS2005. Patching gmock trades
making some assumptions regarding the internal implementations of gmock
and boost for a simple, easy to underatnd, implementation that provides
relatively good insulation for the rest of the build from the boost dependency.
Alternate soltuions are:
1) Drop support for VS2005 -- too heavy-handed.
2) Add a "tuple" file parallel to gmock-port.h -- still makes assumptions
about boost's structure.
3) Add boost/tr1/tr1 into the include path -- dirties the include path for
all dependencies.