This page lists all documentation wiki pages for Google Test **1.6**
-- **if you use a released version of Google Test, please read the
documentation for that specific version instead.**

  * [Primer](V1_6_Primer.md) -- start here if you are new to Google Test.
  * [Samples](V1_6_Samples.md) -- learn from examples.
  * [AdvancedGuide](V1_6_AdvancedGuide.md) -- learn more about Google Test.
  * [XcodeGuide](V1_6_XcodeGuide.md) -- how to use Google Test in Xcode on Mac.
  * [Frequently-Asked Questions](V1_6_FAQ.md) -- check here before asking a question on the mailing list.

To contribute code to Google Test, read:

  * [DevGuide](DevGuide.md) -- read this _before_ writing your first patch.
  * [PumpManual](V1_6_PumpManual.md) -- how we generate some of Google Test's source files.