rj_schema 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (323) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +4 -0
  3. data/ext/rj_schema/rapidjson/thirdparty/gtest/CMakeLists.txt +16 -0
  4. data/ext/rj_schema/rapidjson/thirdparty/gtest/README.md +141 -0
  5. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CHANGES +126 -0
  6. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CMakeLists.txt +202 -0
  7. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CONTRIBUTORS +40 -0
  8. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/LICENSE +28 -0
  9. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/Makefile.am +224 -0
  10. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/README.md +333 -0
  11. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/configure.ac +146 -0
  12. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CheatSheet.md +562 -0
  13. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CookBook.md +3675 -0
  14. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/DesignDoc.md +280 -0
  15. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/DevGuide.md +132 -0
  16. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/Documentation.md +12 -0
  17. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/ForDummies.md +439 -0
  18. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/FrequentlyAskedQuestions.md +628 -0
  19. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/KnownIssues.md +19 -0
  20. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CheatSheet.md +525 -0
  21. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CookBook.md +3250 -0
  22. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/Documentation.md +11 -0
  23. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/ForDummies.md +439 -0
  24. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/FrequentlyAskedQuestions.md +624 -0
  25. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CheatSheet.md +534 -0
  26. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CookBook.md +3342 -0
  27. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/Documentation.md +12 -0
  28. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/ForDummies.md +439 -0
  29. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/FrequentlyAskedQuestions.md +628 -0
  30. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CheatSheet.md +556 -0
  31. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CookBook.md +3432 -0
  32. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/Documentation.md +12 -0
  33. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/ForDummies.md +439 -0
  34. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/FrequentlyAskedQuestions.md +628 -0
  35. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-actions.h +1205 -0
  36. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-cardinalities.h +147 -0
  37. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h +2377 -0
  38. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h.pump +794 -0
  39. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h +1095 -0
  40. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +291 -0
  41. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h +2179 -0
  42. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h.pump +672 -0
  43. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h +397 -0
  44. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +161 -0
  45. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-matchers.h +4399 -0
  46. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-actions.h +246 -0
  47. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-matchers.h +58 -0
  48. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-spec-builders.h +1847 -0
  49. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock.h +94 -0
  50. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +8 -0
  51. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +10 -0
  52. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-matchers.h +39 -0
  53. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-port.h +46 -0
  54. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +279 -0
  55. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump +136 -0
  56. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-internal-utils.h +511 -0
  57. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-port.h +91 -0
  58. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/make/Makefile +101 -0
  59. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.sln +32 -0
  60. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.vcproj +191 -0
  61. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_config.vsprops +15 -0
  62. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_main.vcproj +187 -0
  63. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_test.vcproj +201 -0
  64. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.sln +32 -0
  65. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.vcxproj +82 -0
  66. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_config.props +19 -0
  67. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_main.vcxproj +88 -0
  68. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_test.vcxproj +101 -0
  69. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.sln +32 -0
  70. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.vcxproj +84 -0
  71. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_config.props +19 -0
  72. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_main.vcxproj +90 -0
  73. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_test.vcxproj +103 -0
  74. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/fuse_gmock_files.py +240 -0
  75. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/LICENSE +203 -0
  76. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README +35 -0
  77. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README.cppclean +115 -0
  78. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/__init__.py +0 -0
  79. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/ast.py +1733 -0
  80. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class.py +227 -0
  81. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class_test.py +448 -0
  82. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/keywords.py +59 -0
  83. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/tokenize.py +287 -0
  84. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/utils.py +41 -0
  85. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/gmock_gen.py +31 -0
  86. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/gmock-config.in +303 -0
  87. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/gmock_doctor.py +640 -0
  88. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/upload.py +1387 -0
  89. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/upload_gmock.py +78 -0
  90. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-all.cc +47 -0
  91. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-cardinalities.cc +156 -0
  92. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-internal-utils.cc +174 -0
  93. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-matchers.cc +498 -0
  94. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-spec-builders.cc +823 -0
  95. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock.cc +183 -0
  96. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock_main.cc +54 -0
  97. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-actions_test.cc +1411 -0
  98. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-cardinalities_test.cc +428 -0
  99. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-actions_test.cc +1228 -0
  100. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-function-mockers_test.cc +622 -0
  101. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-internal-utils_test.cc +127 -0
  102. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-matchers_test.cc +1286 -0
  103. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-internal-utils_test.cc +699 -0
  104. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-matchers_test.cc +5648 -0
  105. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-more-actions_test.cc +708 -0
  106. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-nice-strict_test.cc +424 -0
  107. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-port_test.cc +43 -0
  108. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-spec-builders_test.cc +2644 -0
  109. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_all_test.cc +51 -0
  110. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_ex_test.cc +81 -0
  111. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test.py +108 -0
  112. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test_.cc +100 -0
  113. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link2_test.cc +40 -0
  114. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.cc +40 -0
  115. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.h +669 -0
  116. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test.py +180 -0
  117. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_.cc +291 -0
  118. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_golden.txt +310 -0
  119. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_stress_test.cc +322 -0
  120. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test.cc +220 -0
  121. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test_utils.py +112 -0
  122. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CHANGES +157 -0
  123. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt +286 -0
  124. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CONTRIBUTORS +37 -0
  125. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/LICENSE +28 -0
  126. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/Makefile.am +310 -0
  127. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/README.md +280 -0
  128. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/cmake/internal_utils.cmake +242 -0
  129. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest.cbproj +138 -0
  130. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest.groupproj +54 -0
  131. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_all.cc +38 -0
  132. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_link.cc +40 -0
  133. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_main.cbproj +82 -0
  134. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_unittest.cbproj +88 -0
  135. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/configure.ac +68 -0
  136. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/AdvancedGuide.md +2182 -0
  137. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/DevGuide.md +126 -0
  138. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Documentation.md +14 -0
  139. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/FAQ.md +1087 -0
  140. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Primer.md +502 -0
  141. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/PumpManual.md +177 -0
  142. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Samples.md +14 -0
  143. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_AdvancedGuide.md +2096 -0
  144. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Documentation.md +12 -0
  145. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_FAQ.md +886 -0
  146. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Primer.md +497 -0
  147. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_PumpManual.md +177 -0
  148. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_XcodeGuide.md +93 -0
  149. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_AdvancedGuide.md +2178 -0
  150. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Documentation.md +14 -0
  151. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_FAQ.md +1038 -0
  152. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Primer.md +501 -0
  153. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_PumpManual.md +177 -0
  154. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Samples.md +14 -0
  155. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_XcodeGuide.md +93 -0
  156. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_AdvancedGuide.md +2181 -0
  157. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Documentation.md +14 -0
  158. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_FAQ.md +1082 -0
  159. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Primer.md +501 -0
  160. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_PumpManual.md +177 -0
  161. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Samples.md +14 -0
  162. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_XcodeGuide.md +93 -0
  163. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/XcodeGuide.md +93 -0
  164. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-death-test.h +294 -0
  165. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-message.h +250 -0
  166. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h +1444 -0
  167. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  168. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-printers.h +993 -0
  169. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-spi.h +232 -0
  170. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-test-part.h +179 -0
  171. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-typed-test.h +263 -0
  172. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest.h +2236 -0
  173. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_pred_impl.h +358 -0
  174. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_prod.h +58 -0
  175. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  176. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  177. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest.h +41 -0
  178. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  179. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  180. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  181. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  182. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  183. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  184. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  185. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  186. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port.h +2554 -0
  187. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-string.h +167 -0
  188. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  189. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  190. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  191. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  192. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/m4/acx_pthread.m4 +363 -0
  193. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/m4/gtest.m4 +74 -0
  194. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/make/Makefile +82 -0
  195. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.sln +45 -0
  196. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.vcproj +126 -0
  197. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.sln +45 -0
  198. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.vcproj +126 -0
  199. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main-md.vcproj +129 -0
  200. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main.vcproj +129 -0
  201. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test-md.vcproj +164 -0
  202. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test.vcproj +164 -0
  203. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest-md.vcproj +147 -0
  204. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest.vcproj +147 -0
  205. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/prime_tables.h +123 -0
  206. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1.cc +68 -0
  207. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1.h +43 -0
  208. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample10_unittest.cc +144 -0
  209. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1_unittest.cc +153 -0
  210. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2.cc +56 -0
  211. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2.h +85 -0
  212. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2_unittest.cc +109 -0
  213. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample3-inl.h +172 -0
  214. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample3_unittest.cc +151 -0
  215. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4.cc +46 -0
  216. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4.h +53 -0
  217. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4_unittest.cc +45 -0
  218. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample5_unittest.cc +199 -0
  219. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample6_unittest.cc +224 -0
  220. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample7_unittest.cc +130 -0
  221. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample8_unittest.cc +173 -0
  222. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample9_unittest.cc +160 -0
  223. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/common.py +83 -0
  224. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/fuse_gtest_files.py +253 -0
  225. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/gen_gtest_pred_impl.py +730 -0
  226. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/gtest-config.in +274 -0
  227. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/pump.py +855 -0
  228. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/release_docs.py +158 -0
  229. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/test/Makefile +59 -0
  230. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/upload.py +1387 -0
  231. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/upload_gtest.py +78 -0
  232. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-all.cc +48 -0
  233. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-death-test.cc +1342 -0
  234. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-filepath.cc +387 -0
  235. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-internal-inl.h +1183 -0
  236. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-port.cc +1259 -0
  237. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-printers.cc +373 -0
  238. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-test-part.cc +110 -0
  239. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-typed-test.cc +118 -0
  240. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest.cc +5388 -0
  241. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest_main.cc +38 -0
  242. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_ex_test.cc +93 -0
  243. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_test.cc +1427 -0
  244. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-filepath_test.cc +662 -0
  245. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-linked_ptr_test.cc +154 -0
  246. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-listener_test.cc +311 -0
  247. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-message_test.cc +159 -0
  248. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-options_test.cc +215 -0
  249. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test2_test.cc +65 -0
  250. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.cc +1055 -0
  251. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.h +57 -0
  252. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-port_test.cc +1304 -0
  253. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-printers_test.cc +1635 -0
  254. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-test-part_test.cc +208 -0
  255. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-tuple_test.cc +320 -0
  256. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test2_test.cc +45 -0
  257. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.cc +380 -0
  258. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.h +66 -0
  259. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-unittest-api_test.cc +341 -0
  260. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_all_test.cc +47 -0
  261. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest.py +212 -0
  262. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest_.cc +88 -0
  263. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test.py +237 -0
  264. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test_.cc +311 -0
  265. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test.py +130 -0
  266. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test_.cc +71 -0
  267. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test.py +117 -0
  268. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test_.cc +126 -0
  269. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_environment_test.cc +192 -0
  270. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest.py +636 -0
  271. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest_.cc +140 -0
  272. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test.py +172 -0
  273. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test_.cc +46 -0
  274. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest.py +207 -0
  275. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest_.cc +157 -0
  276. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_main_unittest.cc +45 -0
  277. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_no_test_unittest.cc +56 -0
  278. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test.py +340 -0
  279. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_.cc +1062 -0
  280. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_golden_lin.txt +743 -0
  281. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_pred_impl_unittest.cc +2427 -0
  282. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_premature_exit_test.cc +127 -0
  283. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_prod_test.cc +57 -0
  284. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_repeat_test.cc +253 -0
  285. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test.py +325 -0
  286. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test_.cc +103 -0
  287. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_sole_header_test.cc +57 -0
  288. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_stress_test.cc +256 -0
  289. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_test_utils.py +320 -0
  290. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_ex_test.cc +92 -0
  291. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test.py +171 -0
  292. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test_.cc +72 -0
  293. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test.py +70 -0
  294. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test_.cc +43 -0
  295. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_unittest.cc +7706 -0
  296. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile1_test_.cc +49 -0
  297. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile2_test_.cc +49 -0
  298. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfiles_test.py +132 -0
  299. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest.py +308 -0
  300. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest_.cc +181 -0
  301. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_test_utils.py +194 -0
  302. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.cc +36 -0
  303. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.h +55 -0
  304. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/DebugProject.xcconfig +30 -0
  305. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/FrameworkTarget.xcconfig +17 -0
  306. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/General.xcconfig +41 -0
  307. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/ReleaseProject.xcconfig +32 -0
  308. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/StaticLibraryTarget.xcconfig +18 -0
  309. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/TestTarget.xcconfig +8 -0
  310. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Resources/Info.plist +30 -0
  311. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/Info.plist +28 -0
  312. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj +457 -0
  313. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/runtests.sh +62 -0
  314. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.cc +63 -0
  315. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.h +59 -0
  316. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget_test.cc +68 -0
  317. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/runtests.sh +65 -0
  318. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/versiongenerate.py +100 -0
  319. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/gtest.xcodeproj/project.pbxproj +1135 -0
  320. data/ext/rj_schema/rapidjson/thirdparty/gtest/travis.sh +15 -0
  321. data/ext/rj_schema/rj_schema.cpp +64 -41
  322. data/lib/rj_schema.rb +1 -1
  323. metadata +378 -5
