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.
- checksums.yaml +5 -5
- data/Rakefile +4 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/CMakeLists.txt +16 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/README.md +141 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CHANGES +126 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CMakeLists.txt +202 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CONTRIBUTORS +40 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/LICENSE +28 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/Makefile.am +224 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/README.md +333 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/configure.ac +146 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CheatSheet.md +562 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CookBook.md +3675 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/DesignDoc.md +280 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/DevGuide.md +132 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/Documentation.md +12 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/ForDummies.md +439 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/FrequentlyAskedQuestions.md +628 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/KnownIssues.md +19 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CheatSheet.md +525 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CookBook.md +3250 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/Documentation.md +11 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/ForDummies.md +439 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/FrequentlyAskedQuestions.md +624 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CheatSheet.md +534 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CookBook.md +3342 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/Documentation.md +12 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/ForDummies.md +439 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/FrequentlyAskedQuestions.md +628 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CheatSheet.md +556 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CookBook.md +3432 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/Documentation.md +12 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/ForDummies.md +439 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/FrequentlyAskedQuestions.md +628 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-actions.h +1205 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-cardinalities.h +147 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h +2377 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h.pump +794 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h +1095 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +291 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h +2179 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h.pump +672 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h +397 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +161 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-matchers.h +4399 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-actions.h +246 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-matchers.h +58 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-spec-builders.h +1847 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock.h +94 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +8 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +10 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-matchers.h +39 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-port.h +46 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +279 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump +136 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-internal-utils.h +511 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-port.h +91 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/make/Makefile +101 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.sln +32 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.vcproj +191 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_config.vsprops +15 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_main.vcproj +187 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_test.vcproj +201 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.sln +32 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.vcxproj +82 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_config.props +19 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_main.vcxproj +88 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_test.vcxproj +101 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.sln +32 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.vcxproj +84 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_config.props +19 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_main.vcxproj +90 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_test.vcxproj +103 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/fuse_gmock_files.py +240 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/LICENSE +203 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README +35 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README.cppclean +115 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/__init__.py +0 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/ast.py +1733 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class.py +227 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class_test.py +448 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/keywords.py +59 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/tokenize.py +287 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/utils.py +41 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/gmock_gen.py +31 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/gmock-config.in +303 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/gmock_doctor.py +640 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/upload.py +1387 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/upload_gmock.py +78 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-all.cc +47 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-cardinalities.cc +156 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-internal-utils.cc +174 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-matchers.cc +498 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-spec-builders.cc +823 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock.cc +183 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock_main.cc +54 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-actions_test.cc +1411 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-cardinalities_test.cc +428 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-actions_test.cc +1228 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-function-mockers_test.cc +622 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-internal-utils_test.cc +127 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-matchers_test.cc +1286 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-internal-utils_test.cc +699 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-matchers_test.cc +5648 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-more-actions_test.cc +708 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-nice-strict_test.cc +424 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-port_test.cc +43 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-spec-builders_test.cc +2644 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_all_test.cc +51 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_ex_test.cc +81 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test.py +108 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test_.cc +100 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link2_test.cc +40 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.cc +40 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.h +669 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test.py +180 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_.cc +291 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_golden.txt +310 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_stress_test.cc +322 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test.cc +220 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test_utils.py +112 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CHANGES +157 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt +286 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CONTRIBUTORS +37 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/LICENSE +28 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/Makefile.am +310 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/README.md +280 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/cmake/internal_utils.cmake +242 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest.cbproj +138 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest.groupproj +54 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_all.cc +38 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_link.cc +40 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_main.cbproj +82 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_unittest.cbproj +88 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/configure.ac +68 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/AdvancedGuide.md +2182 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/DevGuide.md +126 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Documentation.md +14 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/FAQ.md +1087 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Primer.md +502 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/PumpManual.md +177 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Samples.md +14 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_AdvancedGuide.md +2096 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Documentation.md +12 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_FAQ.md +886 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Primer.md +497 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_PumpManual.md +177 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_XcodeGuide.md +93 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_AdvancedGuide.md +2178 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Documentation.md +14 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_FAQ.md +1038 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Primer.md +501 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_PumpManual.md +177 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Samples.md +14 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_XcodeGuide.md +93 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_AdvancedGuide.md +2181 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Documentation.md +14 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_FAQ.md +1082 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Primer.md +501 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_PumpManual.md +177 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Samples.md +14 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_XcodeGuide.md +93 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/XcodeGuide.md +93 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-death-test.h +294 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-message.h +250 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h +1444 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h.pump +510 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-printers.h +993 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-spi.h +232 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-test-part.h +179 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-typed-test.h +263 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest.h +2236 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_pred_impl.h +358 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_prod.h +58 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest.h +41 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-filepath.h +206 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-internal.h +1238 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util.h +731 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port.h +2554 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-string.h +167 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/m4/acx_pthread.m4 +363 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/m4/gtest.m4 +74 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/make/Makefile +82 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.sln +45 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.vcproj +126 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.sln +45 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.vcproj +126 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main-md.vcproj +129 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main.vcproj +129 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test-md.vcproj +164 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test.vcproj +164 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest-md.vcproj +147 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest.vcproj +147 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/prime_tables.h +123 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1.cc +68 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1.h +43 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample10_unittest.cc +144 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1_unittest.cc +153 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2.cc +56 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2.h +85 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2_unittest.cc +109 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample3-inl.h +172 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample3_unittest.cc +151 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4.cc +46 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4.h +53 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4_unittest.cc +45 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample5_unittest.cc +199 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample6_unittest.cc +224 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample7_unittest.cc +130 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample8_unittest.cc +173 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample9_unittest.cc +160 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/common.py +83 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/fuse_gtest_files.py +253 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/gen_gtest_pred_impl.py +730 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/gtest-config.in +274 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/pump.py +855 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/release_docs.py +158 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/test/Makefile +59 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/upload.py +1387 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/upload_gtest.py +78 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-all.cc +48 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-death-test.cc +1342 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-filepath.cc +387 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-internal-inl.h +1183 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-port.cc +1259 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-printers.cc +373 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-test-part.cc +110 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-typed-test.cc +118 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest.cc +5388 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest_main.cc +38 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_ex_test.cc +93 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_test.cc +1427 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-filepath_test.cc +662 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-linked_ptr_test.cc +154 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-listener_test.cc +311 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-message_test.cc +159 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-options_test.cc +215 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test2_test.cc +65 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.cc +1055 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.h +57 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-port_test.cc +1304 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-printers_test.cc +1635 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-test-part_test.cc +208 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-tuple_test.cc +320 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test2_test.cc +45 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.cc +380 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.h +66 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-unittest-api_test.cc +341 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_all_test.cc +47 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest.py +212 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest_.cc +88 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test.py +237 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test_.cc +311 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test.py +130 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test_.cc +71 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test.py +117 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test_.cc +126 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_environment_test.cc +192 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest.py +636 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest_.cc +140 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test.py +172 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test_.cc +46 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest.py +207 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest_.cc +157 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_main_unittest.cc +45 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_no_test_unittest.cc +56 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test.py +340 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_.cc +1062 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_golden_lin.txt +743 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_pred_impl_unittest.cc +2427 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_premature_exit_test.cc +127 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_prod_test.cc +57 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_repeat_test.cc +253 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test.py +325 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test_.cc +103 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_sole_header_test.cc +57 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_stress_test.cc +256 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_test_utils.py +320 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_ex_test.cc +92 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test.py +171 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test_.cc +72 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test.py +70 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test_.cc +43 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_unittest.cc +7706 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile1_test_.cc +49 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile2_test_.cc +49 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfiles_test.py +132 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest.py +308 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest_.cc +181 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_test_utils.py +194 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.cc +36 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.h +55 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/DebugProject.xcconfig +30 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/FrameworkTarget.xcconfig +17 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/General.xcconfig +41 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/ReleaseProject.xcconfig +32 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/StaticLibraryTarget.xcconfig +18 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/TestTarget.xcconfig +8 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Resources/Info.plist +30 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/Info.plist +28 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj +457 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/runtests.sh +62 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.cc +63 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.h +59 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget_test.cc +68 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/runtests.sh +65 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/versiongenerate.py +100 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/gtest.xcodeproj/project.pbxproj +1135 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/travis.sh +15 -0
- data/ext/rj_schema/rj_schema.cpp +64 -41
- data/lib/rj_schema.rb +1 -1
- 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()
|