Index: testing/README.chromium |
diff --git a/testing/README.chromium b/testing/README.chromium |
new file mode 100644 |
index 0000000000000000000000000000000000000000..67e64510e1c93c9ddeb397602f3bdad8f2a3e8ce |
--- /dev/null |
+++ b/testing/README.chromium |
@@ -0,0 +1,58 @@ |
+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. |