@@ -0,0 +1,280 @@
1
+
2
+ ### Generic Build Instructions ###
3
+
4
+ #### Setup ####
5
+
6
+ To build Google Test and your tests that use it, you need to tell your
7
+ build system where to find its headers and source files. The exact
8
+ way to do it depends on which build system you use, and is usually
9
+ straightforward.
10
+
11
+ #### Build ####
12
+
13
+ Suppose you put Google Test in directory `${GTEST_DIR}`. To build it,
14
+ create a library build target (or a project as called by Visual Studio
15
+ and Xcode) to compile
16
+
17
+ ${GTEST_DIR}/src/gtest-all.cc
18
+
19
+ with `${GTEST_DIR}/include` in the system header search path and `${GTEST_DIR}`
20
+ in the normal header search path. Assuming a Linux-like system and gcc,
21
+ something like the following will do:
22
+
23
+ g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
24
+ -pthread -c ${GTEST_DIR}/src/gtest-all.cc
25
+ ar -rv libgtest.a gtest-all.o
26
+
27
+ (We need `-pthread` as Google Test uses threads.)
28
+
29
+ Next, you should compile your test source file with
30
+ `${GTEST_DIR}/include` in the system header search path, and link it
31
+ with gtest and any other necessary libraries:
32
+
33
+ g++ -isystem ${GTEST_DIR}/include -pthread path/to/your_test.cc libgtest.a \
34
+ -o your_test
35
+
36
+ As an example, the make/ directory contains a Makefile that you can
37
+ use to build Google Test on systems where GNU make is available
38
+ (e.g. Linux, Mac OS X, and Cygwin). It doesn't try to build Google
39
+ Test's own tests. Instead, it just builds the Google Test library and
40
+ a sample test. You can use it as a starting point for your own build
41
+ script.
42
+
43
+ If the default settings are correct for your environment, the
44
+ following commands should succeed:
45
+
46
+ cd ${GTEST_DIR}/make
47
+ make
48
+ ./sample1_unittest
49
+
50
+ If you see errors, try to tweak the contents of `make/Makefile` to make
51
+ them go away. There are instructions in `make/Makefile` on how to do
52
+ it.
53
+
54
+ ### Using CMake ###
55
+
56
+ Google Test comes with a CMake build script (
57
+ [CMakeLists.txt](CMakeLists.txt)) that can be used on a wide range of platforms ("C" stands for
58
+ cross-platform.). If you don't have CMake installed already, you can
59
+ download it for free from <http://www.cmake.org/>.
60
+
61
+ CMake works by generating native makefiles or build projects that can
62
+ be used in the compiler environment of your choice. The typical
63
+ workflow starts with:
64
+
65
+ mkdir mybuild # Create a directory to hold the build output.
66
+ cd mybuild
67
+ cmake ${GTEST_DIR} # Generate native build scripts.
68
+
69
+ If you want to build Google Test's samples, you should replace the
70
+ last command with
71
+
72
+ cmake -Dgtest_build_samples=ON ${GTEST_DIR}
73
+
74
+ If you are on a \*nix system, you should now see a Makefile in the
75
+ current directory. Just type 'make' to build gtest.
76
+
77
+ If you use Windows and have Visual Studio installed, a `gtest.sln` file
78
+ and several `.vcproj` files will be created. You can then build them
79
+ using Visual Studio.
80
+
81
+ On Mac OS X with Xcode installed, a `.xcodeproj` file will be generated.
82
+
83
+ ### Legacy Build Scripts ###
84
+
85
+ Before settling on CMake, we have been providing hand-maintained build
86
+ projects/scripts for Visual Studio, Xcode, and Autotools. While we
87
+ continue to provide them for convenience, they are not actively
88
+ maintained any more. We highly recommend that you follow the
89
+ instructions in the previous two sections to integrate Google Test
90
+ with your existing build system.
91
+
92
+ If you still need to use the legacy build scripts, here's how:
93
+
94
+ The msvc\ folder contains two solutions with Visual C++ projects.
95
+ Open the `gtest.sln` or `gtest-md.sln` file using Visual Studio, and you
96
+ are ready to build Google Test the same way you build any Visual
97
+ Studio project. Files that have names ending with -md use DLL
98
+ versions of Microsoft runtime libraries (the /MD or the /MDd compiler
99
+ option). Files without that suffix use static versions of the runtime
100
+ libraries (the /MT or the /MTd option). Please note that one must use
101
+ the same option to compile both gtest and the test code. If you use
102
+ Visual Studio 2005 or above, we recommend the -md version as /MD is
103
+ the default for new projects in these versions of Visual Studio.
104
+
105
+ On Mac OS X, open the `gtest.xcodeproj` in the `xcode/` folder using
106
+ Xcode. Build the "gtest" target. The universal binary framework will
107
+ end up in your selected build directory (selected in the Xcode
108
+ "Preferences..." -> "Building" pane and defaults to xcode/build).
109
+ Alternatively, at the command line, enter:
110
+
111
+ xcodebuild
112
+
113
+ This will build the "Release" configuration of gtest.framework in your
114
+ default build location. See the "xcodebuild" man page for more
115
+ information about building different configurations and building in
116
+ different locations.
117
+
118
+ If you wish to use the Google Test Xcode project with Xcode 4.x and
119
+ above, you need to either:
120
+
121
+ * update the SDK configuration options in xcode/Config/General.xconfig.
122
+ Comment options `SDKROOT`, `MACOS_DEPLOYMENT_TARGET`, and `GCC_VERSION`. If
123
+ you choose this route you lose the ability to target earlier versions
124
+ of MacOS X.
125
+ * Install an SDK for an earlier version. This doesn't appear to be
126
+ supported by Apple, but has been reported to work
127
+ (http://stackoverflow.com/questions/5378518).
128
+
129
+ ### Tweaking Google Test ###
130
+
131
+ Google Test can be used in diverse environments. The default
132
+ configuration may not work (or may not work well) out of the box in
133
+ some environments. However, you can easily tweak Google Test by
134
+ defining control macros on the compiler command line. Generally,
135
+ these macros are named like `GTEST_XYZ` and you define them to either 1
136
+ or 0 to enable or disable a certain feature.
137
+
138
+ We list the most frequently used macros below. For a complete list,
139
+ see file [include/gtest/internal/gtest-port.h](include/gtest/internal/gtest-port.h).
140
+
141
+ ### Choosing a TR1 Tuple Library ###
142
+
143
+ Some Google Test features require the C++ Technical Report 1 (TR1)
144
+ tuple library, which is not yet available with all compilers. The
145
+ good news is that Google Test implements a subset of TR1 tuple that's
146
+ enough for its own need, and will automatically use this when the
147
+ compiler doesn't provide TR1 tuple.
148
+
149
+ Usually you don't need to care about which tuple library Google Test
150
+ uses. However, if your project already uses TR1 tuple, you need to
151
+ tell Google Test to use the same TR1 tuple library the rest of your
152
+ project uses, or the two tuple implementations will clash. To do
153
+ that, add
154
+
155
+ -DGTEST_USE_OWN_TR1_TUPLE=0
156
+
157
+ to the compiler flags while compiling Google Test and your tests. If
158
+ you want to force Google Test to use its own tuple library, just add
159
+
160
+ -DGTEST_USE_OWN_TR1_TUPLE=1
161
+
162
+ to the compiler flags instead.
163
+
164
+ If you don't want Google Test to use tuple at all, add
165
+
166
+ -DGTEST_HAS_TR1_TUPLE=0
167
+
168
+ and all features using tuple will be disabled.
169
+
170
+ ### Multi-threaded Tests ###
171
+
172
+ Google Test is thread-safe where the pthread library is available.
173
+ After `#include "gtest/gtest.h"`, you can check the `GTEST_IS_THREADSAFE`
174
+ macro to see whether this is the case (yes if the macro is `#defined` to
175
+ 1, no if it's undefined.).
176
+
177
+ If Google Test doesn't correctly detect whether pthread is available
178
+ in your environment, you can force it with
179
+
180
+ -DGTEST_HAS_PTHREAD=1
181
+
182
+ or
183
+
184
+ -DGTEST_HAS_PTHREAD=0
185
+
186
+ When Google Test uses pthread, you may need to add flags to your
187
+ compiler and/or linker to select the pthread library, or you'll get
188
+ link errors. If you use the CMake script or the deprecated Autotools
189
+ script, this is taken care of for you. If you use your own build
190
+ script, you'll need to read your compiler and linker's manual to
191
+ figure out what flags to add.
192
+
193
+ ### As a Shared Library (DLL) ###
194
+
195
+ Google Test is compact, so most users can build and link it as a
196
+ static library for the simplicity. You can choose to use Google Test
197
+ as a shared library (known as a DLL on Windows) if you prefer.
198
+
199
+ To compile *gtest* as a shared library, add
200
+
201
+ -DGTEST_CREATE_SHARED_LIBRARY=1
202
+
203
+ to the compiler flags. You'll also need to tell the linker to produce
204
+ a shared library instead - consult your linker's manual for how to do
205
+ it.
206
+
207
+ To compile your *tests* that use the gtest shared library, add
208
+
209
+ -DGTEST_LINKED_AS_SHARED_LIBRARY=1
210
+
211
+ to the compiler flags.
212
+
213
+ Note: while the above steps aren't technically necessary today when
214
+ using some compilers (e.g. GCC), they may become necessary in the
215
+ future, if we decide to improve the speed of loading the library (see
216
+ <http://gcc.gnu.org/wiki/Visibility> for details). Therefore you are
217
+ recommended to always add the above flags when using Google Test as a
218
+ shared library. Otherwise a future release of Google Test may break
219
+ your build script.
220
+
221
+ ### Avoiding Macro Name Clashes ###
222
+
223
+ In C++, macros don't obey namespaces. Therefore two libraries that
224
+ both define a macro of the same name will clash if you `#include` both
225
+ definitions. In case a Google Test macro clashes with another
226
+ library, you can force Google Test to rename its macro to avoid the
227
+ conflict.
228
+
229
+ Specifically, if both Google Test and some other code define macro
230
+ FOO, you can add
231
+
232
+ -DGTEST_DONT_DEFINE_FOO=1
233
+
234
+ to the compiler flags to tell Google Test to change the macro's name
235
+ from `FOO` to `GTEST_FOO`. Currently `FOO` can be `FAIL`, `SUCCEED`,
236
+ or `TEST`. For example, with `-DGTEST_DONT_DEFINE_TEST=1`, you'll
237
+ need to write
238
+
239
+ GTEST_TEST(SomeTest, DoesThis) { ... }
240
+
241
+ instead of
242
+
243
+ TEST(SomeTest, DoesThis) { ... }
244
+
245
+ in order to define a test.
246
+
247
+ ## Developing Google Test ##
248
+
249
+ This section discusses how to make your own changes to Google Test.
250
+
251
+ ### Testing Google Test Itself ###
252
+
253
+ To make sure your changes work as intended and don't break existing
254
+ functionality, you'll want to compile and run Google Test's own tests.
255
+ For that you can use CMake:
256
+
257
+ mkdir mybuild
258
+ cd mybuild
259
+ cmake -Dgtest_build_tests=ON ${GTEST_DIR}
260
+
261
+ Make sure you have Python installed, as some of Google Test's tests
262
+ are written in Python. If the cmake command complains about not being
263
+ able to find Python (`Could NOT find PythonInterp (missing:
264
+ PYTHON_EXECUTABLE)`), try telling it explicitly where your Python
265
+ executable can be found:
266
+
267
+ cmake -DPYTHON_EXECUTABLE=path/to/python -Dgtest_build_tests=ON ${GTEST_DIR}
268
+
269
+ Next, you can build Google Test and all of its own tests. On \*nix,
270
+ this is usually done by 'make'. To run the tests, do
271
+
272
+ make test
273
+
274
+ All tests should pass.
275
+
276
+ Normally you don't need to worry about regenerating the source files,
277
+ unless you need to modify them. In that case, you should modify the
278
+ corresponding .pump files instead and run the pump.py Python script to
279
+ regenerate them. You can find pump.py in the [scripts/](scripts/) directory.
280
+ Read the [Pump manual](docs/PumpManual.md) for how to use it.
@@ -0,0 +1,242 @@
1
+ # Defines functions and macros useful for building Google Test and
2
+ # Google Mock.
3
+ #
4
+ # Note:
5
+ #
6
+ # - This file will be run twice when building Google Mock (once via
7
+ # Google Test's CMakeLists.txt, and once via Google Mock's).
8
+ # Therefore it shouldn't have any side effects other than defining
9
+ # the functions and macros.
10
+ #
11
+ # - The functions/macros defined in this file may depend on Google
12
+ # Test and Google Mock's option() definitions, and thus must be
13
+ # called *after* the options have been defined.
14
+
15
+ # Tweaks CMake's default compiler/linker settings to suit Google Test's needs.
16
+ #
17
+ # This must be a macro(), as inside a function string() can only
18
+ # update variables in the function scope.
19
+ macro(fix_default_compiler_settings_)
20
+ if (MSVC)
21
+ # For MSVC, CMake sets certain flags to defaults we want to override.
22
+ # This replacement code is taken from sample in the CMake Wiki at
23
+ # http://www.cmake.org/Wiki/CMake_FAQ#Dynamic_Replace.
24
+ foreach (flag_var
25
+ CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
26
+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
27
+ if (NOT BUILD_SHARED_LIBS AND NOT gtest_force_shared_crt)
28
+ # When Google Test is built as a shared library, it should also use
29
+ # shared runtime libraries. Otherwise, it may end up with multiple
30
+ # copies of runtime library data in different modules, resulting in
31
+ # hard-to-find crashes. When it is built as a static library, it is
32
+ # preferable to use CRT as static libraries, as we don't have to rely
33
+ # on CRT DLLs being available. CMake always defaults to using shared
34
+ # CRT libraries, so we override that default here.
35
+ string(REPLACE "/MD" "-MT" ${flag_var} "${${flag_var}}")
36
+ endif()
37
+
38
+ # We prefer more strict warning checking for building Google Test.
39
+ # Replaces /W3 with /W4 in defaults.
40
+ string(REPLACE "/W3" "/W4" ${flag_var} "${${flag_var}}")
41
+ endforeach()
42
+ endif()
43
+ endmacro()
44
+
45
+ # Defines the compiler/linker flags used to build Google Test and
46
+ # Google Mock. You can tweak these definitions to suit your need. A
47
+ # variable's value is empty before it's explicitly assigned to.
48
+ macro(config_compiler_and_linker)
49
+ if (NOT gtest_disable_pthreads)
50
+ # Defines CMAKE_USE_PTHREADS_INIT and CMAKE_THREAD_LIBS_INIT.
51
+ find_package(Threads)
52
+ endif()
53
+
54
+ fix_default_compiler_settings_()
55
+ if (MSVC)
56
+ # Newlines inside flags variables break CMake's NMake generator.
57
+ # TODO(vladl@google.com): Add -RTCs and -RTCu to debug builds.
58
+ set(cxx_base_flags "-GS -W4 -WX -wd4251 -wd4275 -nologo -J -Zi")
59
+ if (MSVC_VERSION LESS 1400) # 1400 is Visual Studio 2005
60
+ # Suppress spurious warnings MSVC 7.1 sometimes issues.
61
+ # Forcing value to bool.
62
+ set(cxx_base_flags "${cxx_base_flags} -wd4800")
63
+ # Copy constructor and assignment operator could not be generated.
64
+ set(cxx_base_flags "${cxx_base_flags} -wd4511 -wd4512")
65
+ # Compatibility warnings not applicable to Google Test.
66
+ # Resolved overload was found by argument-dependent lookup.
67
+ set(cxx_base_flags "${cxx_base_flags} -wd4675")
68
+ endif()
69
+ if (MSVC_VERSION LESS 1500) # 1500 is Visual Studio 2008
70
+ # Conditional expression is constant.
71
+ # When compiling with /W4, we get several instances of C4127
72
+ # (Conditional expression is constant). In our code, we disable that
73
+ # warning on a case-by-case basis. However, on Visual Studio 2005,
74
+ # the warning fires on std::list. Therefore on that compiler and earlier,
75
+ # we disable the warning project-wide.
76
+ set(cxx_base_flags "${cxx_base_flags} -wd4127")
77
+ endif()
78
+ if (NOT (MSVC_VERSION LESS 1700)) # 1700 is Visual Studio 2012.
79
+ # Suppress "unreachable code" warning on VS 2012 and later.
80
+ # http://stackoverflow.com/questions/3232669 explains the issue.
81
+ set(cxx_base_flags "${cxx_base_flags} -wd4702")
82
+ endif()
83
+
84
+ set(cxx_base_flags "${cxx_base_flags} -D_UNICODE -DUNICODE -DWIN32 -D_WIN32")
85
+ set(cxx_base_flags "${cxx_base_flags} -DSTRICT -DWIN32_LEAN_AND_MEAN")
86
+ set(cxx_exception_flags "-EHsc -D_HAS_EXCEPTIONS=1")
87
+ set(cxx_no_exception_flags "-D_HAS_EXCEPTIONS=0")
88
+ set(cxx_no_rtti_flags "-GR-")
89
+ elseif (CMAKE_COMPILER_IS_GNUCXX)
90
+ set(cxx_base_flags "-Wall -Wshadow")
91
+ set(cxx_exception_flags "-fexceptions")
92
+ set(cxx_no_exception_flags "-fno-exceptions")
93
+ # Until version 4.3.2, GCC doesn't define a macro to indicate
94
+ # whether RTTI is enabled. Therefore we define GTEST_HAS_RTTI
95
+ # explicitly.
96
+ set(cxx_no_rtti_flags "-fno-rtti -DGTEST_HAS_RTTI=0")
97
+ set(cxx_strict_flags
98
+ "-Wextra -Wno-unused-parameter -Wno-missing-field-initializers")
99
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
100
+ set(cxx_exception_flags "-features=except")
101
+ # Sun Pro doesn't provide macros to indicate whether exceptions and
102
+ # RTTI are enabled, so we define GTEST_HAS_* explicitly.
103
+ set(cxx_no_exception_flags "-features=no%except -DGTEST_HAS_EXCEPTIONS=0")
104
+ set(cxx_no_rtti_flags "-features=no%rtti -DGTEST_HAS_RTTI=0")
105
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "VisualAge" OR
106
+ CMAKE_CXX_COMPILER_ID STREQUAL "XL")
107
+ # CMake 2.8 changes Visual Age's compiler ID to "XL".
108
+ set(cxx_exception_flags "-qeh")
109
+ set(cxx_no_exception_flags "-qnoeh")
110
+ # Until version 9.0, Visual Age doesn't define a macro to indicate
111
+ # whether RTTI is enabled. Therefore we define GTEST_HAS_RTTI
112
+ # explicitly.
113
+ set(cxx_no_rtti_flags "-qnortti -DGTEST_HAS_RTTI=0")
114
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "HP")
115
+ set(cxx_base_flags "-AA -mt")
116
+ set(cxx_exception_flags "-DGTEST_HAS_EXCEPTIONS=1")
117
+ set(cxx_no_exception_flags "+noeh -DGTEST_HAS_EXCEPTIONS=0")
118
+ # RTTI can not be disabled in HP aCC compiler.
119
+ set(cxx_no_rtti_flags "")
120
+ endif()
121
+
122
+ if (CMAKE_USE_PTHREADS_INIT) # The pthreads library is available and allowed.
123
+ set(cxx_base_flags "${cxx_base_flags} -DGTEST_HAS_PTHREAD=1")
124
+ else()
125
+ set(cxx_base_flags "${cxx_base_flags} -DGTEST_HAS_PTHREAD=0")
126
+ endif()
127
+
128
+ # For building gtest's own tests and samples.
129
+ set(cxx_exception "${CMAKE_CXX_FLAGS} ${cxx_base_flags} ${cxx_exception_flags}")
130
+ set(cxx_no_exception
131
+ "${CMAKE_CXX_FLAGS} ${cxx_base_flags} ${cxx_no_exception_flags}")
132
+ set(cxx_default "${cxx_exception}")
133
+ set(cxx_no_rtti "${cxx_default} ${cxx_no_rtti_flags}")
134
+ set(cxx_use_own_tuple "${cxx_default} -DGTEST_USE_OWN_TR1_TUPLE=1")
135
+
136
+ # For building the gtest libraries.
137
+ set(cxx_strict "${cxx_default} ${cxx_strict_flags}")
138
+ endmacro()
139
+
140
+ # Defines the gtest & gtest_main libraries. User tests should link
141
+ # with one of them.
142
+ function(cxx_library_with_type name type cxx_flags)
143
+ # type can be either STATIC or SHARED to denote a static or shared library.
144
+ # ARGN refers to additional arguments after 'cxx_flags'.
145
+ add_library(${name} ${type} ${ARGN})
146
+ set_target_properties(${name}
147
+ PROPERTIES
148
+ COMPILE_FLAGS "${cxx_flags}")
149
+ if (BUILD_SHARED_LIBS OR type STREQUAL "SHARED")
150
+ set_target_properties(${name}
151
+ PROPERTIES
152
+ COMPILE_DEFINITIONS "GTEST_CREATE_SHARED_LIBRARY=1")
153
+ endif()
154
+ if (CMAKE_USE_PTHREADS_INIT)
155
+ target_link_libraries(${name} ${CMAKE_THREAD_LIBS_INIT})
156
+ endif()
157
+ endfunction()
158
+
159
+ ########################################################################
160
+ #
161
+ # Helper functions for creating build targets.
162
+
163
+ function(cxx_shared_library name cxx_flags)
164
+ cxx_library_with_type(${name} SHARED "${cxx_flags}" ${ARGN})
165
+ endfunction()
166
+
167
+ function(cxx_library name cxx_flags)
168
+ cxx_library_with_type(${name} "" "${cxx_flags}" ${ARGN})
169
+ endfunction()
170
+
171
+ # cxx_executable_with_flags(name cxx_flags libs srcs...)
172
+ #
173
+ # creates a named C++ executable that depends on the given libraries and
174
+ # is built from the given source files with the given compiler flags.
175
+ function(cxx_executable_with_flags name cxx_flags libs)
176
+ add_executable(${name} ${ARGN})
177
+ if (cxx_flags)
178
+ set_target_properties(${name}
179
+ PROPERTIES
180
+ COMPILE_FLAGS "${cxx_flags}")
181
+ endif()
182
+ if (BUILD_SHARED_LIBS)
183
+ set_target_properties(${name}
184
+ PROPERTIES
185
+ COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
186
+ endif()
187
+ # To support mixing linking in static and dynamic libraries, link each
188
+ # library in with an extra call to target_link_libraries.
189
+ foreach (lib "${libs}")
190
+ target_link_libraries(${name} ${lib})
191
+ endforeach()
192
+ endfunction()
193
+
194
+ # cxx_executable(name dir lib srcs...)
195
+ #
196
+ # creates a named target that depends on the given libs and is built
197
+ # from the given source files. dir/name.cc is implicitly included in
198
+ # the source file list.
199
+ function(cxx_executable name dir libs)
200
+ cxx_executable_with_flags(
201
+ ${name} "${cxx_default}" "${libs}" "${dir}/${name}.cc" ${ARGN})
202
+ endfunction()
203
+
204
+ # Sets PYTHONINTERP_FOUND and PYTHON_EXECUTABLE.
205
+ find_package(PythonInterp)
206
+
207
+ # cxx_test_with_flags(name cxx_flags libs srcs...)
208
+ #
209
+ # creates a named C++ test that depends on the given libs and is built
210
+ # from the given source files with the given compiler flags.
211
+ function(cxx_test_with_flags name cxx_flags libs)
212
+ cxx_executable_with_flags(${name} "${cxx_flags}" "${libs}" ${ARGN})
213
+ add_test(${name} ${name})
214
+ endfunction()
215
+
216
+ # cxx_test(name libs srcs...)
217
+ #
218
+ # creates a named test target that depends on the given libs and is
219
+ # built from the given source files. Unlike cxx_test_with_flags,
220
+ # test/name.cc is already implicitly included in the source file list.
221
+ function(cxx_test name libs)
222
+ cxx_test_with_flags("${name}" "${cxx_default}" "${libs}"
223
+ "test/${name}.cc" ${ARGN})
224
+ endfunction()
225
+
226
+ # py_test(name)
227
+ #
228
+ # creates a Python test with the given name whose main module is in
229
+ # test/name.py. It does nothing if Python is not installed.
230
+ function(py_test name)
231
+ # We are not supporting Python tests on Linux yet as they consider
232
+ # all Linux environments to be google3 and try to use google3 features.
233
+ if (PYTHONINTERP_FOUND)
234
+ # ${CMAKE_BINARY_DIR} is known at configuration time, so we can
235
+ # directly bind it from cmake. ${CTEST_CONFIGURATION_TYPE} is known
236
+ # only at ctest runtime (by calling ctest -c <Configuration>), so
237
+ # we have to escape $ to delay variable substitution here.
238
+ add_test(${name}
239
+ ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
240
+ --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
241
+ endif()
242
+ endfunction()