couchbase 4.2.2 → 4.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1523) hide show
  1. package/deps/couchbase-cxx-client/.github/workflows/sanitizers.yml +20 -12
  2. package/deps/couchbase-cxx-client/.github/workflows/tests.yml +5 -3
  3. package/deps/couchbase-cxx-client/.idea/vcs.xml +2 -0
  4. package/deps/couchbase-cxx-client/CMakeLists.txt +15 -6
  5. package/deps/couchbase-cxx-client/bin/build-tests +3 -0
  6. package/deps/couchbase-cxx-client/bin/build-tests.rb +9 -0
  7. package/deps/couchbase-cxx-client/bin/init-cluster +38 -11
  8. package/deps/couchbase-cxx-client/bin/run-unit-tests +9 -9
  9. package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +12 -4
  10. package/deps/couchbase-cxx-client/cmake/Documentation.cmake +4 -3
  11. package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +52 -7
  12. package/deps/couchbase-cxx-client/cmake/Testing.cmake +4 -4
  13. package/deps/couchbase-cxx-client/cmake/ThirdPartyDependencies.cmake +4 -0
  14. package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +39 -3
  15. package/deps/couchbase-cxx-client/cmake/test_openssl.cxx +7 -0
  16. package/deps/couchbase-cxx-client/core/bucket.cxx +3 -2
  17. package/deps/couchbase-cxx-client/core/bucket.hxx +9 -0
  18. package/deps/couchbase-cxx-client/core/cluster_options.cxx +2 -2
  19. package/deps/couchbase-cxx-client/core/cluster_options.hxx +3 -7
  20. package/deps/couchbase-cxx-client/core/cluster_options_fwd.hxx +26 -0
  21. package/deps/couchbase-cxx-client/core/config_profile.hxx +2 -65
  22. package/deps/couchbase-cxx-client/core/config_profiles.cxx +79 -0
  23. package/deps/couchbase-cxx-client/core/config_profiles.hxx +56 -0
  24. package/deps/couchbase-cxx-client/core/crypto/CMakeLists.txt +5 -1
  25. package/deps/couchbase-cxx-client/core/error_context/analytics.hxx +2 -1
  26. package/deps/couchbase-cxx-client/core/error_context/http.hxx +2 -1
  27. package/deps/couchbase-cxx-client/core/error_context/query.hxx +2 -1
  28. package/deps/couchbase-cxx-client/core/error_context/search.hxx +2 -1
  29. package/deps/couchbase-cxx-client/core/error_context/view.hxx +2 -1
  30. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +236 -0
  31. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +1 -1
  32. package/deps/couchbase-cxx-client/core/impl/collection_query_index_manager.cxx +3 -3
  33. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +5 -3
  34. package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +3 -3
  35. package/deps/couchbase-cxx-client/core/impl/query.cxx +19 -17
  36. package/deps/couchbase-cxx-client/core/impl/subdoc/lookup_in_macro.cxx +1 -0
  37. package/deps/couchbase-cxx-client/core/impl/subdoc/mutate_in_macro.cxx +1 -0
  38. package/deps/couchbase-cxx-client/core/impl/transaction_get_result.cxx +54 -0
  39. package/deps/couchbase-cxx-client/core/io/dns_client.cxx +225 -0
  40. package/deps/couchbase-cxx-client/core/io/dns_client.hxx +19 -188
  41. package/deps/couchbase-cxx-client/core/io/http_context.hxx +1 -1
  42. package/deps/couchbase-cxx-client/core/io/http_session.hxx +10 -0
  43. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +5 -3
  44. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +27 -0
  45. package/deps/couchbase-cxx-client/core/io/retry_orchestrator.hxx +3 -2
  46. package/deps/couchbase-cxx-client/core/meta/CMakeLists.txt +7 -5
  47. package/deps/couchbase-cxx-client/core/meta/version.cxx +19 -0
  48. package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +1 -0
  49. package/deps/couchbase-cxx-client/core/operations/document_analytics.hxx +1 -0
  50. package/deps/couchbase-cxx-client/core/operations/document_append.hxx +1 -1
  51. package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +1 -1
  52. package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +1 -1
  53. package/deps/couchbase-cxx-client/core/operations/document_get.hxx +1 -1
  54. package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +1 -1
  55. package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +1 -1
  56. package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +1 -1
  57. package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +1 -1
  58. package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +1 -1
  59. package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +1 -1
  60. package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +1 -1
  61. package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +1 -1
  62. package/deps/couchbase-cxx-client/core/operations/document_query.cxx +2 -0
  63. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +6 -0
  64. package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +1 -1
  65. package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +1 -1
  66. package/deps/couchbase-cxx-client/core/operations/document_search.cxx +6 -2
  67. package/deps/couchbase-cxx-client/core/operations/document_search.hxx +1 -1
  68. package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +1 -1
  69. package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +1 -1
  70. package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +1 -1
  71. package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
  72. package/deps/couchbase-cxx-client/core/operations/management/analytics_problem.hxx +2 -1
  73. package/deps/couchbase-cxx-client/core/operations/management/eventing_problem.hxx +2 -1
  74. package/deps/couchbase-cxx-client/core/platform/base64.cc +2 -1
  75. package/deps/couchbase-cxx-client/core/protocol/client_opcode.hxx +1 -0
  76. package/deps/couchbase-cxx-client/core/protocol/cmd_info.hxx +2 -1
  77. package/deps/couchbase-cxx-client/core/public_fwd.hxx +21 -0
  78. package/deps/couchbase-cxx-client/core/tls_verify_mode.hxx +26 -0
  79. package/deps/couchbase-cxx-client/core/topology/configuration.cxx +15 -2
  80. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +5 -1
  81. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +2 -2
  82. package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +1 -0
  83. package/deps/couchbase-cxx-client/core/transactions/atr_ids.cxx +1 -1
  84. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +78 -44
  85. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +90 -59
  86. package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.cxx +93 -0
  87. package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.hxx +48 -75
  88. package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.cxx +52 -0
  89. package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.hxx +17 -31
  90. package/deps/couchbase-cxx-client/core/transactions/exceptions.cxx +0 -1
  91. package/deps/couchbase-cxx-client/core/transactions/exceptions.hxx +14 -11
  92. package/deps/couchbase-cxx-client/core/transactions/forward_compat.hxx +2 -2
  93. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +14 -14
  94. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_fields.hxx +1 -0
  95. package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +7 -1
  96. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +1 -1
  97. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.hxx +12 -2
  98. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +9 -11
  99. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.cxx +41 -31
  100. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +69 -21
  101. package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +13 -1
  102. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +5 -4
  103. package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +144 -155
  104. package/deps/couchbase-cxx-client/core/transactions/waitable_op_list.hxx +1 -0
  105. package/deps/couchbase-cxx-client/core/transactions.hxx +1 -1
  106. package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +25 -3
  107. package/deps/couchbase-cxx-client/core/utils/connection_string.hxx +3 -3
  108. package/deps/couchbase-cxx-client/core/utils/crc32.hxx +3 -2
  109. package/deps/couchbase-cxx-client/core/utils/json.cxx +4 -1
  110. package/deps/couchbase-cxx-client/core/utils/json_streaming_lexer.hxx +2 -1
  111. package/deps/couchbase-cxx-client/core/utils/url_codec.cxx +2 -1
  112. package/deps/couchbase-cxx-client/couchbase/analytics_error_context.hxx +143 -0
  113. package/deps/couchbase-cxx-client/couchbase/analytics_meta_data.hxx +155 -0
  114. package/deps/couchbase-cxx-client/couchbase/analytics_metrics.hxx +163 -0
  115. package/deps/couchbase-cxx-client/couchbase/analytics_options.hxx +359 -0
  116. package/deps/couchbase-cxx-client/couchbase/analytics_result.hxx +102 -0
  117. package/deps/couchbase-cxx-client/couchbase/analytics_scan_consistency.hxx +46 -0
  118. package/deps/couchbase-cxx-client/couchbase/analytics_status.hxx +41 -0
  119. package/deps/couchbase-cxx-client/couchbase/analytics_warning.hxx +85 -0
  120. package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +10 -1
  121. package/deps/couchbase-cxx-client/couchbase/cluster.hxx +38 -3
  122. package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +10 -10
  123. package/deps/couchbase-cxx-client/couchbase/collection.hxx +22 -17
  124. package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +1 -1
  125. package/deps/couchbase-cxx-client/couchbase/common_options.hxx +1 -1
  126. package/deps/couchbase-cxx-client/couchbase/configuration_profile.hxx +1 -1
  127. package/deps/couchbase-cxx-client/couchbase/configuration_profiles_registry.hxx +0 -1
  128. package/deps/couchbase-cxx-client/couchbase/create_primary_query_index_options.hxx +1 -1
  129. package/deps/couchbase-cxx-client/couchbase/drop_primary_query_index_options.hxx +1 -1
  130. package/deps/couchbase-cxx-client/couchbase/drop_query_index_options.hxx +1 -1
  131. package/deps/couchbase-cxx-client/couchbase/fmt/analytics_status.hxx +76 -0
  132. package/deps/couchbase-cxx-client/couchbase/fmt/cas.hxx +12 -0
  133. package/deps/couchbase-cxx-client/couchbase/fmt/durability_level.hxx +6 -0
  134. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_extended_error_info.hxx +6 -0
  135. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +6 -0
  136. package/deps/couchbase-cxx-client/couchbase/fmt/mutation_token.hxx +6 -0
  137. package/deps/couchbase-cxx-client/couchbase/fmt/query_scan_consistency.hxx +6 -0
  138. package/deps/couchbase-cxx-client/couchbase/fmt/query_status.hxx +6 -0
  139. package/deps/couchbase-cxx-client/couchbase/fmt/retry_reason.hxx +6 -0
  140. package/deps/couchbase-cxx-client/couchbase/fmt/tls_verify_mode.hxx +6 -0
  141. package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +5 -4
  142. package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +4 -2
  143. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -1
  144. package/deps/couchbase-cxx-client/couchbase/scope.hxx +35 -1
  145. package/deps/couchbase-cxx-client/couchbase/subdoc/array_add_unique.hxx +2 -0
  146. package/deps/couchbase-cxx-client/couchbase/subdoc/array_append.hxx +2 -0
  147. package/deps/couchbase-cxx-client/couchbase/subdoc/array_insert.hxx +2 -0
  148. package/deps/couchbase-cxx-client/couchbase/subdoc/array_prepend.hxx +2 -0
  149. package/deps/couchbase-cxx-client/couchbase/subdoc/count.hxx +2 -0
  150. package/deps/couchbase-cxx-client/couchbase/subdoc/counter.hxx +2 -0
  151. package/deps/couchbase-cxx-client/couchbase/subdoc/exists.hxx +2 -0
  152. package/deps/couchbase-cxx-client/couchbase/subdoc/get.hxx +2 -0
  153. package/deps/couchbase-cxx-client/couchbase/subdoc/insert.hxx +2 -0
  154. package/deps/couchbase-cxx-client/couchbase/subdoc/remove.hxx +2 -0
  155. package/deps/couchbase-cxx-client/couchbase/subdoc/replace.hxx +3 -1
  156. package/deps/couchbase-cxx-client/couchbase/subdoc/upsert.hxx +2 -0
  157. package/deps/couchbase-cxx-client/couchbase/tracing/request_span.hxx +63 -0
  158. package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +2 -40
  159. package/deps/couchbase-cxx-client/couchbase/transaction_op_error_context.hxx +4 -4
  160. package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +93 -14
  161. package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +88 -15
  162. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_result.hxx +55 -35
  163. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +11 -1
  164. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +79 -8
  165. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +127 -15
  166. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_result.hxx +6 -21
  167. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_result.hxx +0 -1
  168. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +5 -3
  169. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +9 -5
  170. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_query_config.hxx +6 -3
  171. package/deps/couchbase-cxx-client/couchbase/transactions.hxx +36 -2
  172. package/deps/couchbase-cxx-client/docs/Doxyfile.in +324 -223
  173. package/deps/couchbase-cxx-client/docs/cbc-analytics.md +171 -0
  174. package/deps/couchbase-cxx-client/docs/cbc-get.md +160 -0
  175. package/deps/couchbase-cxx-client/docs/cbc-pillowfight.md +163 -0
  176. package/deps/couchbase-cxx-client/docs/cbc-query.md +179 -0
  177. package/deps/couchbase-cxx-client/docs/cbc.md +46 -0
  178. package/deps/couchbase-cxx-client/docs/cli.hxx +33 -0
  179. package/deps/couchbase-cxx-client/docs/doxygen-awesome.css +474 -89
  180. package/deps/couchbase-cxx-client/docs/mainpage.hxx +9 -8
  181. package/deps/couchbase-cxx-client/docs/stability.hxx +15 -0
  182. package/deps/couchbase-cxx-client/examples/async_game_server.cxx +56 -54
  183. package/deps/couchbase-cxx-client/examples/distributed_mutex.cxx +2 -0
  184. package/deps/couchbase-cxx-client/examples/game_server.cxx +9 -10
  185. package/deps/couchbase-cxx-client/test/CMakeLists.txt +9 -7
  186. package/deps/couchbase-cxx-client/test/benchmark_helper_integration.hxx +2 -2
  187. package/deps/couchbase-cxx-client/test/data/search_beers_dataset.json +70 -0
  188. package/deps/couchbase-cxx-client/test/data/search_beers_index_params.json +108 -0
  189. package/deps/couchbase-cxx-client/test/test_helper.hxx +6 -6
  190. package/deps/couchbase-cxx-client/test/test_integration_analytics.cxx +289 -13
  191. package/deps/couchbase-cxx-client/test/test_integration_crud.cxx +8 -1
  192. package/deps/couchbase-cxx-client/test/test_integration_diagnostics.cxx +3 -3
  193. package/deps/couchbase-cxx-client/test/test_integration_examples.cxx +182 -0
  194. package/deps/couchbase-cxx-client/test/test_integration_management.cxx +25 -9
  195. package/deps/couchbase-cxx-client/test/test_integration_query.cxx +1 -1
  196. package/deps/couchbase-cxx-client/test/test_integration_search.cxx +603 -0
  197. package/deps/couchbase-cxx-client/test/test_integration_subdoc.cxx +2 -2
  198. package/deps/couchbase-cxx-client/test/test_integration_tracer.cxx +2 -0
  199. package/deps/couchbase-cxx-client/test/test_integration_transcoders.cxx +9 -5
  200. package/deps/couchbase-cxx-client/test/test_transaction_context.cxx +550 -0
  201. package/deps/couchbase-cxx-client/test/test_transaction_examples.cxx +180 -0
  202. package/deps/couchbase-cxx-client/test/test_transaction_public_async_api.cxx +393 -0
  203. package/deps/couchbase-cxx-client/test/test_transaction_public_blocking_api.cxx +653 -0
  204. package/deps/couchbase-cxx-client/test/test_transaction_simple.cxx +984 -0
  205. package/deps/couchbase-cxx-client/test/test_transaction_simple_async.cxx +970 -0
  206. package/deps/couchbase-cxx-client/test/test_unit_config_profiles.cxx +13 -13
  207. package/deps/couchbase-cxx-client/test/test_unit_connection_string.cxx +35 -0
  208. package/deps/couchbase-cxx-client/test/test_unit_json_transcoder.cxx +4 -0
  209. package/deps/couchbase-cxx-client/test/test_unit_transaction_utils.cxx +113 -0
  210. package/deps/couchbase-cxx-client/test/test_unit_utils.cxx +8 -4
  211. package/deps/couchbase-cxx-client/test/utils/CMakeLists.txt +13 -9
  212. package/deps/couchbase-cxx-client/test/utils/integration_shortcuts.hxx +3 -3
  213. package/deps/couchbase-cxx-client/test/utils/integration_test_guard.cxx +19 -9
  214. package/deps/couchbase-cxx-client/test/utils/server_version.hxx +10 -0
  215. package/deps/couchbase-cxx-client/test/utils/test_data.cxx +41 -0
  216. package/deps/couchbase-cxx-client/test/utils/test_data.hxx +29 -0
  217. package/deps/couchbase-cxx-client/test/utils/wait_until.cxx +61 -0
  218. package/deps/couchbase-cxx-client/test/utils/wait_until.hxx +8 -1
  219. package/deps/couchbase-cxx-client/third_party/catch2/.bazelrc +10 -0
  220. package/deps/couchbase-cxx-client/third_party/catch2/.conan/build.py +4 -4
  221. package/deps/couchbase-cxx-client/third_party/catch2/.conan/test_package/CMakeLists.txt +5 -4
  222. package/deps/couchbase-cxx-client/third_party/catch2/.conan/test_package/conanfile.py +3 -2
  223. package/deps/couchbase-cxx-client/third_party/catch2/.conan/test_package/test_package.cpp +1 -3
  224. package/deps/couchbase-cxx-client/third_party/catch2/.github/FUNDING.yml +1 -0
  225. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-bazel-builds.yml +24 -0
  226. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-meson-builds.yml +43 -0
  227. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-other-builds.yml +104 -0
  228. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-simple-builds.yml +122 -0
  229. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/mac-builds.yml +52 -0
  230. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/validate-header-guards.yml +36 -0
  231. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/windows-simple-builds.yml +37 -0
  232. package/deps/couchbase-cxx-client/third_party/catch2/BUILD.bazel +83 -8
  233. package/deps/couchbase-cxx-client/third_party/catch2/CMake/CatchConfigOptions.cmake +79 -0
  234. package/deps/couchbase-cxx-client/third_party/catch2/CMake/CatchMiscFunctions.cmake +120 -0
  235. package/deps/couchbase-cxx-client/third_party/catch2/CMake/catch2-with-main.pc.in +10 -0
  236. package/deps/couchbase-cxx-client/third_party/catch2/CMake/catch2.pc.in +5 -1
  237. package/deps/couchbase-cxx-client/third_party/catch2/CMakeLists.txt +98 -152
  238. package/deps/couchbase-cxx-client/third_party/catch2/CMakePresets.json +25 -0
  239. package/deps/couchbase-cxx-client/third_party/catch2/Doxyfile +2484 -0
  240. package/deps/couchbase-cxx-client/third_party/catch2/README.md +83 -17
  241. package/deps/couchbase-cxx-client/third_party/catch2/SECURITY.md +19 -0
  242. package/deps/couchbase-cxx-client/third_party/catch2/WORKSPACE.bazel +16 -0
  243. package/deps/couchbase-cxx-client/third_party/catch2/appveyor.yml +55 -73
  244. package/deps/couchbase-cxx-client/third_party/catch2/codecov.yml +3 -6
  245. package/deps/couchbase-cxx-client/third_party/catch2/conanfile.py +44 -14
  246. package/deps/couchbase-cxx-client/third_party/catch2/data/artwork/catch2-logo-small-with-background.png +0 -0
  247. package/deps/couchbase-cxx-client/third_party/catch2/docs/Readme.md +18 -16
  248. package/deps/couchbase-cxx-client/third_party/catch2/docs/assertions.md +45 -64
  249. package/deps/couchbase-cxx-client/third_party/catch2/docs/benchmarks.md +3 -6
  250. package/deps/couchbase-cxx-client/third_party/catch2/docs/ci-and-misc.md +27 -29
  251. package/deps/couchbase-cxx-client/third_party/catch2/docs/cmake-integration.md +157 -35
  252. package/deps/couchbase-cxx-client/third_party/catch2/docs/command-line.md +232 -65
  253. package/deps/couchbase-cxx-client/third_party/catch2/docs/commercial-users.md +14 -13
  254. package/deps/couchbase-cxx-client/third_party/catch2/docs/comparing-floating-point-numbers.md +192 -0
  255. package/deps/couchbase-cxx-client/third_party/catch2/docs/configuration.md +48 -54
  256. package/deps/couchbase-cxx-client/third_party/catch2/docs/contributing.md +150 -38
  257. package/deps/couchbase-cxx-client/third_party/catch2/docs/deprecations.md +14 -118
  258. package/deps/couchbase-cxx-client/third_party/catch2/docs/event-listeners.md +31 -62
  259. package/deps/couchbase-cxx-client/third_party/catch2/docs/faq.md +94 -0
  260. package/deps/couchbase-cxx-client/third_party/catch2/docs/generators.md +14 -10
  261. package/deps/couchbase-cxx-client/third_party/catch2/docs/limitations.md +34 -36
  262. package/deps/couchbase-cxx-client/third_party/catch2/docs/list-of-examples.md +0 -3
  263. package/deps/couchbase-cxx-client/third_party/catch2/docs/logging.md +2 -2
  264. package/deps/couchbase-cxx-client/third_party/catch2/docs/matchers.md +355 -122
  265. package/deps/couchbase-cxx-client/third_party/catch2/docs/migrate-v2-to-v3.md +98 -0
  266. package/deps/couchbase-cxx-client/third_party/catch2/docs/opensource-users.md +43 -13
  267. package/deps/couchbase-cxx-client/third_party/catch2/docs/other-macros.md +19 -18
  268. package/deps/couchbase-cxx-client/third_party/catch2/docs/own-main.md +50 -49
  269. package/deps/couchbase-cxx-client/third_party/catch2/docs/release-notes.md +375 -6
  270. package/deps/couchbase-cxx-client/third_party/catch2/docs/release-process.md +9 -16
  271. package/deps/couchbase-cxx-client/third_party/catch2/docs/reporter-events.md +175 -0
  272. package/deps/couchbase-cxx-client/third_party/catch2/docs/reporters.md +191 -25
  273. package/deps/couchbase-cxx-client/third_party/catch2/docs/skipping-passing-failing.md +129 -0
  274. package/deps/couchbase-cxx-client/third_party/catch2/docs/test-cases-and-sections.md +91 -20
  275. package/deps/couchbase-cxx-client/third_party/catch2/docs/test-fixtures.md +28 -9
  276. package/deps/couchbase-cxx-client/third_party/catch2/docs/tostring.md +3 -3
  277. package/deps/couchbase-cxx-client/third_party/catch2/docs/tutorial.md +87 -139
  278. package/deps/couchbase-cxx-client/third_party/catch2/docs/usage-tips.md +100 -0
  279. package/deps/couchbase-cxx-client/third_party/catch2/docs/why-catch.md +24 -11
  280. package/deps/couchbase-cxx-client/third_party/catch2/examples/010-TestCase.cpp +4 -7
  281. package/deps/couchbase-cxx-client/third_party/catch2/examples/020-TestCase-1.cpp +3 -9
  282. package/deps/couchbase-cxx-client/third_party/catch2/examples/020-TestCase-2.cpp +2 -2
  283. package/deps/couchbase-cxx-client/third_party/catch2/examples/030-Asn-Require-Check.cpp +5 -5
  284. package/deps/couchbase-cxx-client/third_party/catch2/examples/100-Fix-Section.cpp +5 -4
  285. package/deps/couchbase-cxx-client/third_party/catch2/examples/110-Fix-ClassFixture.cpp +7 -4
  286. package/deps/couchbase-cxx-client/third_party/catch2/examples/120-Bdd-ScenarioGivenWhenThen.cpp +4 -4
  287. package/deps/couchbase-cxx-client/third_party/catch2/examples/210-Evt-EventListeners.cpp +51 -44
  288. package/deps/couchbase-cxx-client/third_party/catch2/examples/231-Cfg-OutputStreams.cpp +3 -4
  289. package/deps/couchbase-cxx-client/third_party/catch2/examples/300-Gen-OwnGenerator.cpp +13 -3
  290. package/deps/couchbase-cxx-client/third_party/catch2/examples/301-Gen-MapTypeConversion.cpp +9 -7
  291. package/deps/couchbase-cxx-client/third_party/catch2/examples/302-Gen-Table.cpp +4 -3
  292. package/deps/couchbase-cxx-client/third_party/catch2/examples/310-Gen-VariablesInGenerators.cpp +3 -1
  293. package/deps/couchbase-cxx-client/third_party/catch2/examples/311-Gen-CustomCapture.cpp +3 -1
  294. package/deps/couchbase-cxx-client/third_party/catch2/examples/CMakeLists.txt +29 -126
  295. package/deps/couchbase-cxx-client/third_party/catch2/extras/Catch.cmake +279 -0
  296. package/deps/couchbase-cxx-client/third_party/catch2/extras/CatchAddTests.cmake +187 -0
  297. package/deps/couchbase-cxx-client/third_party/catch2/extras/CatchShardTests.cmake +74 -0
  298. package/deps/couchbase-cxx-client/third_party/catch2/extras/CatchShardTestsImpl.cmake +52 -0
  299. package/deps/couchbase-cxx-client/third_party/catch2/extras/catch_amalgamated.cpp +10655 -0
  300. package/deps/couchbase-cxx-client/third_party/catch2/extras/catch_amalgamated.hpp +12972 -0
  301. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/CMakeLists.txt +20 -0
  302. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/NullOStream.cpp +10 -0
  303. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/NullOStream.h +20 -0
  304. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/build_fuzzers.sh +33 -0
  305. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/fuzz_TestSpecParser.cpp +16 -0
  306. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/fuzz_XmlWriter.cpp +16 -0
  307. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/fuzz_textflow.cpp +47 -0
  308. package/deps/couchbase-cxx-client/third_party/catch2/mdsnippets.json +9 -0
  309. package/deps/couchbase-cxx-client/third_party/catch2/meson.build +17 -0
  310. package/deps/couchbase-cxx-client/third_party/catch2/src/CMakeLists.txt +510 -0
  311. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_benchmark.hpp +147 -0
  312. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_benchmark_all.hpp +46 -0
  313. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_chronometer.cpp +17 -0
  314. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_chronometer.hpp +74 -0
  315. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_clock.hpp +39 -0
  316. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_constructor.hpp +82 -0
  317. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_environment.hpp +37 -0
  318. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_estimate.hpp +30 -0
  319. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_execution_plan.hpp +58 -0
  320. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_optimizer.hpp +78 -0
  321. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_outlier_classification.hpp +29 -0
  322. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_sample_analysis.hpp +49 -0
  323. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_analyse.hpp +79 -0
  324. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_function.cpp +17 -0
  325. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_function.hpp +107 -0
  326. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_stats.hpp +64 -0
  327. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_stats_fwd.hpp +23 -0
  328. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_complete_invoke.hpp +58 -0
  329. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_estimate_clock.hpp +121 -0
  330. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_measure.hpp +32 -0
  331. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_repeat.hpp +36 -0
  332. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_run_for_at_least.cpp +31 -0
  333. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_run_for_at_least.hpp +65 -0
  334. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_stats.cpp +257 -0
  335. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_stats.hpp +144 -0
  336. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_timing.hpp +31 -0
  337. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_all.hpp +127 -0
  338. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_approx.cpp +85 -0
  339. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_approx.hpp +128 -0
  340. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_assertion_info.hpp +28 -0
  341. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_assertion_result.cpp +105 -0
  342. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_assertion_result.hpp +60 -0
  343. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_config.cpp +247 -0
  344. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_config.hpp +153 -0
  345. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_get_random_seed.cpp +18 -0
  346. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_get_random_seed.hpp +18 -0
  347. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_message.cpp +116 -0
  348. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_message.hpp +148 -0
  349. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_registry_hub.cpp +105 -0
  350. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_section_info.hpp +42 -0
  351. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_session.cpp +363 -0
  352. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_session.hpp +62 -0
  353. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tag_alias.hpp +29 -0
  354. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tag_alias_autoregistrar.cpp +24 -0
  355. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tag_alias_autoregistrar.hpp +29 -0
  356. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_template_test_macros.hpp +124 -0
  357. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_case_info.cpp +247 -0
  358. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_case_info.hpp +131 -0
  359. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_macros.hpp +226 -0
  360. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_spec.cpp +138 -0
  361. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_spec.hpp +119 -0
  362. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_timer.cpp +37 -0
  363. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_timer.hpp +27 -0
  364. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tostring.cpp +254 -0
  365. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tostring.hpp +668 -0
  366. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_totals.cpp +65 -0
  367. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_totals.hpp +41 -0
  368. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_translate_exception.cpp +20 -0
  369. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_translate_exception.hpp +88 -0
  370. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_user_config.hpp.in +210 -0
  371. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_version.cpp +43 -0
  372. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_version.hpp +39 -0
  373. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_version_macros.hpp +15 -0
  374. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generator_exception.cpp +17 -0
  375. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generator_exception.hpp +31 -0
  376. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators.cpp +42 -0
  377. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators.hpp +250 -0
  378. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_adapters.hpp +241 -0
  379. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_all.hpp +30 -0
  380. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_random.cpp +13 -0
  381. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_random.hpp +98 -0
  382. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_range.hpp +110 -0
  383. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_all.hpp +37 -0
  384. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_capture.cpp +13 -0
  385. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_capture.hpp +109 -0
  386. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_config.cpp +13 -0
  387. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_config.hpp +100 -0
  388. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_enum_values_registry.hpp +47 -0
  389. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_exception.cpp +14 -0
  390. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_exception.hpp +36 -0
  391. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_generatortracker.cpp +32 -0
  392. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_generatortracker.hpp +90 -0
  393. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_registry_hub.cpp +14 -0
  394. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_registry_hub.hpp +66 -0
  395. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter.cpp +101 -0
  396. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter.hpp +224 -0
  397. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter_factory.cpp +14 -0
  398. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter_factory.hpp +45 -0
  399. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_tag_alias_registry.hpp +29 -0
  400. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_test_invoker.hpp +21 -0
  401. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_testcase.cpp +13 -0
  402. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_testcase.hpp +36 -0
  403. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_assertion_handler.cpp +82 -0
  404. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_assertion_handler.hpp +68 -0
  405. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_case_insensitive_comparisons.cpp +35 -0
  406. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_case_insensitive_comparisons.hpp +30 -0
  407. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_case_sensitive.hpp +17 -0
  408. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_clara.cpp +448 -0
  409. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_clara.hpp +702 -0
  410. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_commandline.cpp +313 -0
  411. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_commandline.hpp +21 -0
  412. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_compare_traits.hpp +75 -0
  413. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_compiler_capabilities.hpp +430 -0
  414. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_android_logwrite.hpp +33 -0
  415. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_counter.hpp +32 -0
  416. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_uncaught_exceptions.hpp +44 -0
  417. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_wchar.hpp +33 -0
  418. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_console_colour.cpp +282 -0
  419. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_console_colour.hpp +141 -0
  420. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_console_width.hpp +19 -0
  421. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_container_nonmembers.hpp +73 -0
  422. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_context.cpp +41 -0
  423. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_context.hpp +51 -0
  424. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debug_console.cpp +45 -0
  425. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debug_console.hpp +17 -0
  426. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debugger.cpp +120 -0
  427. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debugger.hpp +67 -0
  428. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_decomposer.cpp +23 -0
  429. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_decomposer.hpp +340 -0
  430. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enforce.cpp +41 -0
  431. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enforce.hpp +54 -0
  432. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enum_values_registry.cpp +73 -0
  433. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enum_values_registry.hpp +36 -0
  434. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_errno_guard.cpp +16 -0
  435. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_errno_guard.hpp +27 -0
  436. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_exception_translator_registry.cpp +84 -0
  437. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_exception_translator_registry.hpp +30 -0
  438. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_fatal_condition_handler.cpp +243 -0
  439. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_fatal_condition_handler.hpp +69 -0
  440. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_floating_point_helpers.cpp +32 -0
  441. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_floating_point_helpers.hpp +103 -0
  442. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_getenv.cpp +37 -0
  443. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_getenv.hpp +20 -0
  444. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_is_permutation.hpp +138 -0
  445. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_istream.cpp +159 -0
  446. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_istream.hpp +54 -0
  447. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_lazy_expr.cpp +29 -0
  448. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_lazy_expr.hpp +40 -0
  449. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_leak_detector.cpp +38 -0
  450. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_leak_detector.hpp +19 -0
  451. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_list.cpp +123 -0
  452. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_list.hpp +43 -0
  453. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_logical_traits.hpp +44 -0
  454. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_main.cpp +39 -0
  455. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_message_info.cpp +25 -0
  456. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_message_info.hpp +42 -0
  457. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_meta.hpp +47 -0
  458. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_move_and_forward.hpp +19 -0
  459. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_noncopyable.hpp +28 -0
  460. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_optional.hpp +100 -0
  461. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_output_redirect.cpp +146 -0
  462. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_output_redirect.hpp +118 -0
  463. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_parse_numbers.cpp +52 -0
  464. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_parse_numbers.hpp +26 -0
  465. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_platform.hpp +37 -0
  466. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_polyfills.cpp +34 -0
  467. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_polyfills.hpp +16 -0
  468. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_preprocessor.hpp +237 -0
  469. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_preprocessor_remove_parens.hpp +19 -0
  470. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_number_generator.cpp +70 -0
  471. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_number_generator.hpp +59 -0
  472. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_seed_generation.cpp +34 -0
  473. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_seed_generation.hpp +26 -0
  474. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_registry.cpp +88 -0
  475. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_registry.hpp +55 -0
  476. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_spec_parser.cpp +173 -0
  477. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_spec_parser.hpp +85 -0
  478. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_result_type.cpp +26 -0
  479. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_result_type.hpp +57 -0
  480. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reusable_string_stream.cpp +62 -0
  481. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reusable_string_stream.hpp +57 -0
  482. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_run_context.cpp +688 -0
  483. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_run_context.hpp +160 -0
  484. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_section.cpp +60 -0
  485. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_section.hpp +53 -0
  486. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_sharding.hpp +42 -0
  487. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_singletons.cpp +36 -0
  488. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_singletons.hpp +45 -0
  489. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_source_line_info.cpp +33 -0
  490. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_source_line_info.hpp +37 -0
  491. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_startup_exception_registry.cpp +29 -0
  492. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_startup_exception_registry.hpp +29 -0
  493. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stdstreams.cpp +24 -0
  494. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stdstreams.hpp +22 -0
  495. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stream_end_stop.hpp +30 -0
  496. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_string_manip.cpp +104 -0
  497. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_string_manip.hpp +61 -0
  498. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stringref.cpp +66 -0
  499. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stringref.hpp +121 -0
  500. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_tag_alias_registry.cpp +55 -0
  501. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_tag_alias_registry.hpp +33 -0
  502. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_template_test_registry.hpp +337 -0
  503. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_info_hasher.cpp +39 -0
  504. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_info_hasher.hpp +29 -0
  505. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_registry_impl.cpp +146 -0
  506. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_registry_impl.hpp +62 -0
  507. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_tracker.cpp +239 -0
  508. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_tracker.hpp +244 -0
  509. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_failure_exception.cpp +31 -0
  510. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_failure_exception.hpp +34 -0
  511. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_macro_impl.hpp +159 -0
  512. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_registry.cpp +82 -0
  513. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_registry.hpp +132 -0
  514. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_run_info.hpp +22 -0
  515. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_spec_parser.cpp +239 -0
  516. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_spec_parser.hpp +81 -0
  517. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_textflow.cpp +255 -0
  518. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_textflow.hpp +169 -0
  519. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_to_string.hpp +29 -0
  520. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_uncaught_exceptions.cpp +26 -0
  521. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_uncaught_exceptions.hpp +15 -0
  522. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_unique_name.hpp +20 -0
  523. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_unique_ptr.hpp +118 -0
  524. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_void_type.hpp +25 -0
  525. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_wildcard_pattern.cpp +47 -0
  526. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_wildcard_pattern.hpp +38 -0
  527. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_windows_h_proxy.hpp +28 -0
  528. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_xmlwriter.cpp +348 -0
  529. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_xmlwriter.hpp +152 -0
  530. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers.cpp +25 -0
  531. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers.hpp +237 -0
  532. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_all.hpp +36 -0
  533. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_container_properties.cpp +34 -0
  534. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_container_properties.hpp +90 -0
  535. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_contains.hpp +102 -0
  536. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_exception.cpp +26 -0
  537. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_exception.hpp +61 -0
  538. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_floating_point.cpp +241 -0
  539. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_floating_point.hpp +94 -0
  540. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_predicate.cpp +17 -0
  541. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_predicate.hpp +59 -0
  542. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_quantifiers.cpp +24 -0
  543. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_quantifiers.hpp +165 -0
  544. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_range_equals.hpp +144 -0
  545. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_string.cpp +114 -0
  546. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_string.hpp +85 -0
  547. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_templated.cpp +41 -0
  548. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_templated.hpp +296 -0
  549. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_vector.hpp +194 -0
  550. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/internal/catch_matchers_impl.cpp +25 -0
  551. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/internal/catch_matchers_impl.hpp +83 -0
  552. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/meson.build +368 -0
  553. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_automake.cpp +37 -0
  554. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_automake.hpp +38 -0
  555. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_common_base.cpp +49 -0
  556. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_common_base.hpp +79 -0
  557. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_compact.cpp +254 -0
  558. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_compact.hpp +39 -0
  559. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_console.cpp +656 -0
  560. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_console.hpp +67 -0
  561. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_cumulative_base.cpp +159 -0
  562. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_cumulative_base.hpp +151 -0
  563. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_event_listener.cpp +40 -0
  564. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_event_listener.hpp +60 -0
  565. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_helpers.cpp +343 -0
  566. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_helpers.hpp +95 -0
  567. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_junit.cpp +309 -0
  568. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_junit.hpp +58 -0
  569. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_multi.cpp +197 -0
  570. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_multi.hpp +72 -0
  571. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_registrars.cpp +36 -0
  572. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_registrars.hpp +131 -0
  573. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_sonarqube.cpp +162 -0
  574. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_sonarqube.hpp +61 -0
  575. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_streaming_base.cpp +23 -0
  576. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_streaming_base.hpp +73 -0
  577. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_tap.cpp +229 -0
  578. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_tap.hpp +43 -0
  579. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_teamcity.cpp +177 -0
  580. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_teamcity.hpp +66 -0
  581. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_xml.cpp +336 -0
  582. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_xml.hpp +66 -0
  583. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporters_all.hpp +40 -0
  584. package/deps/couchbase-cxx-client/third_party/catch2/tests/CMakeLists.txt +665 -0
  585. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/CMakeLists.txt +554 -0
  586. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/ToDo.txt +10 -0
  587. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X01-PrefixedMacros.cpp +97 -0
  588. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X02-DisabledMacros.cpp +65 -0
  589. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X03-DisabledExceptions-DefaultHandler.cpp +39 -0
  590. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X04-DisabledExceptions-CustomHandler.cpp +40 -0
  591. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X05-DeferredStaticChecks.cpp +21 -0
  592. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X10-FallbackStringifier.cpp +35 -0
  593. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X11-DisableStringification.cpp +27 -0
  594. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X12-CustomDebugBreakMacro.cpp +26 -0
  595. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X21-PartialTestCaseEvents.cpp +74 -0
  596. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X22-BenchmarksInCumulativeReporter.cpp +79 -0
  597. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X23-CasingInReporterNames.cpp +41 -0
  598. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X24-ListenerStdoutCaptureInMultireporter.cpp +40 -0
  599. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X25-ListenerCanAskForCapturedStdout.cpp +47 -0
  600. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X26-ReporterPreferencesForPassingAssertionsIsRespected.cpp +52 -0
  601. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X27-CapturedStdoutInTestCaseEvents.cpp +82 -0
  602. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X28-ListenersGetEventsBeforeReporters.cpp +99 -0
  603. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X29-CustomArgumentsForReporters.cpp +59 -0
  604. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X30-BazelReporter.cpp +17 -0
  605. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X31-DuplicatedTestCases.cpp +16 -0
  606. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X32-DuplicatedTestCasesDifferentTags.cpp +17 -0
  607. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X33-DuplicatedTestCaseMethods.cpp +22 -0
  608. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X34-DuplicatedTestCaseMethodsDifferentFixtures.cpp +27 -0
  609. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X35-DuplicatedReporterNames.cpp +31 -0
  610. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X90-WindowsHeaderInclusion.cpp +21 -0
  611. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X91-AmalgamatedCatch.cpp +38 -0
  612. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X92-NoTests.cpp +11 -0
  613. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X93-AllSkipped.cpp +16 -0
  614. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/automake.sw.approved.txt +420 -0
  615. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/automake.sw.multi.approved.txt +409 -0
  616. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/compact.sw.approved.txt +2544 -0
  617. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/compact.sw.multi.approved.txt +2533 -0
  618. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.std.approved.txt +1538 -0
  619. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.sw.approved.txt +18236 -0
  620. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.sw.multi.approved.txt +18225 -0
  621. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.swa4.approved.txt +956 -0
  622. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/default.sw.multi.approved.txt +11 -0
  623. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/junit.sw.approved.txt +2052 -0
  624. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/junit.sw.multi.approved.txt +2051 -0
  625. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/sonarqube.sw.approved.txt +2071 -0
  626. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/sonarqube.sw.multi.approved.txt +2070 -0
  627. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/tap.sw.approved.txt +4481 -0
  628. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/tap.sw.multi.approved.txt +4470 -0
  629. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/teamcity.sw.approved.txt +998 -0
  630. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/teamcity.sw.multi.approved.txt +997 -0
  631. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/xml.sw.approved.txt +21208 -0
  632. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/xml.sw.multi.approved.txt +21207 -0
  633. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Algorithms.tests.cpp +94 -0
  634. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Clara.tests.cpp +73 -0
  635. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/CmdLine.tests.cpp +467 -0
  636. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/CmdLineHelpers.tests.cpp +111 -0
  637. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/ColourImpl.tests.cpp +64 -0
  638. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Details.tests.cpp +131 -0
  639. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/FloatingPoint.tests.cpp +74 -0
  640. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp +546 -0
  641. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/InternalBenchmark.tests.cpp +447 -0
  642. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Parse.tests.cpp +38 -0
  643. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/PartTracker.tests.cpp +254 -0
  644. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/RandomNumberGeneration.tests.cpp +62 -0
  645. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Reporters.tests.cpp +328 -0
  646. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Sharding.tests.cpp +45 -0
  647. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Stream.tests.cpp +32 -0
  648. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/String.tests.cpp +212 -0
  649. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/StringManip.tests.cpp +83 -0
  650. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Tag.tests.cpp +104 -0
  651. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TestCaseInfoHasher.tests.cpp +72 -0
  652. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp +365 -0
  653. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TestSpecParser.tests.cpp +55 -0
  654. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TextFlow.tests.cpp +200 -0
  655. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/ToString.tests.cpp +97 -0
  656. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Traits.tests.cpp +45 -0
  657. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/UniquePtr.tests.cpp +141 -0
  658. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Xml.tests.cpp +183 -0
  659. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/TestRegistrations.cpp +181 -0
  660. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/TimingTests/Sleep.tests.cpp +24 -0
  661. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Approx.tests.cpp +218 -0
  662. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/BDD.tests.cpp +106 -0
  663. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Benchmark.tests.cpp +173 -0
  664. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Class.tests.cpp +133 -0
  665. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Compilation.tests.cpp +355 -0
  666. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Condition.tests.cpp +334 -0
  667. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Decomposition.tests.cpp +41 -0
  668. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/EnumToString.tests.cpp +108 -0
  669. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Exception.tests.cpp +204 -0
  670. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Generators.tests.cpp +313 -0
  671. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Matchers.tests.cpp +1144 -0
  672. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/MatchersRanges.tests.cpp +917 -0
  673. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Message.tests.cpp +287 -0
  674. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Misc.tests.cpp +553 -0
  675. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Skip.tests.cpp +73 -0
  676. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringByte.tests.cpp +23 -0
  677. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringChrono.tests.cpp +51 -0
  678. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringGeneral.tests.cpp +211 -0
  679. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringOptional.tests.cpp +31 -0
  680. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringPair.tests.cpp +38 -0
  681. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringTuple.tests.cpp +54 -0
  682. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringVariant.tests.cpp +99 -0
  683. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringVector.tests.cpp +94 -0
  684. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringWhich.tests.cpp +186 -0
  685. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Tricky.tests.cpp +380 -0
  686. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/VariadicMacros.tests.cpp +29 -0
  687. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/parse_test_spec.cpp +22 -0
  688. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/parse_test_spec.hpp +20 -0
  689. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/range_test_helpers.hpp +210 -0
  690. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/type_with_lit_0_comparisons.hpp +44 -0
  691. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/ConfigureTestsCommon.py +75 -0
  692. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testBazelReporter.py +104 -0
  693. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testBazelSharding.py +75 -0
  694. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureDefaultReporter.py +41 -0
  695. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureDisable.py +48 -0
  696. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureDisableStringification.py +44 -0
  697. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureExperimentalRedirect.py +49 -0
  698. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testPartialTestCaseEvent.py +79 -0
  699. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testRandomOrder.py +77 -0
  700. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testSharding.py +165 -0
  701. package/deps/couchbase-cxx-client/third_party/catch2/tests/meson.build +76 -0
  702. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/appveyorBuildConfigurationScript.bat +21 -0
  703. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/appveyorMergeCoverageScript.py +9 -0
  704. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/appveyorTestRunScript.bat +17 -0
  705. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/coverage-helper.cpp +142 -0
  706. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/installOpenCppCoverage.ps1 +19 -0
  707. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/approvalTests.py +243 -0
  708. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/approve.py +31 -0
  709. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/buildAndTest.cmd +17 -0
  710. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/buildAndTest.sh +19 -0
  711. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/checkConvenienceHeaders.py +151 -0
  712. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/checkDuplicateFilenames.py +14 -0
  713. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/checkLicense.py +45 -0
  714. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/developBuild.py +9 -0
  715. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/extractFeaturesFromReleaseNotes.py +92 -0
  716. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/fixWhitespace.py +51 -0
  717. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/generateAmalgamatedFiles.py +129 -0
  718. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/majorRelease.py +9 -0
  719. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/minorRelease.py +9 -0
  720. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/patchRelease.py +9 -0
  721. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/releaseCommon.py +143 -0
  722. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/scriptCommon.py +4 -0
  723. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/updateDocumentSnippets.py +23 -0
  724. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/updateDocumentToC.py +447 -0
  725. package/deps/couchbase-cxx-client/third_party/snappy/.github/workflows/build.yml +135 -0
  726. package/deps/couchbase-cxx-client/third_party/snappy/.gitmodules +6 -0
  727. package/deps/couchbase-cxx-client/third_party/snappy/CMakeLists.txt +150 -27
  728. package/deps/couchbase-cxx-client/third_party/snappy/CONTRIBUTING.md +9 -4
  729. package/deps/couchbase-cxx-client/third_party/snappy/NEWS +12 -0
  730. package/deps/couchbase-cxx-client/third_party/snappy/README.md +52 -35
  731. package/deps/couchbase-cxx-client/third_party/snappy/cmake/config.h.in +28 -24
  732. package/deps/couchbase-cxx-client/third_party/snappy/snappy-internal.h +189 -25
  733. package/deps/couchbase-cxx-client/third_party/snappy/snappy-sinksource.cc +26 -9
  734. package/deps/couchbase-cxx-client/third_party/snappy/snappy-sinksource.h +11 -11
  735. package/deps/couchbase-cxx-client/third_party/snappy/snappy-stubs-internal.cc +1 -1
  736. package/deps/couchbase-cxx-client/third_party/snappy/snappy-stubs-internal.h +227 -308
  737. package/deps/couchbase-cxx-client/third_party/snappy/snappy-stubs-public.h.in +0 -11
  738. package/deps/couchbase-cxx-client/third_party/snappy/snappy-test.cc +88 -198
  739. package/deps/couchbase-cxx-client/third_party/snappy/snappy-test.h +102 -285
  740. package/deps/couchbase-cxx-client/third_party/snappy/snappy.cc +1176 -410
  741. package/deps/couchbase-cxx-client/third_party/snappy/snappy.h +19 -4
  742. package/deps/couchbase-cxx-client/third_party/snappy/snappy_benchmark.cc +378 -0
  743. package/deps/couchbase-cxx-client/third_party/snappy/snappy_compress_fuzzer.cc +3 -2
  744. package/deps/couchbase-cxx-client/third_party/snappy/snappy_test_data.cc +57 -0
  745. package/deps/couchbase-cxx-client/third_party/snappy/snappy_test_data.h +68 -0
  746. package/deps/couchbase-cxx-client/third_party/snappy/snappy_test_tool.cc +471 -0
  747. package/deps/couchbase-cxx-client/third_party/snappy/snappy_uncompress_fuzzer.cc +3 -2
  748. package/deps/couchbase-cxx-client/third_party/snappy/snappy_unittest.cc +170 -666
  749. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  750. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  751. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/workflows/build-and-test.yml +38 -0
  752. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/workflows/pylint.yml +26 -0
  753. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/workflows/test_bindings.yml +24 -0
  754. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.travis-libcxx-setup.sh +28 -0
  755. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.travis.yml +231 -0
  756. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.ycm_extra_conf.py +115 -0
  757. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/AUTHORS +58 -0
  758. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/BUILD.bazel +44 -0
  759. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/CMakeLists.txt +287 -0
  760. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/CONTRIBUTING.md +58 -0
  761. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/CONTRIBUTORS +83 -0
  762. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/LICENSE +202 -0
  763. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/README.md +1323 -0
  764. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/WORKSPACE +51 -0
  765. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/_config.yml +1 -0
  766. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/appveyor.yml +50 -0
  767. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/BUILD +3 -0
  768. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/build_defs.bzl +25 -0
  769. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/BUILD +38 -0
  770. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/__init__.py +156 -0
  771. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/benchmark.cc +180 -0
  772. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/example.py +136 -0
  773. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/pybind11.BUILD +20 -0
  774. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/python_headers.BUILD +6 -0
  775. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/requirements.txt +2 -0
  776. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/AddCXXCompilerFlag.cmake +74 -0
  777. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/CXXFeatureCheck.cmake +69 -0
  778. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/Config.cmake.in +1 -0
  779. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/GetGitVersion.cmake +54 -0
  780. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/GoogleTest.cmake +41 -0
  781. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/GoogleTest.cmake.in +58 -0
  782. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/benchmark.pc.in +12 -0
  783. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/gnu_posix_regex.cpp +12 -0
  784. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/llvm-toolchain.cmake +8 -0
  785. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/posix_regex.cpp +14 -0
  786. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/split_list.cmake +3 -0
  787. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/std_regex.cpp +10 -0
  788. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/steady_clock.cpp +7 -0
  789. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/thread_safety_attributes.cpp +4 -0
  790. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/CMakeLists.txt +7 -0
  791. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/test_package/CMakeLists.txt +10 -0
  792. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/test_package/conanfile.py +19 -0
  793. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/test_package/test_package.cpp +18 -0
  794. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conanfile.py +79 -0
  795. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/dependencies.md +18 -0
  796. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/AssemblyTests.md +147 -0
  797. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/_config.yml +1 -0
  798. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/releasing.md +16 -0
  799. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/tools.md +203 -0
  800. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/include/benchmark/benchmark.h +1604 -0
  801. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/requirements.txt +2 -0
  802. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/setup.py +140 -0
  803. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/CMakeLists.txt +114 -0
  804. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/arraysize.h +33 -0
  805. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark.cc +499 -0
  806. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_api_internal.cc +15 -0
  807. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_api_internal.h +53 -0
  808. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_main.cc +17 -0
  809. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_name.cc +58 -0
  810. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_register.cc +515 -0
  811. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_register.h +108 -0
  812. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_runner.cc +362 -0
  813. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_runner.h +51 -0
  814. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/check.h +82 -0
  815. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/colorprint.cc +188 -0
  816. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/colorprint.h +33 -0
  817. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/commandlineflags.cc +228 -0
  818. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/commandlineflags.h +103 -0
  819. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/complexity.cc +238 -0
  820. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/complexity.h +55 -0
  821. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/console_reporter.cc +177 -0
  822. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/counter.cc +80 -0
  823. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/counter.h +32 -0
  824. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/csv_reporter.cc +154 -0
  825. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/cycleclock.h +211 -0
  826. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/internal_macros.h +102 -0
  827. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/json_reporter.cc +255 -0
  828. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/log.h +74 -0
  829. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/mutex.h +155 -0
  830. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/re.h +158 -0
  831. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/reporter.cc +105 -0
  832. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/sleep.cc +67 -0
  833. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/sleep.h +15 -0
  834. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/statistics.cc +193 -0
  835. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/statistics.h +37 -0
  836. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/string_util.cc +255 -0
  837. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/string_util.h +59 -0
  838. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/sysinfo.cc +716 -0
  839. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/thread_manager.h +64 -0
  840. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/thread_timer.h +86 -0
  841. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/timers.cc +245 -0
  842. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/timers.h +48 -0
  843. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/AssemblyTests.cmake +46 -0
  844. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/BUILD +73 -0
  845. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/CMakeLists.txt +263 -0
  846. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/args_product_test.cc +77 -0
  847. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/basic_test.cc +136 -0
  848. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/benchmark_gtest.cc +134 -0
  849. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/benchmark_name_gtest.cc +74 -0
  850. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/benchmark_test.cc +245 -0
  851. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/clobber_memory_assembly_test.cc +64 -0
  852. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/commandlineflags_gtest.cc +201 -0
  853. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/complexity_test.cc +213 -0
  854. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/cxx03_test.cc +63 -0
  855. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/diagnostics_test.cc +80 -0
  856. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/display_aggregates_only_test.cc +43 -0
  857. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/donotoptimize_assembly_test.cc +163 -0
  858. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/donotoptimize_test.cc +52 -0
  859. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/filter_test.cc +104 -0
  860. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/fixture_test.cc +51 -0
  861. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/internal_threading_test.cc +184 -0
  862. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/link_main_test.cc +8 -0
  863. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/map_test.cc +57 -0
  864. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/memory_manager_test.cc +44 -0
  865. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/multiple_ranges_test.cc +96 -0
  866. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/options_test.cc +75 -0
  867. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/output_test.h +213 -0
  868. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/output_test_helper.cc +515 -0
  869. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/register_benchmark_test.cc +184 -0
  870. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/report_aggregates_only_test.cc +39 -0
  871. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/reporter_output_test.cc +747 -0
  872. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/skip_with_error_test.cc +195 -0
  873. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/state_assembly_test.cc +68 -0
  874. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/statistics_gtest.cc +28 -0
  875. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/string_util_gtest.cc +153 -0
  876. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/templated_fixture_test.cc +28 -0
  877. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/user_counters_tabular_test.cc +285 -0
  878. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/user_counters_test.cc +531 -0
  879. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/user_counters_thousands_test.cc +173 -0
  880. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/BUILD.bazel +19 -0
  881. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/compare.py +429 -0
  882. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test1_run1.json +119 -0
  883. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test1_run2.json +119 -0
  884. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test2_run.json +81 -0
  885. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test3_run0.json +65 -0
  886. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test3_run1.json +65 -0
  887. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/__init__.py +8 -0
  888. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/report.py +903 -0
  889. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/util.py +163 -0
  890. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/requirements.txt +1 -0
  891. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/strip_asm.py +151 -0
  892. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/.travis.yml +65 -0
  893. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/BUILD.bazel +182 -0
  894. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/CMakeLists.txt +32 -0
  895. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/CONTRIBUTING.md +142 -0
  896. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/LICENSE +28 -0
  897. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/README.md +135 -0
  898. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/WORKSPACE +30 -0
  899. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/appveyor.yml +156 -0
  900. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/build-linux-bazel.sh +36 -0
  901. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/build-platformio.sh +2 -0
  902. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/env-linux.sh +41 -0
  903. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/env-osx.sh +41 -0
  904. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/get-nprocessors.sh +48 -0
  905. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/install-linux.sh +49 -0
  906. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/install-osx.sh +39 -0
  907. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/install-platformio.sh +5 -0
  908. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/log-config.sh +47 -0
  909. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/travis.sh +29 -0
  910. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/CMakeLists.txt +219 -0
  911. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/CONTRIBUTORS +40 -0
  912. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/LICENSE +28 -0
  913. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/README.md +44 -0
  914. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/cmake/gmock.pc.in +10 -0
  915. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/cmake/gmock_main.pc.in +10 -0
  916. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/cheat_sheet.md +786 -0
  917. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/community_created_documentation.md +9 -0
  918. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/cook_book.md +4276 -0
  919. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/for_dummies.md +702 -0
  920. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/gmock_faq.md +398 -0
  921. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/pump_manual.md +189 -0
  922. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-actions.h +1688 -0
  923. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-cardinalities.h +157 -0
  924. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-function-mocker.h +479 -0
  925. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h +577 -0
  926. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump +390 -0
  927. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-matchers.h +5394 -0
  928. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-more-matchers.h +92 -0
  929. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-nice-strict.h +230 -0
  930. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-spec-builders.h +2030 -0
  931. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock.h +98 -0
  932. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/README.md +16 -0
  933. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +10 -0
  934. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +12 -0
  935. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +36 -0
  936. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +39 -0
  937. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +459 -0
  938. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/gmock-port.h +87 -0
  939. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/gmock-pp.h +279 -0
  940. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/README.md +5 -0
  941. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/fuse_gmock_files.py +257 -0
  942. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/LICENSE +203 -0
  943. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/README +34 -0
  944. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/README.cppclean +115 -0
  945. package/deps/couchbase-cxx-client/{core/CMakeLists.txt → third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/__init__.py} +0 -0
  946. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/ast.py +1772 -0
  947. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class.py +245 -0
  948. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py +552 -0
  949. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/keywords.py +56 -0
  950. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/tokenize.py +284 -0
  951. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/utils.py +37 -0
  952. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/gmock_gen.py +30 -0
  953. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/pump.py +856 -0
  954. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-all.cc +46 -0
  955. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-cardinalities.cc +155 -0
  956. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-internal-utils.cc +200 -0
  957. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-matchers.cc +459 -0
  958. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-spec-builders.cc +908 -0
  959. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock.cc +213 -0
  960. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock_main.cc +72 -0
  961. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/BUILD.bazel +111 -0
  962. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-actions_test.cc +1583 -0
  963. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-cardinalities_test.cc +429 -0
  964. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-function-mocker_nc.cc +16 -0
  965. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-function-mocker_nc_test.py +43 -0
  966. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-function-mocker_test.cc +974 -0
  967. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-generated-actions_test.cc +1036 -0
  968. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-internal-utils_test.cc +720 -0
  969. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-matchers_test.cc +8562 -0
  970. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-more-actions_test.cc +725 -0
  971. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-nice-strict_test.cc +500 -0
  972. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-port_test.cc +42 -0
  973. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-pp-string_test.cc +206 -0
  974. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-pp_test.cc +83 -0
  975. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-spec-builders_test.cc +2775 -0
  976. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_all_test.cc +47 -0
  977. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_ex_test.cc +80 -0
  978. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_leak_test.py +104 -0
  979. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_leak_test_.cc +99 -0
  980. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_link2_test.cc +39 -0
  981. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_link_test.cc +39 -0
  982. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_link_test.h +690 -0
  983. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_output_test.py +183 -0
  984. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_output_test_.cc +309 -0
  985. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_output_test_golden.txt +317 -0
  986. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_stress_test.cc +240 -0
  987. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_test.cc +181 -0
  988. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_test_utils.py +108 -0
  989. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/pump_test.py +182 -0
  990. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/CMakeLists.txt +320 -0
  991. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/CONTRIBUTORS +38 -0
  992. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/LICENSE +28 -0
  993. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/README.md +262 -0
  994. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/Config.cmake.in +9 -0
  995. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/gtest.pc.in +9 -0
  996. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/gtest_main.pc.in +10 -0
  997. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/internal_utils.cmake +341 -0
  998. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/libgtest.la.in +21 -0
  999. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/advanced.md +2640 -0
  1000. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/faq.md +771 -0
  1001. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/pkgconfig.md +150 -0
  1002. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/primer.md +583 -0
  1003. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/samples.md +22 -0
  1004. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-death-test.h +342 -0
  1005. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-matchers.h +756 -0
  1006. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-message.h +219 -0
  1007. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-param-test.h +512 -0
  1008. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-printers.h +903 -0
  1009. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-spi.h +238 -0
  1010. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-test-part.h +184 -0
  1011. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-typed-test.h +337 -0
  1012. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest.h +2491 -0
  1013. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest_pred_impl.h +359 -0
  1014. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest_prod.h +61 -0
  1015. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/README.md +56 -0
  1016. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/gtest-port.h +37 -0
  1017. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  1018. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/gtest.h +37 -0
  1019. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +304 -0
  1020. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-filepath.h +211 -0
  1021. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h +1564 -0
  1022. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-param-util.h +947 -0
  1023. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-port-arch.h +112 -0
  1024. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-port.h +2371 -0
  1025. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-string.h +175 -0
  1026. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-type-util.h +187 -0
  1027. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/prime_tables.h +126 -0
  1028. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample1.cc +66 -0
  1029. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample1.h +41 -0
  1030. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample10_unittest.cc +139 -0
  1031. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample1_unittest.cc +151 -0
  1032. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample2.cc +54 -0
  1033. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample2.h +81 -0
  1034. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample2_unittest.cc +107 -0
  1035. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample3-inl.h +172 -0
  1036. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample3_unittest.cc +149 -0
  1037. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample4.cc +54 -0
  1038. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample4.h +53 -0
  1039. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample4_unittest.cc +53 -0
  1040. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample5_unittest.cc +196 -0
  1041. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample6_unittest.cc +224 -0
  1042. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample7_unittest.cc +117 -0
  1043. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample8_unittest.cc +154 -0
  1044. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample9_unittest.cc +156 -0
  1045. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/README.md +5 -0
  1046. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/common.py +83 -0
  1047. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/fuse_gtest_files.py +253 -0
  1048. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/gen_gtest_pred_impl.py +733 -0
  1049. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/gtest-config.in +274 -0
  1050. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/release_docs.py +158 -0
  1051. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/run_with_path.py +32 -0
  1052. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/upload.py +1402 -0
  1053. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/upload_gtest.py +78 -0
  1054. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-all.cc +48 -0
  1055. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-death-test.cc +1644 -0
  1056. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-filepath.cc +368 -0
  1057. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-internal-inl.h +1228 -0
  1058. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-matchers.cc +97 -0
  1059. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-port.cc +1404 -0
  1060. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-printers.cc +444 -0
  1061. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-test-part.cc +108 -0
  1062. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-typed-test.cc +111 -0
  1063. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest.cc +6606 -0
  1064. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest_main.cc +54 -0
  1065. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/BUILD.bazel +562 -0
  1066. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-break-on-failure-unittest.py +208 -0
  1067. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-break-on-failure-unittest_.cc +86 -0
  1068. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-catch-exceptions-test.py +236 -0
  1069. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-catch-exceptions-test_.cc +293 -0
  1070. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-color-test.py +127 -0
  1071. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-color-test_.cc +62 -0
  1072. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-death-test-test.cc +1542 -0
  1073. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-death-test_ex_test.cc +92 -0
  1074. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-env-var-test.py +120 -0
  1075. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-env-var-test_.cc +132 -0
  1076. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-failfast-unittest.py +410 -0
  1077. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-failfast-unittest_.cc +167 -0
  1078. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-filepath-test.cc +649 -0
  1079. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-filter-unittest.py +639 -0
  1080. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-filter-unittest_.cc +137 -0
  1081. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-json-outfiles-test.py +191 -0
  1082. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-json-output-unittest.py +804 -0
  1083. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-list-tests-unittest.py +205 -0
  1084. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-list-tests-unittest_.cc +156 -0
  1085. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-listener-test.cc +518 -0
  1086. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-message-test.cc +158 -0
  1087. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-options-test.cc +216 -0
  1088. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-output-test-golden-lin.txt +1180 -0
  1089. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-output-test.py +346 -0
  1090. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-output-test_.cc +1126 -0
  1091. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
  1092. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc +50 -0
  1093. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
  1094. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc +55 -0
  1095. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-test.cc +1119 -0
  1096. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-test.h +51 -0
  1097. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test2-test.cc +61 -0
  1098. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-port-test.cc +1280 -0
  1099. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-printers-test.cc +1847 -0
  1100. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-setuptestsuite-test.py +54 -0
  1101. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-setuptestsuite-test_.cc +49 -0
  1102. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-shuffle-test.py +323 -0
  1103. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-shuffle-test_.cc +101 -0
  1104. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-test-part-test.cc +230 -0
  1105. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-throw-on-failure-test.py +168 -0
  1106. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
  1107. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-uninitialized-test.py +67 -0
  1108. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-uninitialized-test_.cc +42 -0
  1109. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-typed-test2_test.cc +44 -0
  1110. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-typed-test_test.cc +462 -0
  1111. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-typed-test_test.h +65 -0
  1112. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-unittest-api_test.cc +341 -0
  1113. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_all_test.cc +46 -0
  1114. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_assert_by_exception_test.cc +116 -0
  1115. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_environment_test.cc +188 -0
  1116. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_help_test.py +171 -0
  1117. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_help_test_.cc +45 -0
  1118. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_json_test_utils.py +60 -0
  1119. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_list_output_unittest.py +286 -0
  1120. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_list_output_unittest_.cc +81 -0
  1121. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_main_unittest.cc +44 -0
  1122. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_no_test_unittest.cc +54 -0
  1123. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_pred_impl_unittest.cc +2422 -0
  1124. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_premature_exit_test.cc +126 -0
  1125. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_prod_test.cc +56 -0
  1126. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_repeat_test.cc +233 -0
  1127. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_check_output_test.py +59 -0
  1128. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
  1129. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_in_environment_setup_test.cc +49 -0
  1130. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_test.cc +55 -0
  1131. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_sole_header_test.cc +56 -0
  1132. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_stress_test.cc +248 -0
  1133. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
  1134. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_test_utils.py +312 -0
  1135. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_testbridge_test.py +63 -0
  1136. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_testbridge_test_.cc +43 -0
  1137. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc +90 -0
  1138. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_unittest.cc +7792 -0
  1139. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_outfile1_test_.cc +43 -0
  1140. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_outfile2_test_.cc +43 -0
  1141. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_outfiles_test.py +135 -0
  1142. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_output_unittest.py +405 -0
  1143. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_output_unittest_.cc +197 -0
  1144. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_test_utils.py +197 -0
  1145. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/production.cc +35 -0
  1146. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/production.h +54 -0
  1147. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/library.json +62 -0
  1148. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/platformio.ini +47 -0
  1149. package/deps/couchbase-cxx-client/tools/CMakeLists.txt +2 -0
  1150. package/deps/couchbase-cxx-client/tools/analytics.cxx +375 -0
  1151. package/deps/couchbase-cxx-client/tools/analytics.hxx +26 -0
  1152. package/deps/couchbase-cxx-client/tools/cbc.cxx +11 -4
  1153. package/deps/couchbase-cxx-client/tools/command_registry.cxx +4 -0
  1154. package/deps/couchbase-cxx-client/tools/get.cxx +27 -31
  1155. package/deps/couchbase-cxx-client/tools/get.hxx +1 -1
  1156. package/deps/couchbase-cxx-client/tools/pillowfight.cxx +396 -0
  1157. package/deps/couchbase-cxx-client/tools/pillowfight.hxx +26 -0
  1158. package/deps/couchbase-cxx-client/tools/query.cxx +97 -101
  1159. package/deps/couchbase-cxx-client/tools/query.hxx +1 -1
  1160. package/deps/couchbase-cxx-client/tools/utils.cxx +15 -1
  1161. package/deps/couchbase-cxx-client/tools/utils.hxx +3 -0
  1162. package/deps/couchbase-cxx-client/tools/version.hxx +1 -1
  1163. package/dist/authenticators.d.ts +1 -1
  1164. package/dist/binding.d.ts +24 -9
  1165. package/dist/bindingutilities.d.ts +6 -2
  1166. package/dist/bindingutilities.js +39 -7
  1167. package/dist/cluster.d.ts +27 -0
  1168. package/dist/cluster.js +88 -56
  1169. package/dist/collection.js +6 -6
  1170. package/dist/configProfile.js +16 -10
  1171. package/dist/couchbase.d.ts +1 -0
  1172. package/dist/couchbase.js +2 -1
  1173. package/dist/errors.d.ts +2 -2
  1174. package/dist/errors.js +4 -4
  1175. package/dist/scope.js +6 -6
  1176. package/dist/sdspecs.js +11 -11
  1177. package/dist/searchquery.d.ts +1 -1
  1178. package/dist/streamablepromises.d.ts +1 -1
  1179. package/dist/transactions.js +5 -1
  1180. package/dist/usermanager.js +9 -9
  1181. package/dist/viewindexmanager.js +8 -8
  1182. package/package.json +1 -1
  1183. package/src/binding.cpp +2 -0
  1184. package/src/jstocbpp_autogen.hpp +0 -4
  1185. package/src/jstocbpp_basic.hpp +8 -2
  1186. package/src/jstocbpp_errors.hpp +35 -0
  1187. package/src/jstocbpp_transactions.hpp +61 -9
  1188. package/src/transaction.cpp +1 -1
  1189. package/deps/couchbase-cxx-client/core/config_profile.cxx +0 -25
  1190. package/deps/couchbase-cxx-client/test/test_transaction_transaction_context.cxx +0 -550
  1191. package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_async_api.cxx +0 -392
  1192. package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_blocking_api.cxx +0 -643
  1193. package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple.cxx +0 -899
  1194. package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple_async.cxx +0 -972
  1195. package/deps/couchbase-cxx-client/test/tools/CMakeLists.txt +0 -10
  1196. package/deps/couchbase-cxx-client/test/tools/tool_kv_loader.cxx +0 -349
  1197. package/deps/couchbase-cxx-client/test/utils/uniq_id.cxx +0 -29
  1198. package/deps/couchbase-cxx-client/test/utils/uniq_id.hxx +0 -26
  1199. package/deps/couchbase-cxx-client/third_party/catch2/.travis.yml +0 -335
  1200. package/deps/couchbase-cxx-client/third_party/catch2/CMake/MiscFunctions.cmake +0 -26
  1201. package/deps/couchbase-cxx-client/third_party/catch2/WORKSPACE +0 -0
  1202. package/deps/couchbase-cxx-client/third_party/catch2/contrib/Catch.cmake +0 -206
  1203. package/deps/couchbase-cxx-client/third_party/catch2/contrib/CatchAddTests.cmake +0 -135
  1204. package/deps/couchbase-cxx-client/third_party/catch2/docs/slow-compiles.md +0 -106
  1205. package/deps/couchbase-cxx-client/third_party/catch2/examples/000-CatchMain.cpp +0 -15
  1206. package/deps/couchbase-cxx-client/third_party/catch2/examples/200-Rpt-CatchMain.cpp +0 -27
  1207. package/deps/couchbase-cxx-client/third_party/catch2/examples/207-Rpt-TeamCityReporter.cpp +0 -171
  1208. package/deps/couchbase-cxx-client/third_party/catch2/include/catch.hpp +0 -496
  1209. package/deps/couchbase-cxx-client/third_party/catch2/include/catch_with_main.hpp +0 -14
  1210. package/deps/couchbase-cxx-client/third_party/catch2/include/external/clara.hpp +0 -1268
  1211. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_benchmark.hpp +0 -122
  1212. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_benchmarking_all.hpp +0 -29
  1213. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_chronometer.hpp +0 -71
  1214. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_clock.hpp +0 -40
  1215. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_constructor.hpp +0 -79
  1216. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_environment.hpp +0 -38
  1217. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_estimate.hpp +0 -31
  1218. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_execution_plan.hpp +0 -59
  1219. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_optimizer.hpp +0 -68
  1220. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_outlier_classification.hpp +0 -29
  1221. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_sample_analysis.hpp +0 -50
  1222. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_analyse.hpp +0 -78
  1223. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_benchmark_function.hpp +0 -105
  1224. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_complete_invoke.hpp +0 -68
  1225. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_estimate_clock.hpp +0 -115
  1226. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_measure.hpp +0 -35
  1227. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_repeat.hpp +0 -37
  1228. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_run_for_at_least.hpp +0 -65
  1229. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_stats.cpp +0 -224
  1230. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_stats.hpp +0 -160
  1231. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_timing.hpp +0 -33
  1232. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_approx.cpp +0 -88
  1233. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_approx.h +0 -132
  1234. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionhandler.cpp +0 -122
  1235. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionhandler.h +0 -88
  1236. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertioninfo.h +0 -31
  1237. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionresult.cpp +0 -104
  1238. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionresult.h +0 -59
  1239. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_capture.hpp +0 -159
  1240. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_capture_matchers.cpp +0 -24
  1241. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_capture_matchers.h +0 -88
  1242. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_clara.h +0 -38
  1243. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_commandline.cpp +0 -230
  1244. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_commandline.h +0 -20
  1245. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_common.cpp +0 -43
  1246. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_common.h +0 -92
  1247. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_compiler_capabilities.h +0 -377
  1248. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_config.cpp +0 -86
  1249. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_config.hpp +0 -133
  1250. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_config_uncaught_exceptions.hpp +0 -44
  1251. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_console_colour.cpp +0 -243
  1252. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_console_colour.h +0 -69
  1253. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_context.cpp +0 -70
  1254. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_context.h +0 -64
  1255. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debug_console.cpp +0 -41
  1256. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debug_console.h +0 -17
  1257. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debugger.cpp +0 -122
  1258. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debugger.h +0 -65
  1259. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_decomposer.cpp +0 -24
  1260. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_decomposer.h +0 -259
  1261. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_default_main.hpp +0 -47
  1262. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enforce.cpp +0 -40
  1263. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enforce.h +0 -53
  1264. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enum_values_registry.cpp +0 -75
  1265. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enum_values_registry.h +0 -35
  1266. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_errno_guard.cpp +0 -15
  1267. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_errno_guard.h +0 -22
  1268. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_exception_translator_registry.cpp +0 -89
  1269. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_exception_translator_registry.h +0 -30
  1270. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_external_interfaces.h +0 -20
  1271. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_fatal_condition.cpp +0 -244
  1272. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_fatal_condition.h +0 -68
  1273. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators.cpp +0 -32
  1274. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators.hpp +0 -219
  1275. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators_generic.hpp +0 -237
  1276. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators_specific.hpp +0 -175
  1277. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_impl.hpp +0 -33
  1278. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_capture.cpp +0 -5
  1279. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_capture.h +0 -100
  1280. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_config.cpp +0 -5
  1281. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_config.h +0 -92
  1282. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_enum_values_registry.h +0 -46
  1283. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_exception.cpp +0 -6
  1284. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_exception.h +0 -88
  1285. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_generatortracker.h +0 -39
  1286. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_registry_hub.cpp +0 -6
  1287. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_registry_hub.h +0 -61
  1288. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_reporter.cpp +0 -114
  1289. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_reporter.h +0 -272
  1290. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_runner.cpp +0 -5
  1291. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_runner.h +0 -19
  1292. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_tag_alias_registry.h +0 -28
  1293. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_testcase.cpp +0 -6
  1294. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_testcase.h +0 -38
  1295. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_leak_detector.cpp +0 -37
  1296. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_leak_detector.h +0 -18
  1297. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_list.cpp +0 -173
  1298. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_list.h +0 -38
  1299. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers.cpp +0 -28
  1300. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers.h +0 -174
  1301. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_exception.cpp +0 -30
  1302. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_exception.hpp +0 -36
  1303. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_floating.cpp +0 -237
  1304. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_floating.h +0 -70
  1305. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_generic.cpp +0 -9
  1306. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_generic.hpp +0 -58
  1307. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_string.cpp +0 -118
  1308. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_string.h +0 -80
  1309. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_vector.h +0 -180
  1310. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_message.cpp +0 -142
  1311. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_message.h +0 -99
  1312. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_meta.hpp +0 -50
  1313. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_objc.hpp +0 -215
  1314. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_objc_arc.hpp +0 -51
  1315. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_option.hpp +0 -73
  1316. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_output_redirect.cpp +0 -147
  1317. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_output_redirect.h +0 -116
  1318. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_platform.h +0 -30
  1319. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_polyfills.cpp +0 -31
  1320. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_polyfills.hpp +0 -15
  1321. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_preprocessor.hpp +0 -237
  1322. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_random_number_generator.cpp +0 -73
  1323. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_random_number_generator.h +0 -58
  1324. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reenable_warnings.h +0 -21
  1325. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_registry_hub.cpp +0 -99
  1326. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reporter_registrars.hpp +0 -78
  1327. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reporter_registry.cpp +0 -34
  1328. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reporter_registry.h +0 -37
  1329. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_result_type.cpp +0 -27
  1330. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_result_type.h +0 -55
  1331. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_run_context.cpp +0 -595
  1332. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_run_context.h +0 -159
  1333. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section.cpp +0 -38
  1334. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section.h +0 -51
  1335. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section_info.cpp +0 -19
  1336. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section_info.h +0 -42
  1337. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_session.cpp +0 -313
  1338. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_session.h +0 -62
  1339. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_singletons.cpp +0 -36
  1340. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_singletons.hpp +0 -44
  1341. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_startup_exception_registry.cpp +0 -28
  1342. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_startup_exception_registry.h +0 -29
  1343. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stream.cpp +0 -187
  1344. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stream.h +0 -51
  1345. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_string_manip.cpp +0 -109
  1346. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_string_manip.h +0 -45
  1347. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stringref.cpp +0 -50
  1348. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stringref.h +0 -104
  1349. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_suppress_warnings.h +0 -27
  1350. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias.cpp +0 -5
  1351. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias.h +0 -26
  1352. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_autoregistrar.cpp +0 -16
  1353. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_autoregistrar.h +0 -26
  1354. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_registry.cpp +0 -58
  1355. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_registry.h +0 -31
  1356. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_info.cpp +0 -186
  1357. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_info.h +0 -90
  1358. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_registry_impl.cpp +0 -176
  1359. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_registry_impl.h +0 -71
  1360. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_tracker.cpp +0 -254
  1361. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_tracker.h +0 -180
  1362. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_registry.cpp +0 -37
  1363. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_registry.h +0 -402
  1364. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec.cpp +0 -99
  1365. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec.h +0 -94
  1366. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec_parser.cpp +0 -240
  1367. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec_parser.h +0 -79
  1368. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_text.h +0 -17
  1369. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_timer.cpp +0 -74
  1370. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_timer.h +0 -30
  1371. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_to_string.hpp +0 -28
  1372. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tostring.cpp +0 -265
  1373. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tostring.h +0 -675
  1374. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_totals.cpp +0 -61
  1375. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_totals.h +0 -41
  1376. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_uncaught_exceptions.cpp +0 -25
  1377. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_uncaught_exceptions.h +0 -15
  1378. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_user_interfaces.h +0 -18
  1379. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_version.cpp +0 -44
  1380. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_version.h +0 -39
  1381. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_wildcard_pattern.cpp +0 -47
  1382. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_wildcard_pattern.h +0 -38
  1383. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_windows_h_proxy.h +0 -39
  1384. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_xmlwriter.cpp +0 -334
  1385. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_xmlwriter.h +0 -116
  1386. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_automake.hpp +0 -62
  1387. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_bases.cpp +0 -84
  1388. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_bases.hpp +0 -285
  1389. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_compact.cpp +0 -290
  1390. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_compact.h +0 -39
  1391. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_console.cpp +0 -700
  1392. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_console.h +0 -89
  1393. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_junit.cpp +0 -300
  1394. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_junit.h +0 -62
  1395. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_listening.cpp +0 -164
  1396. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_listening.h +0 -63
  1397. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_sonarqube.hpp +0 -181
  1398. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_tap.hpp +0 -254
  1399. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_teamcity.hpp +0 -219
  1400. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_xml.cpp +0 -281
  1401. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_xml.h +0 -68
  1402. package/deps/couchbase-cxx-client/third_party/catch2/misc/appveyorBuildConfigurationScript.bat +0 -22
  1403. package/deps/couchbase-cxx-client/third_party/catch2/misc/appveyorMergeCoverageScript.py +0 -9
  1404. package/deps/couchbase-cxx-client/third_party/catch2/misc/appveyorTestRunScript.bat +0 -15
  1405. package/deps/couchbase-cxx-client/third_party/catch2/misc/coverage-helper.cpp +0 -142
  1406. package/deps/couchbase-cxx-client/third_party/catch2/misc/installOpenCppCoverage.ps1 +0 -19
  1407. package/deps/couchbase-cxx-client/third_party/catch2/projects/CMakeLists.txt +0 -492
  1408. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/CMakeLists.txt +0 -201
  1409. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/ToDo.txt +0 -11
  1410. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X01-PrefixedMacros.cpp +0 -84
  1411. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X02-DisabledMacros.cpp +0 -31
  1412. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X03-DisabledExceptions-DefaultHandler.cpp +0 -23
  1413. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X04-DisabledExceptions-CustomHandler.cpp +0 -33
  1414. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X10-FallbackStringifier.cpp +0 -23
  1415. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X11-DisableStringification.cpp +0 -16
  1416. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X12-CustomDebugBreakMacro.cpp +0 -17
  1417. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X20-BenchmarkingMacros.cpp +0 -125
  1418. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X90-WindowsHeaderInclusion.cpp +0 -12
  1419. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/compact.sw.approved.txt +0 -1903
  1420. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/console.std.approved.txt +0 -1425
  1421. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/console.sw.approved.txt +0 -14183
  1422. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/console.swa4.approved.txt +0 -936
  1423. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/junit.sw.approved.txt +0 -1773
  1424. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/sonarqube.sw.approved.txt +0 -1777
  1425. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/xml.sw.approved.txt +0 -16767
  1426. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/CompileTimePerfTests/10.tests.cpp +0 -13
  1427. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/CompileTimePerfTests/100.tests.cpp +0 -13
  1428. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/CompileTimePerfTests/All.tests.cpp +0 -15
  1429. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/CmdLine.tests.cpp +0 -582
  1430. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/Details.tests.cpp +0 -23
  1431. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp +0 -352
  1432. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/InternalBenchmark.tests.cpp +0 -405
  1433. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/PartTracker.tests.cpp +0 -253
  1434. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/RandomNumberGeneration.tests.cpp +0 -45
  1435. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/String.tests.cpp +0 -150
  1436. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/StringManip.tests.cpp +0 -67
  1437. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/Tag.tests.cpp +0 -54
  1438. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/ToString.tests.cpp +0 -53
  1439. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/Xml.tests.cpp +0 -114
  1440. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_console_colour.cpp +0 -3
  1441. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_debugger.cpp +0 -2
  1442. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_interfaces_reporter.cpp +0 -2
  1443. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_option.cpp +0 -3
  1444. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_stream.cpp +0 -3
  1445. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_test_case_tracker.cpp +0 -2
  1446. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_test_spec.cpp +0 -3
  1447. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_xmlwriter.cpp +0 -4
  1448. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/TestMain.cpp +0 -34
  1449. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/TimingTests/Sleep.tests.cpp +0 -23
  1450. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Approx.tests.cpp +0 -215
  1451. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/BDD.tests.cpp +0 -110
  1452. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Benchmark.tests.cpp +0 -144
  1453. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Class.tests.cpp +0 -137
  1454. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Compilation.tests.cpp +0 -269
  1455. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Condition.tests.cpp +0 -347
  1456. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Decomposition.tests.cpp +0 -39
  1457. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/EnumToString.tests.cpp +0 -99
  1458. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Exception.tests.cpp +0 -210
  1459. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Generators.tests.cpp +0 -271
  1460. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Matchers.tests.cpp +0 -676
  1461. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Message.tests.cpp +0 -269
  1462. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Misc.tests.cpp +0 -493
  1463. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringByte.tests.cpp +0 -15
  1464. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringChrono.tests.cpp +0 -44
  1465. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringGeneral.tests.cpp +0 -210
  1466. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringOptional.tests.cpp +0 -23
  1467. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringPair.tests.cpp +0 -30
  1468. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringTuple.tests.cpp +0 -47
  1469. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringVariant.tests.cpp +0 -91
  1470. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringVector.tests.cpp +0 -86
  1471. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringWhich.tests.cpp +0 -193
  1472. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Tricky.tests.cpp +0 -429
  1473. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/VariadicMacros.tests.cpp +0 -29
  1474. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/WarnAboutNoTests.cmake +0 -19
  1475. package/deps/couchbase-cxx-client/third_party/catch2/projects/TestScripts/testRandomOrder.py +0 -59
  1476. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/CatchOCTestCase.h +0 -25
  1477. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/CatchOCTestCase.mm +0 -87
  1478. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/Main.mm +0 -2
  1479. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/OCTest.1 +0 -79
  1480. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/OCTest.mm +0 -28
  1481. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/TestObj.h +0 -28
  1482. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/TestObj.m +0 -25
  1483. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest.xcodeproj/project.pbxproj +0 -294
  1484. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  1485. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  1486. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/catch_objc_impl.mm +0 -69
  1487. package/deps/couchbase-cxx-client/third_party/catch2/scripts/approvalTests.py +0 -217
  1488. package/deps/couchbase-cxx-client/third_party/catch2/scripts/approve.py +0 -33
  1489. package/deps/couchbase-cxx-client/third_party/catch2/scripts/benchmarkCompile.py +0 -148
  1490. package/deps/couchbase-cxx-client/third_party/catch2/scripts/benchmarkRunner.py +0 -56
  1491. package/deps/couchbase-cxx-client/third_party/catch2/scripts/developBuild.py +0 -10
  1492. package/deps/couchbase-cxx-client/third_party/catch2/scripts/embed.py +0 -63
  1493. package/deps/couchbase-cxx-client/third_party/catch2/scripts/embedClara.py +0 -27
  1494. package/deps/couchbase-cxx-client/third_party/catch2/scripts/extractFeaturesFromReleaseNotes.py +0 -94
  1495. package/deps/couchbase-cxx-client/third_party/catch2/scripts/fixWhitespace.py +0 -52
  1496. package/deps/couchbase-cxx-client/third_party/catch2/scripts/generateSingleHeader.py +0 -151
  1497. package/deps/couchbase-cxx-client/third_party/catch2/scripts/majorRelease.py +0 -10
  1498. package/deps/couchbase-cxx-client/third_party/catch2/scripts/minorRelease.py +0 -10
  1499. package/deps/couchbase-cxx-client/third_party/catch2/scripts/patchRelease.py +0 -10
  1500. package/deps/couchbase-cxx-client/third_party/catch2/scripts/releaseCommon.py +0 -168
  1501. package/deps/couchbase-cxx-client/third_party/catch2/scripts/releaseNotes.py +0 -65
  1502. package/deps/couchbase-cxx-client/third_party/catch2/scripts/scriptCommon.py +0 -31
  1503. package/deps/couchbase-cxx-client/third_party/catch2/scripts/updateDocumentToC.py +0 -449
  1504. package/deps/couchbase-cxx-client/third_party/catch2/scripts/updateWandbox.py +0 -53
  1505. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch.hpp +0 -17959
  1506. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_automake.hpp +0 -62
  1507. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_sonarqube.hpp +0 -181
  1508. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_tap.hpp +0 -254
  1509. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_teamcity.hpp +0 -219
  1510. package/deps/couchbase-cxx-client/third_party/catch2/src/catch_with_main.cpp +0 -2
  1511. package/deps/couchbase-cxx-client/third_party/snappy/.appveyor.yml +0 -36
  1512. package/deps/couchbase-cxx-client/third_party/snappy/.travis.yml +0 -94
  1513. /package/deps/couchbase-cxx-client/third_party/catch2/{artwork → data/artwork}/catch2-c-logo.png +0 -0
  1514. /package/deps/couchbase-cxx-client/third_party/catch2/{artwork → data/artwork}/catch2-hand-logo.png +0 -0
  1515. /package/deps/couchbase-cxx-client/third_party/catch2/{artwork → data/artwork}/catch2-logo-small.png +0 -0
  1516. /package/deps/couchbase-cxx-client/third_party/catch2/{contrib → extras}/ParseAndAddCatchTests.cmake +0 -0
  1517. /package/deps/couchbase-cxx-client/third_party/catch2/{contrib → extras}/gdbinit +0 -0
  1518. /package/deps/couchbase-cxx-client/third_party/catch2/{contrib → extras}/lldbinit +0 -0
  1519. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Baselines/automake.std.approved.txt +0 -0
  1520. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Misc/invalid-test-names.input +0 -0
  1521. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Misc/plain-old-tests.input +0 -0
  1522. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Misc/special-characters-in-file.input +0 -0
  1523. /package/deps/couchbase-cxx-client/third_party/catch2/{misc → tools/misc}/CMakeLists.txt +0 -0
@@ -0,0 +1,2030 @@
1
+ // Copyright 2007, Google Inc.
2
+ // All rights reserved.
3
+ //
4
+ // Redistribution and use in source and binary forms, with or without
5
+ // modification, are permitted provided that the following conditions are
6
+ // met:
7
+ //
8
+ // * Redistributions of source code must retain the above copyright
9
+ // notice, this list of conditions and the following disclaimer.
10
+ // * Redistributions in binary form must reproduce the above
11
+ // copyright notice, this list of conditions and the following disclaimer
12
+ // in the documentation and/or other materials provided with the
13
+ // distribution.
14
+ // * Neither the name of Google Inc. nor the names of its
15
+ // contributors may be used to endorse or promote products derived from
16
+ // this software without specific prior written permission.
17
+ //
18
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+
30
+
31
+ // Google Mock - a framework for writing C++ mock classes.
32
+ //
33
+ // This file implements the ON_CALL() and EXPECT_CALL() macros.
34
+ //
35
+ // A user can use the ON_CALL() macro to specify the default action of
36
+ // a mock method. The syntax is:
37
+ //
38
+ // ON_CALL(mock_object, Method(argument-matchers))
39
+ // .With(multi-argument-matcher)
40
+ // .WillByDefault(action);
41
+ //
42
+ // where the .With() clause is optional.
43
+ //
44
+ // A user can use the EXPECT_CALL() macro to specify an expectation on
45
+ // a mock method. The syntax is:
46
+ //
47
+ // EXPECT_CALL(mock_object, Method(argument-matchers))
48
+ // .With(multi-argument-matchers)
49
+ // .Times(cardinality)
50
+ // .InSequence(sequences)
51
+ // .After(expectations)
52
+ // .WillOnce(action)
53
+ // .WillRepeatedly(action)
54
+ // .RetiresOnSaturation();
55
+ //
56
+ // where all clauses are optional, and .InSequence()/.After()/
57
+ // .WillOnce() can appear any number of times.
58
+
59
+ // GOOGLETEST_CM0002 DO NOT DELETE
60
+
61
+ #ifndef GMOCK_INCLUDE_GMOCK_GMOCK_SPEC_BUILDERS_H_
62
+ #define GMOCK_INCLUDE_GMOCK_GMOCK_SPEC_BUILDERS_H_
63
+
64
+ #include <functional>
65
+ #include <map>
66
+ #include <memory>
67
+ #include <set>
68
+ #include <sstream>
69
+ #include <string>
70
+ #include <type_traits>
71
+ #include <utility>
72
+ #include <vector>
73
+ #include "gmock/gmock-actions.h"
74
+ #include "gmock/gmock-cardinalities.h"
75
+ #include "gmock/gmock-matchers.h"
76
+ #include "gmock/internal/gmock-internal-utils.h"
77
+ #include "gmock/internal/gmock-port.h"
78
+ #include "gtest/gtest.h"
79
+
80
+ #if GTEST_HAS_EXCEPTIONS
81
+ # include <stdexcept> // NOLINT
82
+ #endif
83
+
84
+ GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \
85
+ /* class A needs to have dll-interface to be used by clients of class B */)
86
+
87
+ namespace testing {
88
+
89
+ // An abstract handle of an expectation.
90
+ class Expectation;
91
+
92
+ // A set of expectation handles.
93
+ class ExpectationSet;
94
+
95
+ // Anything inside the 'internal' namespace IS INTERNAL IMPLEMENTATION
96
+ // and MUST NOT BE USED IN USER CODE!!!
97
+ namespace internal {
98
+
99
+ // Implements a mock function.
100
+ template <typename F> class FunctionMocker;
101
+
102
+ // Base class for expectations.
103
+ class ExpectationBase;
104
+
105
+ // Implements an expectation.
106
+ template <typename F> class TypedExpectation;
107
+
108
+ // Helper class for testing the Expectation class template.
109
+ class ExpectationTester;
110
+
111
+ // Protects the mock object registry (in class Mock), all function
112
+ // mockers, and all expectations.
113
+ //
114
+ // The reason we don't use more fine-grained protection is: when a
115
+ // mock function Foo() is called, it needs to consult its expectations
116
+ // to see which one should be picked. If another thread is allowed to
117
+ // call a mock function (either Foo() or a different one) at the same
118
+ // time, it could affect the "retired" attributes of Foo()'s
119
+ // expectations when InSequence() is used, and thus affect which
120
+ // expectation gets picked. Therefore, we sequence all mock function
121
+ // calls to ensure the integrity of the mock objects' states.
122
+ GTEST_API_ GTEST_DECLARE_STATIC_MUTEX_(g_gmock_mutex);
123
+
124
+ // Untyped base class for ActionResultHolder<R>.
125
+ class UntypedActionResultHolderBase;
126
+
127
+ // Abstract base class of FunctionMocker. This is the
128
+ // type-agnostic part of the function mocker interface. Its pure
129
+ // virtual methods are implemented by FunctionMocker.
130
+ class GTEST_API_ UntypedFunctionMockerBase {
131
+ public:
132
+ UntypedFunctionMockerBase();
133
+ virtual ~UntypedFunctionMockerBase();
134
+
135
+ // Verifies that all expectations on this mock function have been
136
+ // satisfied. Reports one or more Google Test non-fatal failures
137
+ // and returns false if not.
138
+ bool VerifyAndClearExpectationsLocked()
139
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex);
140
+
141
+ // Clears the ON_CALL()s set on this mock function.
142
+ virtual void ClearDefaultActionsLocked()
143
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) = 0;
144
+
145
+ // In all of the following Untyped* functions, it's the caller's
146
+ // responsibility to guarantee the correctness of the arguments'
147
+ // types.
148
+
149
+ // Performs the default action with the given arguments and returns
150
+ // the action's result. The call description string will be used in
151
+ // the error message to describe the call in the case the default
152
+ // action fails.
153
+ // L = *
154
+ virtual UntypedActionResultHolderBase* UntypedPerformDefaultAction(
155
+ void* untyped_args, const std::string& call_description) const = 0;
156
+
157
+ // Performs the given action with the given arguments and returns
158
+ // the action's result.
159
+ // L = *
160
+ virtual UntypedActionResultHolderBase* UntypedPerformAction(
161
+ const void* untyped_action, void* untyped_args) const = 0;
162
+
163
+ // Writes a message that the call is uninteresting (i.e. neither
164
+ // explicitly expected nor explicitly unexpected) to the given
165
+ // ostream.
166
+ virtual void UntypedDescribeUninterestingCall(
167
+ const void* untyped_args,
168
+ ::std::ostream* os) const
169
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex) = 0;
170
+
171
+ // Returns the expectation that matches the given function arguments
172
+ // (or NULL is there's no match); when a match is found,
173
+ // untyped_action is set to point to the action that should be
174
+ // performed (or NULL if the action is "do default"), and
175
+ // is_excessive is modified to indicate whether the call exceeds the
176
+ // expected number.
177
+ virtual const ExpectationBase* UntypedFindMatchingExpectation(
178
+ const void* untyped_args,
179
+ const void** untyped_action, bool* is_excessive,
180
+ ::std::ostream* what, ::std::ostream* why)
181
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex) = 0;
182
+
183
+ // Prints the given function arguments to the ostream.
184
+ virtual void UntypedPrintArgs(const void* untyped_args,
185
+ ::std::ostream* os) const = 0;
186
+
187
+ // Sets the mock object this mock method belongs to, and registers
188
+ // this information in the global mock registry. Will be called
189
+ // whenever an EXPECT_CALL() or ON_CALL() is executed on this mock
190
+ // method.
191
+ void RegisterOwner(const void* mock_obj)
192
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex);
193
+
194
+ // Sets the mock object this mock method belongs to, and sets the
195
+ // name of the mock function. Will be called upon each invocation
196
+ // of this mock function.
197
+ void SetOwnerAndName(const void* mock_obj, const char* name)
198
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex);
199
+
200
+ // Returns the mock object this mock method belongs to. Must be
201
+ // called after RegisterOwner() or SetOwnerAndName() has been
202
+ // called.
203
+ const void* MockObject() const
204
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex);
205
+
206
+ // Returns the name of this mock method. Must be called after
207
+ // SetOwnerAndName() has been called.
208
+ const char* Name() const
209
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex);
210
+
211
+ // Returns the result of invoking this mock function with the given
212
+ // arguments. This function can be safely called from multiple
213
+ // threads concurrently. The caller is responsible for deleting the
214
+ // result.
215
+ UntypedActionResultHolderBase* UntypedInvokeWith(void* untyped_args)
216
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex);
217
+
218
+ protected:
219
+ typedef std::vector<const void*> UntypedOnCallSpecs;
220
+
221
+ using UntypedExpectations = std::vector<std::shared_ptr<ExpectationBase>>;
222
+
223
+ // Returns an Expectation object that references and co-owns exp,
224
+ // which must be an expectation on this mock function.
225
+ Expectation GetHandleOf(ExpectationBase* exp);
226
+
227
+ // Address of the mock object this mock method belongs to. Only
228
+ // valid after this mock method has been called or
229
+ // ON_CALL/EXPECT_CALL has been invoked on it.
230
+ const void* mock_obj_; // Protected by g_gmock_mutex.
231
+
232
+ // Name of the function being mocked. Only valid after this mock
233
+ // method has been called.
234
+ const char* name_; // Protected by g_gmock_mutex.
235
+
236
+ // All default action specs for this function mocker.
237
+ UntypedOnCallSpecs untyped_on_call_specs_;
238
+
239
+ // All expectations for this function mocker.
240
+ //
241
+ // It's undefined behavior to interleave expectations (EXPECT_CALLs
242
+ // or ON_CALLs) and mock function calls. Also, the order of
243
+ // expectations is important. Therefore it's a logic race condition
244
+ // to read/write untyped_expectations_ concurrently. In order for
245
+ // tools like tsan to catch concurrent read/write accesses to
246
+ // untyped_expectations, we deliberately leave accesses to it
247
+ // unprotected.
248
+ UntypedExpectations untyped_expectations_;
249
+ }; // class UntypedFunctionMockerBase
250
+
251
+ // Untyped base class for OnCallSpec<F>.
252
+ class UntypedOnCallSpecBase {
253
+ public:
254
+ // The arguments are the location of the ON_CALL() statement.
255
+ UntypedOnCallSpecBase(const char* a_file, int a_line)
256
+ : file_(a_file), line_(a_line), last_clause_(kNone) {}
257
+
258
+ // Where in the source file was the default action spec defined?
259
+ const char* file() const { return file_; }
260
+ int line() const { return line_; }
261
+
262
+ protected:
263
+ // Gives each clause in the ON_CALL() statement a name.
264
+ enum Clause {
265
+ // Do not change the order of the enum members! The run-time
266
+ // syntax checking relies on it.
267
+ kNone,
268
+ kWith,
269
+ kWillByDefault
270
+ };
271
+
272
+ // Asserts that the ON_CALL() statement has a certain property.
273
+ void AssertSpecProperty(bool property,
274
+ const std::string& failure_message) const {
275
+ Assert(property, file_, line_, failure_message);
276
+ }
277
+
278
+ // Expects that the ON_CALL() statement has a certain property.
279
+ void ExpectSpecProperty(bool property,
280
+ const std::string& failure_message) const {
281
+ Expect(property, file_, line_, failure_message);
282
+ }
283
+
284
+ const char* file_;
285
+ int line_;
286
+
287
+ // The last clause in the ON_CALL() statement as seen so far.
288
+ // Initially kNone and changes as the statement is parsed.
289
+ Clause last_clause_;
290
+ }; // class UntypedOnCallSpecBase
291
+
292
+ // This template class implements an ON_CALL spec.
293
+ template <typename F>
294
+ class OnCallSpec : public UntypedOnCallSpecBase {
295
+ public:
296
+ typedef typename Function<F>::ArgumentTuple ArgumentTuple;
297
+ typedef typename Function<F>::ArgumentMatcherTuple ArgumentMatcherTuple;
298
+
299
+ // Constructs an OnCallSpec object from the information inside
300
+ // the parenthesis of an ON_CALL() statement.
301
+ OnCallSpec(const char* a_file, int a_line,
302
+ const ArgumentMatcherTuple& matchers)
303
+ : UntypedOnCallSpecBase(a_file, a_line),
304
+ matchers_(matchers),
305
+ // By default, extra_matcher_ should match anything. However,
306
+ // we cannot initialize it with _ as that causes ambiguity between
307
+ // Matcher's copy and move constructor for some argument types.
308
+ extra_matcher_(A<const ArgumentTuple&>()) {}
309
+
310
+ // Implements the .With() clause.
311
+ OnCallSpec& With(const Matcher<const ArgumentTuple&>& m) {
312
+ // Makes sure this is called at most once.
313
+ ExpectSpecProperty(last_clause_ < kWith,
314
+ ".With() cannot appear "
315
+ "more than once in an ON_CALL().");
316
+ last_clause_ = kWith;
317
+
318
+ extra_matcher_ = m;
319
+ return *this;
320
+ }
321
+
322
+ // Implements the .WillByDefault() clause.
323
+ OnCallSpec& WillByDefault(const Action<F>& action) {
324
+ ExpectSpecProperty(last_clause_ < kWillByDefault,
325
+ ".WillByDefault() must appear "
326
+ "exactly once in an ON_CALL().");
327
+ last_clause_ = kWillByDefault;
328
+
329
+ ExpectSpecProperty(!action.IsDoDefault(),
330
+ "DoDefault() cannot be used in ON_CALL().");
331
+ action_ = action;
332
+ return *this;
333
+ }
334
+
335
+ // Returns true if and only if the given arguments match the matchers.
336
+ bool Matches(const ArgumentTuple& args) const {
337
+ return TupleMatches(matchers_, args) && extra_matcher_.Matches(args);
338
+ }
339
+
340
+ // Returns the action specified by the user.
341
+ const Action<F>& GetAction() const {
342
+ AssertSpecProperty(last_clause_ == kWillByDefault,
343
+ ".WillByDefault() must appear exactly "
344
+ "once in an ON_CALL().");
345
+ return action_;
346
+ }
347
+
348
+ private:
349
+ // The information in statement
350
+ //
351
+ // ON_CALL(mock_object, Method(matchers))
352
+ // .With(multi-argument-matcher)
353
+ // .WillByDefault(action);
354
+ //
355
+ // is recorded in the data members like this:
356
+ //
357
+ // source file that contains the statement => file_
358
+ // line number of the statement => line_
359
+ // matchers => matchers_
360
+ // multi-argument-matcher => extra_matcher_
361
+ // action => action_
362
+ ArgumentMatcherTuple matchers_;
363
+ Matcher<const ArgumentTuple&> extra_matcher_;
364
+ Action<F> action_;
365
+ }; // class OnCallSpec
366
+
367
+ // Possible reactions on uninteresting calls.
368
+ enum CallReaction {
369
+ kAllow,
370
+ kWarn,
371
+ kFail,
372
+ };
373
+
374
+ } // namespace internal
375
+
376
+ // Utilities for manipulating mock objects.
377
+ class GTEST_API_ Mock {
378
+ public:
379
+ // The following public methods can be called concurrently.
380
+
381
+ // Tells Google Mock to ignore mock_obj when checking for leaked
382
+ // mock objects.
383
+ static void AllowLeak(const void* mock_obj)
384
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
385
+
386
+ // Verifies and clears all expectations on the given mock object.
387
+ // If the expectations aren't satisfied, generates one or more
388
+ // Google Test non-fatal failures and returns false.
389
+ static bool VerifyAndClearExpectations(void* mock_obj)
390
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
391
+
392
+ // Verifies all expectations on the given mock object and clears its
393
+ // default actions and expectations. Returns true if and only if the
394
+ // verification was successful.
395
+ static bool VerifyAndClear(void* mock_obj)
396
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
397
+
398
+ // Returns whether the mock was created as a naggy mock (default)
399
+ static bool IsNaggy(void* mock_obj)
400
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
401
+ // Returns whether the mock was created as a nice mock
402
+ static bool IsNice(void* mock_obj)
403
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
404
+ // Returns whether the mock was created as a strict mock
405
+ static bool IsStrict(void* mock_obj)
406
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
407
+
408
+ private:
409
+ friend class internal::UntypedFunctionMockerBase;
410
+
411
+ // Needed for a function mocker to register itself (so that we know
412
+ // how to clear a mock object).
413
+ template <typename F>
414
+ friend class internal::FunctionMocker;
415
+
416
+ template <typename M>
417
+ friend class NiceMock;
418
+
419
+ template <typename M>
420
+ friend class NaggyMock;
421
+
422
+ template <typename M>
423
+ friend class StrictMock;
424
+
425
+ // Tells Google Mock to allow uninteresting calls on the given mock
426
+ // object.
427
+ static void AllowUninterestingCalls(const void* mock_obj)
428
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
429
+
430
+ // Tells Google Mock to warn the user about uninteresting calls on
431
+ // the given mock object.
432
+ static void WarnUninterestingCalls(const void* mock_obj)
433
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
434
+
435
+ // Tells Google Mock to fail uninteresting calls on the given mock
436
+ // object.
437
+ static void FailUninterestingCalls(const void* mock_obj)
438
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
439
+
440
+ // Tells Google Mock the given mock object is being destroyed and
441
+ // its entry in the call-reaction table should be removed.
442
+ static void UnregisterCallReaction(const void* mock_obj)
443
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
444
+
445
+ // Returns the reaction Google Mock will have on uninteresting calls
446
+ // made on the given mock object.
447
+ static internal::CallReaction GetReactionOnUninterestingCalls(
448
+ const void* mock_obj)
449
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
450
+
451
+ // Verifies that all expectations on the given mock object have been
452
+ // satisfied. Reports one or more Google Test non-fatal failures
453
+ // and returns false if not.
454
+ static bool VerifyAndClearExpectationsLocked(void* mock_obj)
455
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(internal::g_gmock_mutex);
456
+
457
+ // Clears all ON_CALL()s set on the given mock object.
458
+ static void ClearDefaultActionsLocked(void* mock_obj)
459
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(internal::g_gmock_mutex);
460
+
461
+ // Registers a mock object and a mock method it owns.
462
+ static void Register(
463
+ const void* mock_obj,
464
+ internal::UntypedFunctionMockerBase* mocker)
465
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
466
+
467
+ // Tells Google Mock where in the source code mock_obj is used in an
468
+ // ON_CALL or EXPECT_CALL. In case mock_obj is leaked, this
469
+ // information helps the user identify which object it is.
470
+ static void RegisterUseByOnCallOrExpectCall(
471
+ const void* mock_obj, const char* file, int line)
472
+ GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
473
+
474
+ // Unregisters a mock method; removes the owning mock object from
475
+ // the registry when the last mock method associated with it has
476
+ // been unregistered. This is called only in the destructor of
477
+ // FunctionMocker.
478
+ static void UnregisterLocked(internal::UntypedFunctionMockerBase* mocker)
479
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(internal::g_gmock_mutex);
480
+ }; // class Mock
481
+
482
+ // An abstract handle of an expectation. Useful in the .After()
483
+ // clause of EXPECT_CALL() for setting the (partial) order of
484
+ // expectations. The syntax:
485
+ //
486
+ // Expectation e1 = EXPECT_CALL(...)...;
487
+ // EXPECT_CALL(...).After(e1)...;
488
+ //
489
+ // sets two expectations where the latter can only be matched after
490
+ // the former has been satisfied.
491
+ //
492
+ // Notes:
493
+ // - This class is copyable and has value semantics.
494
+ // - Constness is shallow: a const Expectation object itself cannot
495
+ // be modified, but the mutable methods of the ExpectationBase
496
+ // object it references can be called via expectation_base().
497
+
498
+ class GTEST_API_ Expectation {
499
+ public:
500
+ // Constructs a null object that doesn't reference any expectation.
501
+ Expectation();
502
+ Expectation(Expectation&&) = default;
503
+ Expectation(const Expectation&) = default;
504
+ Expectation& operator=(Expectation&&) = default;
505
+ Expectation& operator=(const Expectation&) = default;
506
+ ~Expectation();
507
+
508
+ // This single-argument ctor must not be explicit, in order to support the
509
+ // Expectation e = EXPECT_CALL(...);
510
+ // syntax.
511
+ //
512
+ // A TypedExpectation object stores its pre-requisites as
513
+ // Expectation objects, and needs to call the non-const Retire()
514
+ // method on the ExpectationBase objects they reference. Therefore
515
+ // Expectation must receive a *non-const* reference to the
516
+ // ExpectationBase object.
517
+ Expectation(internal::ExpectationBase& exp); // NOLINT
518
+
519
+ // The compiler-generated copy ctor and operator= work exactly as
520
+ // intended, so we don't need to define our own.
521
+
522
+ // Returns true if and only if rhs references the same expectation as this
523
+ // object does.
524
+ bool operator==(const Expectation& rhs) const {
525
+ return expectation_base_ == rhs.expectation_base_;
526
+ }
527
+
528
+ bool operator!=(const Expectation& rhs) const { return !(*this == rhs); }
529
+
530
+ private:
531
+ friend class ExpectationSet;
532
+ friend class Sequence;
533
+ friend class ::testing::internal::ExpectationBase;
534
+ friend class ::testing::internal::UntypedFunctionMockerBase;
535
+
536
+ template <typename F>
537
+ friend class ::testing::internal::FunctionMocker;
538
+
539
+ template <typename F>
540
+ friend class ::testing::internal::TypedExpectation;
541
+
542
+ // This comparator is needed for putting Expectation objects into a set.
543
+ class Less {
544
+ public:
545
+ bool operator()(const Expectation& lhs, const Expectation& rhs) const {
546
+ return lhs.expectation_base_.get() < rhs.expectation_base_.get();
547
+ }
548
+ };
549
+
550
+ typedef ::std::set<Expectation, Less> Set;
551
+
552
+ Expectation(
553
+ const std::shared_ptr<internal::ExpectationBase>& expectation_base);
554
+
555
+ // Returns the expectation this object references.
556
+ const std::shared_ptr<internal::ExpectationBase>& expectation_base() const {
557
+ return expectation_base_;
558
+ }
559
+
560
+ // A shared_ptr that co-owns the expectation this handle references.
561
+ std::shared_ptr<internal::ExpectationBase> expectation_base_;
562
+ };
563
+
564
+ // A set of expectation handles. Useful in the .After() clause of
565
+ // EXPECT_CALL() for setting the (partial) order of expectations. The
566
+ // syntax:
567
+ //
568
+ // ExpectationSet es;
569
+ // es += EXPECT_CALL(...)...;
570
+ // es += EXPECT_CALL(...)...;
571
+ // EXPECT_CALL(...).After(es)...;
572
+ //
573
+ // sets three expectations where the last one can only be matched
574
+ // after the first two have both been satisfied.
575
+ //
576
+ // This class is copyable and has value semantics.
577
+ class ExpectationSet {
578
+ public:
579
+ // A bidirectional iterator that can read a const element in the set.
580
+ typedef Expectation::Set::const_iterator const_iterator;
581
+
582
+ // An object stored in the set. This is an alias of Expectation.
583
+ typedef Expectation::Set::value_type value_type;
584
+
585
+ // Constructs an empty set.
586
+ ExpectationSet() {}
587
+
588
+ // This single-argument ctor must not be explicit, in order to support the
589
+ // ExpectationSet es = EXPECT_CALL(...);
590
+ // syntax.
591
+ ExpectationSet(internal::ExpectationBase& exp) { // NOLINT
592
+ *this += Expectation(exp);
593
+ }
594
+
595
+ // This single-argument ctor implements implicit conversion from
596
+ // Expectation and thus must not be explicit. This allows either an
597
+ // Expectation or an ExpectationSet to be used in .After().
598
+ ExpectationSet(const Expectation& e) { // NOLINT
599
+ *this += e;
600
+ }
601
+
602
+ // The compiler-generator ctor and operator= works exactly as
603
+ // intended, so we don't need to define our own.
604
+
605
+ // Returns true if and only if rhs contains the same set of Expectation
606
+ // objects as this does.
607
+ bool operator==(const ExpectationSet& rhs) const {
608
+ return expectations_ == rhs.expectations_;
609
+ }
610
+
611
+ bool operator!=(const ExpectationSet& rhs) const { return !(*this == rhs); }
612
+
613
+ // Implements the syntax
614
+ // expectation_set += EXPECT_CALL(...);
615
+ ExpectationSet& operator+=(const Expectation& e) {
616
+ expectations_.insert(e);
617
+ return *this;
618
+ }
619
+
620
+ int size() const { return static_cast<int>(expectations_.size()); }
621
+
622
+ const_iterator begin() const { return expectations_.begin(); }
623
+ const_iterator end() const { return expectations_.end(); }
624
+
625
+ private:
626
+ Expectation::Set expectations_;
627
+ };
628
+
629
+
630
+ // Sequence objects are used by a user to specify the relative order
631
+ // in which the expectations should match. They are copyable (we rely
632
+ // on the compiler-defined copy constructor and assignment operator).
633
+ class GTEST_API_ Sequence {
634
+ public:
635
+ // Constructs an empty sequence.
636
+ Sequence() : last_expectation_(new Expectation) {}
637
+
638
+ // Adds an expectation to this sequence. The caller must ensure
639
+ // that no other thread is accessing this Sequence object.
640
+ void AddExpectation(const Expectation& expectation) const;
641
+
642
+ private:
643
+ // The last expectation in this sequence.
644
+ std::shared_ptr<Expectation> last_expectation_;
645
+ }; // class Sequence
646
+
647
+ // An object of this type causes all EXPECT_CALL() statements
648
+ // encountered in its scope to be put in an anonymous sequence. The
649
+ // work is done in the constructor and destructor. You should only
650
+ // create an InSequence object on the stack.
651
+ //
652
+ // The sole purpose for this class is to support easy definition of
653
+ // sequential expectations, e.g.
654
+ //
655
+ // {
656
+ // InSequence dummy; // The name of the object doesn't matter.
657
+ //
658
+ // // The following expectations must match in the order they appear.
659
+ // EXPECT_CALL(a, Bar())...;
660
+ // EXPECT_CALL(a, Baz())...;
661
+ // ...
662
+ // EXPECT_CALL(b, Xyz())...;
663
+ // }
664
+ //
665
+ // You can create InSequence objects in multiple threads, as long as
666
+ // they are used to affect different mock objects. The idea is that
667
+ // each thread can create and set up its own mocks as if it's the only
668
+ // thread. However, for clarity of your tests we recommend you to set
669
+ // up mocks in the main thread unless you have a good reason not to do
670
+ // so.
671
+ class GTEST_API_ InSequence {
672
+ public:
673
+ InSequence();
674
+ ~InSequence();
675
+ private:
676
+ bool sequence_created_;
677
+
678
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(InSequence); // NOLINT
679
+ } GTEST_ATTRIBUTE_UNUSED_;
680
+
681
+ namespace internal {
682
+
683
+ // Points to the implicit sequence introduced by a living InSequence
684
+ // object (if any) in the current thread or NULL.
685
+ GTEST_API_ extern ThreadLocal<Sequence*> g_gmock_implicit_sequence;
686
+
687
+ // Base class for implementing expectations.
688
+ //
689
+ // There are two reasons for having a type-agnostic base class for
690
+ // Expectation:
691
+ //
692
+ // 1. We need to store collections of expectations of different
693
+ // types (e.g. all pre-requisites of a particular expectation, all
694
+ // expectations in a sequence). Therefore these expectation objects
695
+ // must share a common base class.
696
+ //
697
+ // 2. We can avoid binary code bloat by moving methods not depending
698
+ // on the template argument of Expectation to the base class.
699
+ //
700
+ // This class is internal and mustn't be used by user code directly.
701
+ class GTEST_API_ ExpectationBase {
702
+ public:
703
+ // source_text is the EXPECT_CALL(...) source that created this Expectation.
704
+ ExpectationBase(const char* file, int line, const std::string& source_text);
705
+
706
+ virtual ~ExpectationBase();
707
+
708
+ // Where in the source file was the expectation spec defined?
709
+ const char* file() const { return file_; }
710
+ int line() const { return line_; }
711
+ const char* source_text() const { return source_text_.c_str(); }
712
+ // Returns the cardinality specified in the expectation spec.
713
+ const Cardinality& cardinality() const { return cardinality_; }
714
+
715
+ // Describes the source file location of this expectation.
716
+ void DescribeLocationTo(::std::ostream* os) const {
717
+ *os << FormatFileLocation(file(), line()) << " ";
718
+ }
719
+
720
+ // Describes how many times a function call matching this
721
+ // expectation has occurred.
722
+ void DescribeCallCountTo(::std::ostream* os) const
723
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex);
724
+
725
+ // If this mock method has an extra matcher (i.e. .With(matcher)),
726
+ // describes it to the ostream.
727
+ virtual void MaybeDescribeExtraMatcherTo(::std::ostream* os) = 0;
728
+
729
+ protected:
730
+ friend class ::testing::Expectation;
731
+ friend class UntypedFunctionMockerBase;
732
+
733
+ enum Clause {
734
+ // Don't change the order of the enum members!
735
+ kNone,
736
+ kWith,
737
+ kTimes,
738
+ kInSequence,
739
+ kAfter,
740
+ kWillOnce,
741
+ kWillRepeatedly,
742
+ kRetiresOnSaturation
743
+ };
744
+
745
+ typedef std::vector<const void*> UntypedActions;
746
+
747
+ // Returns an Expectation object that references and co-owns this
748
+ // expectation.
749
+ virtual Expectation GetHandle() = 0;
750
+
751
+ // Asserts that the EXPECT_CALL() statement has the given property.
752
+ void AssertSpecProperty(bool property,
753
+ const std::string& failure_message) const {
754
+ Assert(property, file_, line_, failure_message);
755
+ }
756
+
757
+ // Expects that the EXPECT_CALL() statement has the given property.
758
+ void ExpectSpecProperty(bool property,
759
+ const std::string& failure_message) const {
760
+ Expect(property, file_, line_, failure_message);
761
+ }
762
+
763
+ // Explicitly specifies the cardinality of this expectation. Used
764
+ // by the subclasses to implement the .Times() clause.
765
+ void SpecifyCardinality(const Cardinality& cardinality);
766
+
767
+ // Returns true if and only if the user specified the cardinality
768
+ // explicitly using a .Times().
769
+ bool cardinality_specified() const { return cardinality_specified_; }
770
+
771
+ // Sets the cardinality of this expectation spec.
772
+ void set_cardinality(const Cardinality& a_cardinality) {
773
+ cardinality_ = a_cardinality;
774
+ }
775
+
776
+ // The following group of methods should only be called after the
777
+ // EXPECT_CALL() statement, and only when g_gmock_mutex is held by
778
+ // the current thread.
779
+
780
+ // Retires all pre-requisites of this expectation.
781
+ void RetireAllPreRequisites()
782
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex);
783
+
784
+ // Returns true if and only if this expectation is retired.
785
+ bool is_retired() const
786
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
787
+ g_gmock_mutex.AssertHeld();
788
+ return retired_;
789
+ }
790
+
791
+ // Retires this expectation.
792
+ void Retire()
793
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
794
+ g_gmock_mutex.AssertHeld();
795
+ retired_ = true;
796
+ }
797
+
798
+ // Returns true if and only if this expectation is satisfied.
799
+ bool IsSatisfied() const
800
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
801
+ g_gmock_mutex.AssertHeld();
802
+ return cardinality().IsSatisfiedByCallCount(call_count_);
803
+ }
804
+
805
+ // Returns true if and only if this expectation is saturated.
806
+ bool IsSaturated() const
807
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
808
+ g_gmock_mutex.AssertHeld();
809
+ return cardinality().IsSaturatedByCallCount(call_count_);
810
+ }
811
+
812
+ // Returns true if and only if this expectation is over-saturated.
813
+ bool IsOverSaturated() const
814
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
815
+ g_gmock_mutex.AssertHeld();
816
+ return cardinality().IsOverSaturatedByCallCount(call_count_);
817
+ }
818
+
819
+ // Returns true if and only if all pre-requisites of this expectation are
820
+ // satisfied.
821
+ bool AllPrerequisitesAreSatisfied() const
822
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex);
823
+
824
+ // Adds unsatisfied pre-requisites of this expectation to 'result'.
825
+ void FindUnsatisfiedPrerequisites(ExpectationSet* result) const
826
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex);
827
+
828
+ // Returns the number this expectation has been invoked.
829
+ int call_count() const
830
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
831
+ g_gmock_mutex.AssertHeld();
832
+ return call_count_;
833
+ }
834
+
835
+ // Increments the number this expectation has been invoked.
836
+ void IncrementCallCount()
837
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
838
+ g_gmock_mutex.AssertHeld();
839
+ call_count_++;
840
+ }
841
+
842
+ // Checks the action count (i.e. the number of WillOnce() and
843
+ // WillRepeatedly() clauses) against the cardinality if this hasn't
844
+ // been done before. Prints a warning if there are too many or too
845
+ // few actions.
846
+ void CheckActionCountIfNotDone() const
847
+ GTEST_LOCK_EXCLUDED_(mutex_);
848
+
849
+ friend class ::testing::Sequence;
850
+ friend class ::testing::internal::ExpectationTester;
851
+
852
+ template <typename Function>
853
+ friend class TypedExpectation;
854
+
855
+ // Implements the .Times() clause.
856
+ void UntypedTimes(const Cardinality& a_cardinality);
857
+
858
+ // This group of fields are part of the spec and won't change after
859
+ // an EXPECT_CALL() statement finishes.
860
+ const char* file_; // The file that contains the expectation.
861
+ int line_; // The line number of the expectation.
862
+ const std::string source_text_; // The EXPECT_CALL(...) source text.
863
+ // True if and only if the cardinality is specified explicitly.
864
+ bool cardinality_specified_;
865
+ Cardinality cardinality_; // The cardinality of the expectation.
866
+ // The immediate pre-requisites (i.e. expectations that must be
867
+ // satisfied before this expectation can be matched) of this
868
+ // expectation. We use std::shared_ptr in the set because we want an
869
+ // Expectation object to be co-owned by its FunctionMocker and its
870
+ // successors. This allows multiple mock objects to be deleted at
871
+ // different times.
872
+ ExpectationSet immediate_prerequisites_;
873
+
874
+ // This group of fields are the current state of the expectation,
875
+ // and can change as the mock function is called.
876
+ int call_count_; // How many times this expectation has been invoked.
877
+ bool retired_; // True if and only if this expectation has retired.
878
+ UntypedActions untyped_actions_;
879
+ bool extra_matcher_specified_;
880
+ bool repeated_action_specified_; // True if a WillRepeatedly() was specified.
881
+ bool retires_on_saturation_;
882
+ Clause last_clause_;
883
+ mutable bool action_count_checked_; // Under mutex_.
884
+ mutable Mutex mutex_; // Protects action_count_checked_.
885
+ }; // class ExpectationBase
886
+
887
+ // Impements an expectation for the given function type.
888
+ template <typename F>
889
+ class TypedExpectation : public ExpectationBase {
890
+ public:
891
+ typedef typename Function<F>::ArgumentTuple ArgumentTuple;
892
+ typedef typename Function<F>::ArgumentMatcherTuple ArgumentMatcherTuple;
893
+ typedef typename Function<F>::Result Result;
894
+
895
+ TypedExpectation(FunctionMocker<F>* owner, const char* a_file, int a_line,
896
+ const std::string& a_source_text,
897
+ const ArgumentMatcherTuple& m)
898
+ : ExpectationBase(a_file, a_line, a_source_text),
899
+ owner_(owner),
900
+ matchers_(m),
901
+ // By default, extra_matcher_ should match anything. However,
902
+ // we cannot initialize it with _ as that causes ambiguity between
903
+ // Matcher's copy and move constructor for some argument types.
904
+ extra_matcher_(A<const ArgumentTuple&>()),
905
+ repeated_action_(DoDefault()) {}
906
+
907
+ ~TypedExpectation() override {
908
+ // Check the validity of the action count if it hasn't been done
909
+ // yet (for example, if the expectation was never used).
910
+ CheckActionCountIfNotDone();
911
+ for (UntypedActions::const_iterator it = untyped_actions_.begin();
912
+ it != untyped_actions_.end(); ++it) {
913
+ delete static_cast<const Action<F>*>(*it);
914
+ }
915
+ }
916
+
917
+ // Implements the .With() clause.
918
+ TypedExpectation& With(const Matcher<const ArgumentTuple&>& m) {
919
+ if (last_clause_ == kWith) {
920
+ ExpectSpecProperty(false,
921
+ ".With() cannot appear "
922
+ "more than once in an EXPECT_CALL().");
923
+ } else {
924
+ ExpectSpecProperty(last_clause_ < kWith,
925
+ ".With() must be the first "
926
+ "clause in an EXPECT_CALL().");
927
+ }
928
+ last_clause_ = kWith;
929
+
930
+ extra_matcher_ = m;
931
+ extra_matcher_specified_ = true;
932
+ return *this;
933
+ }
934
+
935
+ // Implements the .Times() clause.
936
+ TypedExpectation& Times(const Cardinality& a_cardinality) {
937
+ ExpectationBase::UntypedTimes(a_cardinality);
938
+ return *this;
939
+ }
940
+
941
+ // Implements the .Times() clause.
942
+ TypedExpectation& Times(int n) {
943
+ return Times(Exactly(n));
944
+ }
945
+
946
+ // Implements the .InSequence() clause.
947
+ TypedExpectation& InSequence(const Sequence& s) {
948
+ ExpectSpecProperty(last_clause_ <= kInSequence,
949
+ ".InSequence() cannot appear after .After(),"
950
+ " .WillOnce(), .WillRepeatedly(), or "
951
+ ".RetiresOnSaturation().");
952
+ last_clause_ = kInSequence;
953
+
954
+ s.AddExpectation(GetHandle());
955
+ return *this;
956
+ }
957
+ TypedExpectation& InSequence(const Sequence& s1, const Sequence& s2) {
958
+ return InSequence(s1).InSequence(s2);
959
+ }
960
+ TypedExpectation& InSequence(const Sequence& s1, const Sequence& s2,
961
+ const Sequence& s3) {
962
+ return InSequence(s1, s2).InSequence(s3);
963
+ }
964
+ TypedExpectation& InSequence(const Sequence& s1, const Sequence& s2,
965
+ const Sequence& s3, const Sequence& s4) {
966
+ return InSequence(s1, s2, s3).InSequence(s4);
967
+ }
968
+ TypedExpectation& InSequence(const Sequence& s1, const Sequence& s2,
969
+ const Sequence& s3, const Sequence& s4,
970
+ const Sequence& s5) {
971
+ return InSequence(s1, s2, s3, s4).InSequence(s5);
972
+ }
973
+
974
+ // Implements that .After() clause.
975
+ TypedExpectation& After(const ExpectationSet& s) {
976
+ ExpectSpecProperty(last_clause_ <= kAfter,
977
+ ".After() cannot appear after .WillOnce(),"
978
+ " .WillRepeatedly(), or "
979
+ ".RetiresOnSaturation().");
980
+ last_clause_ = kAfter;
981
+
982
+ for (ExpectationSet::const_iterator it = s.begin(); it != s.end(); ++it) {
983
+ immediate_prerequisites_ += *it;
984
+ }
985
+ return *this;
986
+ }
987
+ TypedExpectation& After(const ExpectationSet& s1, const ExpectationSet& s2) {
988
+ return After(s1).After(s2);
989
+ }
990
+ TypedExpectation& After(const ExpectationSet& s1, const ExpectationSet& s2,
991
+ const ExpectationSet& s3) {
992
+ return After(s1, s2).After(s3);
993
+ }
994
+ TypedExpectation& After(const ExpectationSet& s1, const ExpectationSet& s2,
995
+ const ExpectationSet& s3, const ExpectationSet& s4) {
996
+ return After(s1, s2, s3).After(s4);
997
+ }
998
+ TypedExpectation& After(const ExpectationSet& s1, const ExpectationSet& s2,
999
+ const ExpectationSet& s3, const ExpectationSet& s4,
1000
+ const ExpectationSet& s5) {
1001
+ return After(s1, s2, s3, s4).After(s5);
1002
+ }
1003
+
1004
+ // Implements the .WillOnce() clause.
1005
+ TypedExpectation& WillOnce(const Action<F>& action) {
1006
+ ExpectSpecProperty(last_clause_ <= kWillOnce,
1007
+ ".WillOnce() cannot appear after "
1008
+ ".WillRepeatedly() or .RetiresOnSaturation().");
1009
+ last_clause_ = kWillOnce;
1010
+
1011
+ untyped_actions_.push_back(new Action<F>(action));
1012
+ if (!cardinality_specified()) {
1013
+ set_cardinality(Exactly(static_cast<int>(untyped_actions_.size())));
1014
+ }
1015
+ return *this;
1016
+ }
1017
+
1018
+ // Implements the .WillRepeatedly() clause.
1019
+ TypedExpectation& WillRepeatedly(const Action<F>& action) {
1020
+ if (last_clause_ == kWillRepeatedly) {
1021
+ ExpectSpecProperty(false,
1022
+ ".WillRepeatedly() cannot appear "
1023
+ "more than once in an EXPECT_CALL().");
1024
+ } else {
1025
+ ExpectSpecProperty(last_clause_ < kWillRepeatedly,
1026
+ ".WillRepeatedly() cannot appear "
1027
+ "after .RetiresOnSaturation().");
1028
+ }
1029
+ last_clause_ = kWillRepeatedly;
1030
+ repeated_action_specified_ = true;
1031
+
1032
+ repeated_action_ = action;
1033
+ if (!cardinality_specified()) {
1034
+ set_cardinality(AtLeast(static_cast<int>(untyped_actions_.size())));
1035
+ }
1036
+
1037
+ // Now that no more action clauses can be specified, we check
1038
+ // whether their count makes sense.
1039
+ CheckActionCountIfNotDone();
1040
+ return *this;
1041
+ }
1042
+
1043
+ // Implements the .RetiresOnSaturation() clause.
1044
+ TypedExpectation& RetiresOnSaturation() {
1045
+ ExpectSpecProperty(last_clause_ < kRetiresOnSaturation,
1046
+ ".RetiresOnSaturation() cannot appear "
1047
+ "more than once.");
1048
+ last_clause_ = kRetiresOnSaturation;
1049
+ retires_on_saturation_ = true;
1050
+
1051
+ // Now that no more action clauses can be specified, we check
1052
+ // whether their count makes sense.
1053
+ CheckActionCountIfNotDone();
1054
+ return *this;
1055
+ }
1056
+
1057
+ // Returns the matchers for the arguments as specified inside the
1058
+ // EXPECT_CALL() macro.
1059
+ const ArgumentMatcherTuple& matchers() const {
1060
+ return matchers_;
1061
+ }
1062
+
1063
+ // Returns the matcher specified by the .With() clause.
1064
+ const Matcher<const ArgumentTuple&>& extra_matcher() const {
1065
+ return extra_matcher_;
1066
+ }
1067
+
1068
+ // Returns the action specified by the .WillRepeatedly() clause.
1069
+ const Action<F>& repeated_action() const { return repeated_action_; }
1070
+
1071
+ // If this mock method has an extra matcher (i.e. .With(matcher)),
1072
+ // describes it to the ostream.
1073
+ void MaybeDescribeExtraMatcherTo(::std::ostream* os) override {
1074
+ if (extra_matcher_specified_) {
1075
+ *os << " Expected args: ";
1076
+ extra_matcher_.DescribeTo(os);
1077
+ *os << "\n";
1078
+ }
1079
+ }
1080
+
1081
+ private:
1082
+ template <typename Function>
1083
+ friend class FunctionMocker;
1084
+
1085
+ // Returns an Expectation object that references and co-owns this
1086
+ // expectation.
1087
+ Expectation GetHandle() override { return owner_->GetHandleOf(this); }
1088
+
1089
+ // The following methods will be called only after the EXPECT_CALL()
1090
+ // statement finishes and when the current thread holds
1091
+ // g_gmock_mutex.
1092
+
1093
+ // Returns true if and only if this expectation matches the given arguments.
1094
+ bool Matches(const ArgumentTuple& args) const
1095
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
1096
+ g_gmock_mutex.AssertHeld();
1097
+ return TupleMatches(matchers_, args) && extra_matcher_.Matches(args);
1098
+ }
1099
+
1100
+ // Returns true if and only if this expectation should handle the given
1101
+ // arguments.
1102
+ bool ShouldHandleArguments(const ArgumentTuple& args) const
1103
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
1104
+ g_gmock_mutex.AssertHeld();
1105
+
1106
+ // In case the action count wasn't checked when the expectation
1107
+ // was defined (e.g. if this expectation has no WillRepeatedly()
1108
+ // or RetiresOnSaturation() clause), we check it when the
1109
+ // expectation is used for the first time.
1110
+ CheckActionCountIfNotDone();
1111
+ return !is_retired() && AllPrerequisitesAreSatisfied() && Matches(args);
1112
+ }
1113
+
1114
+ // Describes the result of matching the arguments against this
1115
+ // expectation to the given ostream.
1116
+ void ExplainMatchResultTo(
1117
+ const ArgumentTuple& args,
1118
+ ::std::ostream* os) const
1119
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
1120
+ g_gmock_mutex.AssertHeld();
1121
+
1122
+ if (is_retired()) {
1123
+ *os << " Expected: the expectation is active\n"
1124
+ << " Actual: it is retired\n";
1125
+ } else if (!Matches(args)) {
1126
+ if (!TupleMatches(matchers_, args)) {
1127
+ ExplainMatchFailureTupleTo(matchers_, args, os);
1128
+ }
1129
+ StringMatchResultListener listener;
1130
+ if (!extra_matcher_.MatchAndExplain(args, &listener)) {
1131
+ *os << " Expected args: ";
1132
+ extra_matcher_.DescribeTo(os);
1133
+ *os << "\n Actual: don't match";
1134
+
1135
+ internal::PrintIfNotEmpty(listener.str(), os);
1136
+ *os << "\n";
1137
+ }
1138
+ } else if (!AllPrerequisitesAreSatisfied()) {
1139
+ *os << " Expected: all pre-requisites are satisfied\n"
1140
+ << " Actual: the following immediate pre-requisites "
1141
+ << "are not satisfied:\n";
1142
+ ExpectationSet unsatisfied_prereqs;
1143
+ FindUnsatisfiedPrerequisites(&unsatisfied_prereqs);
1144
+ int i = 0;
1145
+ for (ExpectationSet::const_iterator it = unsatisfied_prereqs.begin();
1146
+ it != unsatisfied_prereqs.end(); ++it) {
1147
+ it->expectation_base()->DescribeLocationTo(os);
1148
+ *os << "pre-requisite #" << i++ << "\n";
1149
+ }
1150
+ *os << " (end of pre-requisites)\n";
1151
+ } else {
1152
+ // This line is here just for completeness' sake. It will never
1153
+ // be executed as currently the ExplainMatchResultTo() function
1154
+ // is called only when the mock function call does NOT match the
1155
+ // expectation.
1156
+ *os << "The call matches the expectation.\n";
1157
+ }
1158
+ }
1159
+
1160
+ // Returns the action that should be taken for the current invocation.
1161
+ const Action<F>& GetCurrentAction(const FunctionMocker<F>* mocker,
1162
+ const ArgumentTuple& args) const
1163
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
1164
+ g_gmock_mutex.AssertHeld();
1165
+ const int count = call_count();
1166
+ Assert(count >= 1, __FILE__, __LINE__,
1167
+ "call_count() is <= 0 when GetCurrentAction() is "
1168
+ "called - this should never happen.");
1169
+
1170
+ const int action_count = static_cast<int>(untyped_actions_.size());
1171
+ if (action_count > 0 && !repeated_action_specified_ &&
1172
+ count > action_count) {
1173
+ // If there is at least one WillOnce() and no WillRepeatedly(),
1174
+ // we warn the user when the WillOnce() clauses ran out.
1175
+ ::std::stringstream ss;
1176
+ DescribeLocationTo(&ss);
1177
+ ss << "Actions ran out in " << source_text() << "...\n"
1178
+ << "Called " << count << " times, but only "
1179
+ << action_count << " WillOnce()"
1180
+ << (action_count == 1 ? " is" : "s are") << " specified - ";
1181
+ mocker->DescribeDefaultActionTo(args, &ss);
1182
+ Log(kWarning, ss.str(), 1);
1183
+ }
1184
+
1185
+ return count <= action_count
1186
+ ? *static_cast<const Action<F>*>(
1187
+ untyped_actions_[static_cast<size_t>(count - 1)])
1188
+ : repeated_action();
1189
+ }
1190
+
1191
+ // Given the arguments of a mock function call, if the call will
1192
+ // over-saturate this expectation, returns the default action;
1193
+ // otherwise, returns the next action in this expectation. Also
1194
+ // describes *what* happened to 'what', and explains *why* Google
1195
+ // Mock does it to 'why'. This method is not const as it calls
1196
+ // IncrementCallCount(). A return value of NULL means the default
1197
+ // action.
1198
+ const Action<F>* GetActionForArguments(const FunctionMocker<F>* mocker,
1199
+ const ArgumentTuple& args,
1200
+ ::std::ostream* what,
1201
+ ::std::ostream* why)
1202
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
1203
+ g_gmock_mutex.AssertHeld();
1204
+ if (IsSaturated()) {
1205
+ // We have an excessive call.
1206
+ IncrementCallCount();
1207
+ *what << "Mock function called more times than expected - ";
1208
+ mocker->DescribeDefaultActionTo(args, what);
1209
+ DescribeCallCountTo(why);
1210
+
1211
+ return nullptr;
1212
+ }
1213
+
1214
+ IncrementCallCount();
1215
+ RetireAllPreRequisites();
1216
+
1217
+ if (retires_on_saturation_ && IsSaturated()) {
1218
+ Retire();
1219
+ }
1220
+
1221
+ // Must be done after IncrementCount()!
1222
+ *what << "Mock function call matches " << source_text() <<"...\n";
1223
+ return &(GetCurrentAction(mocker, args));
1224
+ }
1225
+
1226
+ // All the fields below won't change once the EXPECT_CALL()
1227
+ // statement finishes.
1228
+ FunctionMocker<F>* const owner_;
1229
+ ArgumentMatcherTuple matchers_;
1230
+ Matcher<const ArgumentTuple&> extra_matcher_;
1231
+ Action<F> repeated_action_;
1232
+
1233
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(TypedExpectation);
1234
+ }; // class TypedExpectation
1235
+
1236
+ // A MockSpec object is used by ON_CALL() or EXPECT_CALL() for
1237
+ // specifying the default behavior of, or expectation on, a mock
1238
+ // function.
1239
+
1240
+ // Note: class MockSpec really belongs to the ::testing namespace.
1241
+ // However if we define it in ::testing, MSVC will complain when
1242
+ // classes in ::testing::internal declare it as a friend class
1243
+ // template. To workaround this compiler bug, we define MockSpec in
1244
+ // ::testing::internal and import it into ::testing.
1245
+
1246
+ // Logs a message including file and line number information.
1247
+ GTEST_API_ void LogWithLocation(testing::internal::LogSeverity severity,
1248
+ const char* file, int line,
1249
+ const std::string& message);
1250
+
1251
+ template <typename F>
1252
+ class MockSpec {
1253
+ public:
1254
+ typedef typename internal::Function<F>::ArgumentTuple ArgumentTuple;
1255
+ typedef typename internal::Function<F>::ArgumentMatcherTuple
1256
+ ArgumentMatcherTuple;
1257
+
1258
+ // Constructs a MockSpec object, given the function mocker object
1259
+ // that the spec is associated with.
1260
+ MockSpec(internal::FunctionMocker<F>* function_mocker,
1261
+ const ArgumentMatcherTuple& matchers)
1262
+ : function_mocker_(function_mocker), matchers_(matchers) {}
1263
+
1264
+ // Adds a new default action spec to the function mocker and returns
1265
+ // the newly created spec.
1266
+ internal::OnCallSpec<F>& InternalDefaultActionSetAt(
1267
+ const char* file, int line, const char* obj, const char* call) {
1268
+ LogWithLocation(internal::kInfo, file, line,
1269
+ std::string("ON_CALL(") + obj + ", " + call + ") invoked");
1270
+ return function_mocker_->AddNewOnCallSpec(file, line, matchers_);
1271
+ }
1272
+
1273
+ // Adds a new expectation spec to the function mocker and returns
1274
+ // the newly created spec.
1275
+ internal::TypedExpectation<F>& InternalExpectedAt(
1276
+ const char* file, int line, const char* obj, const char* call) {
1277
+ const std::string source_text(std::string("EXPECT_CALL(") + obj + ", " +
1278
+ call + ")");
1279
+ LogWithLocation(internal::kInfo, file, line, source_text + " invoked");
1280
+ return function_mocker_->AddNewExpectation(
1281
+ file, line, source_text, matchers_);
1282
+ }
1283
+
1284
+ // This operator overload is used to swallow the superfluous parameter list
1285
+ // introduced by the ON/EXPECT_CALL macros. See the macro comments for more
1286
+ // explanation.
1287
+ MockSpec<F>& operator()(const internal::WithoutMatchers&, void* const) {
1288
+ return *this;
1289
+ }
1290
+
1291
+ private:
1292
+ template <typename Function>
1293
+ friend class internal::FunctionMocker;
1294
+
1295
+ // The function mocker that owns this spec.
1296
+ internal::FunctionMocker<F>* const function_mocker_;
1297
+ // The argument matchers specified in the spec.
1298
+ ArgumentMatcherTuple matchers_;
1299
+ }; // class MockSpec
1300
+
1301
+ // Wrapper type for generically holding an ordinary value or lvalue reference.
1302
+ // If T is not a reference type, it must be copyable or movable.
1303
+ // ReferenceOrValueWrapper<T> is movable, and will also be copyable unless
1304
+ // T is a move-only value type (which means that it will always be copyable
1305
+ // if the current platform does not support move semantics).
1306
+ //
1307
+ // The primary template defines handling for values, but function header
1308
+ // comments describe the contract for the whole template (including
1309
+ // specializations).
1310
+ template <typename T>
1311
+ class ReferenceOrValueWrapper {
1312
+ public:
1313
+ // Constructs a wrapper from the given value/reference.
1314
+ explicit ReferenceOrValueWrapper(T value)
1315
+ : value_(std::move(value)) {
1316
+ }
1317
+
1318
+ // Unwraps and returns the underlying value/reference, exactly as
1319
+ // originally passed. The behavior of calling this more than once on
1320
+ // the same object is unspecified.
1321
+ T Unwrap() { return std::move(value_); }
1322
+
1323
+ // Provides nondestructive access to the underlying value/reference.
1324
+ // Always returns a const reference (more precisely,
1325
+ // const std::add_lvalue_reference<T>::type). The behavior of calling this
1326
+ // after calling Unwrap on the same object is unspecified.
1327
+ const T& Peek() const {
1328
+ return value_;
1329
+ }
1330
+
1331
+ private:
1332
+ T value_;
1333
+ };
1334
+
1335
+ // Specialization for lvalue reference types. See primary template
1336
+ // for documentation.
1337
+ template <typename T>
1338
+ class ReferenceOrValueWrapper<T&> {
1339
+ public:
1340
+ // Workaround for debatable pass-by-reference lint warning (c-library-team
1341
+ // policy precludes NOLINT in this context)
1342
+ typedef T& reference;
1343
+ explicit ReferenceOrValueWrapper(reference ref)
1344
+ : value_ptr_(&ref) {}
1345
+ T& Unwrap() { return *value_ptr_; }
1346
+ const T& Peek() const { return *value_ptr_; }
1347
+
1348
+ private:
1349
+ T* value_ptr_;
1350
+ };
1351
+
1352
+ // C++ treats the void type specially. For example, you cannot define
1353
+ // a void-typed variable or pass a void value to a function.
1354
+ // ActionResultHolder<T> holds a value of type T, where T must be a
1355
+ // copyable type or void (T doesn't need to be default-constructable).
1356
+ // It hides the syntactic difference between void and other types, and
1357
+ // is used to unify the code for invoking both void-returning and
1358
+ // non-void-returning mock functions.
1359
+
1360
+ // Untyped base class for ActionResultHolder<T>.
1361
+ class UntypedActionResultHolderBase {
1362
+ public:
1363
+ virtual ~UntypedActionResultHolderBase() {}
1364
+
1365
+ // Prints the held value as an action's result to os.
1366
+ virtual void PrintAsActionResult(::std::ostream* os) const = 0;
1367
+ };
1368
+
1369
+ // This generic definition is used when T is not void.
1370
+ template <typename T>
1371
+ class ActionResultHolder : public UntypedActionResultHolderBase {
1372
+ public:
1373
+ // Returns the held value. Must not be called more than once.
1374
+ T Unwrap() {
1375
+ return result_.Unwrap();
1376
+ }
1377
+
1378
+ // Prints the held value as an action's result to os.
1379
+ void PrintAsActionResult(::std::ostream* os) const override {
1380
+ *os << "\n Returns: ";
1381
+ // T may be a reference type, so we don't use UniversalPrint().
1382
+ UniversalPrinter<T>::Print(result_.Peek(), os);
1383
+ }
1384
+
1385
+ // Performs the given mock function's default action and returns the
1386
+ // result in a new-ed ActionResultHolder.
1387
+ template <typename F>
1388
+ static ActionResultHolder* PerformDefaultAction(
1389
+ const FunctionMocker<F>* func_mocker,
1390
+ typename Function<F>::ArgumentTuple&& args,
1391
+ const std::string& call_description) {
1392
+ return new ActionResultHolder(Wrapper(func_mocker->PerformDefaultAction(
1393
+ std::move(args), call_description)));
1394
+ }
1395
+
1396
+ // Performs the given action and returns the result in a new-ed
1397
+ // ActionResultHolder.
1398
+ template <typename F>
1399
+ static ActionResultHolder* PerformAction(
1400
+ const Action<F>& action, typename Function<F>::ArgumentTuple&& args) {
1401
+ return new ActionResultHolder(
1402
+ Wrapper(action.Perform(std::move(args))));
1403
+ }
1404
+
1405
+ private:
1406
+ typedef ReferenceOrValueWrapper<T> Wrapper;
1407
+
1408
+ explicit ActionResultHolder(Wrapper result)
1409
+ : result_(std::move(result)) {
1410
+ }
1411
+
1412
+ Wrapper result_;
1413
+
1414
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ActionResultHolder);
1415
+ };
1416
+
1417
+ // Specialization for T = void.
1418
+ template <>
1419
+ class ActionResultHolder<void> : public UntypedActionResultHolderBase {
1420
+ public:
1421
+ void Unwrap() { }
1422
+
1423
+ void PrintAsActionResult(::std::ostream* /* os */) const override {}
1424
+
1425
+ // Performs the given mock function's default action and returns ownership
1426
+ // of an empty ActionResultHolder*.
1427
+ template <typename F>
1428
+ static ActionResultHolder* PerformDefaultAction(
1429
+ const FunctionMocker<F>* func_mocker,
1430
+ typename Function<F>::ArgumentTuple&& args,
1431
+ const std::string& call_description) {
1432
+ func_mocker->PerformDefaultAction(std::move(args), call_description);
1433
+ return new ActionResultHolder;
1434
+ }
1435
+
1436
+ // Performs the given action and returns ownership of an empty
1437
+ // ActionResultHolder*.
1438
+ template <typename F>
1439
+ static ActionResultHolder* PerformAction(
1440
+ const Action<F>& action, typename Function<F>::ArgumentTuple&& args) {
1441
+ action.Perform(std::move(args));
1442
+ return new ActionResultHolder;
1443
+ }
1444
+
1445
+ private:
1446
+ ActionResultHolder() {}
1447
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ActionResultHolder);
1448
+ };
1449
+
1450
+ template <typename F>
1451
+ class FunctionMocker;
1452
+
1453
+ template <typename R, typename... Args>
1454
+ class FunctionMocker<R(Args...)> final : public UntypedFunctionMockerBase {
1455
+ using F = R(Args...);
1456
+
1457
+ public:
1458
+ using Result = R;
1459
+ using ArgumentTuple = std::tuple<Args...>;
1460
+ using ArgumentMatcherTuple = std::tuple<Matcher<Args>...>;
1461
+
1462
+ FunctionMocker() {}
1463
+
1464
+ // There is no generally useful and implementable semantics of
1465
+ // copying a mock object, so copying a mock is usually a user error.
1466
+ // Thus we disallow copying function mockers. If the user really
1467
+ // wants to copy a mock object, they should implement their own copy
1468
+ // operation, for example:
1469
+ //
1470
+ // class MockFoo : public Foo {
1471
+ // public:
1472
+ // // Defines a copy constructor explicitly.
1473
+ // MockFoo(const MockFoo& src) {}
1474
+ // ...
1475
+ // };
1476
+ FunctionMocker(const FunctionMocker&) = delete;
1477
+ FunctionMocker& operator=(const FunctionMocker&) = delete;
1478
+
1479
+ // The destructor verifies that all expectations on this mock
1480
+ // function have been satisfied. If not, it will report Google Test
1481
+ // non-fatal failures for the violations.
1482
+ ~FunctionMocker() override GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
1483
+ MutexLock l(&g_gmock_mutex);
1484
+ VerifyAndClearExpectationsLocked();
1485
+ Mock::UnregisterLocked(this);
1486
+ ClearDefaultActionsLocked();
1487
+ }
1488
+
1489
+ // Returns the ON_CALL spec that matches this mock function with the
1490
+ // given arguments; returns NULL if no matching ON_CALL is found.
1491
+ // L = *
1492
+ const OnCallSpec<F>* FindOnCallSpec(
1493
+ const ArgumentTuple& args) const {
1494
+ for (UntypedOnCallSpecs::const_reverse_iterator it
1495
+ = untyped_on_call_specs_.rbegin();
1496
+ it != untyped_on_call_specs_.rend(); ++it) {
1497
+ const OnCallSpec<F>* spec = static_cast<const OnCallSpec<F>*>(*it);
1498
+ if (spec->Matches(args))
1499
+ return spec;
1500
+ }
1501
+
1502
+ return nullptr;
1503
+ }
1504
+
1505
+ // Performs the default action of this mock function on the given
1506
+ // arguments and returns the result. Asserts (or throws if
1507
+ // exceptions are enabled) with a helpful call descrption if there
1508
+ // is no valid return value. This method doesn't depend on the
1509
+ // mutable state of this object, and thus can be called concurrently
1510
+ // without locking.
1511
+ // L = *
1512
+ Result PerformDefaultAction(ArgumentTuple&& args,
1513
+ const std::string& call_description) const {
1514
+ const OnCallSpec<F>* const spec =
1515
+ this->FindOnCallSpec(args);
1516
+ if (spec != nullptr) {
1517
+ return spec->GetAction().Perform(std::move(args));
1518
+ }
1519
+ const std::string message =
1520
+ call_description +
1521
+ "\n The mock function has no default action "
1522
+ "set, and its return type has no default value set.";
1523
+ #if GTEST_HAS_EXCEPTIONS
1524
+ if (!DefaultValue<Result>::Exists()) {
1525
+ throw std::runtime_error(message);
1526
+ }
1527
+ #else
1528
+ Assert(DefaultValue<Result>::Exists(), "", -1, message);
1529
+ #endif
1530
+ return DefaultValue<Result>::Get();
1531
+ }
1532
+
1533
+ // Performs the default action with the given arguments and returns
1534
+ // the action's result. The call description string will be used in
1535
+ // the error message to describe the call in the case the default
1536
+ // action fails. The caller is responsible for deleting the result.
1537
+ // L = *
1538
+ UntypedActionResultHolderBase* UntypedPerformDefaultAction(
1539
+ void* untyped_args, // must point to an ArgumentTuple
1540
+ const std::string& call_description) const override {
1541
+ ArgumentTuple* args = static_cast<ArgumentTuple*>(untyped_args);
1542
+ return ResultHolder::PerformDefaultAction(this, std::move(*args),
1543
+ call_description);
1544
+ }
1545
+
1546
+ // Performs the given action with the given arguments and returns
1547
+ // the action's result. The caller is responsible for deleting the
1548
+ // result.
1549
+ // L = *
1550
+ UntypedActionResultHolderBase* UntypedPerformAction(
1551
+ const void* untyped_action, void* untyped_args) const override {
1552
+ // Make a copy of the action before performing it, in case the
1553
+ // action deletes the mock object (and thus deletes itself).
1554
+ const Action<F> action = *static_cast<const Action<F>*>(untyped_action);
1555
+ ArgumentTuple* args = static_cast<ArgumentTuple*>(untyped_args);
1556
+ return ResultHolder::PerformAction(action, std::move(*args));
1557
+ }
1558
+
1559
+ // Implements UntypedFunctionMockerBase::ClearDefaultActionsLocked():
1560
+ // clears the ON_CALL()s set on this mock function.
1561
+ void ClearDefaultActionsLocked() override
1562
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
1563
+ g_gmock_mutex.AssertHeld();
1564
+
1565
+ // Deleting our default actions may trigger other mock objects to be
1566
+ // deleted, for example if an action contains a reference counted smart
1567
+ // pointer to that mock object, and that is the last reference. So if we
1568
+ // delete our actions within the context of the global mutex we may deadlock
1569
+ // when this method is called again. Instead, make a copy of the set of
1570
+ // actions to delete, clear our set within the mutex, and then delete the
1571
+ // actions outside of the mutex.
1572
+ UntypedOnCallSpecs specs_to_delete;
1573
+ untyped_on_call_specs_.swap(specs_to_delete);
1574
+
1575
+ g_gmock_mutex.Unlock();
1576
+ for (UntypedOnCallSpecs::const_iterator it =
1577
+ specs_to_delete.begin();
1578
+ it != specs_to_delete.end(); ++it) {
1579
+ delete static_cast<const OnCallSpec<F>*>(*it);
1580
+ }
1581
+
1582
+ // Lock the mutex again, since the caller expects it to be locked when we
1583
+ // return.
1584
+ g_gmock_mutex.Lock();
1585
+ }
1586
+
1587
+ // Returns the result of invoking this mock function with the given
1588
+ // arguments. This function can be safely called from multiple
1589
+ // threads concurrently.
1590
+ Result Invoke(Args... args) GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
1591
+ ArgumentTuple tuple(std::forward<Args>(args)...);
1592
+ std::unique_ptr<ResultHolder> holder(DownCast_<ResultHolder*>(
1593
+ this->UntypedInvokeWith(static_cast<void*>(&tuple))));
1594
+ return holder->Unwrap();
1595
+ }
1596
+
1597
+ MockSpec<F> With(Matcher<Args>... m) {
1598
+ return MockSpec<F>(this, ::std::make_tuple(std::move(m)...));
1599
+ }
1600
+
1601
+ protected:
1602
+ template <typename Function>
1603
+ friend class MockSpec;
1604
+
1605
+ typedef ActionResultHolder<Result> ResultHolder;
1606
+
1607
+ // Adds and returns a default action spec for this mock function.
1608
+ OnCallSpec<F>& AddNewOnCallSpec(
1609
+ const char* file, int line,
1610
+ const ArgumentMatcherTuple& m)
1611
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
1612
+ Mock::RegisterUseByOnCallOrExpectCall(MockObject(), file, line);
1613
+ OnCallSpec<F>* const on_call_spec = new OnCallSpec<F>(file, line, m);
1614
+ untyped_on_call_specs_.push_back(on_call_spec);
1615
+ return *on_call_spec;
1616
+ }
1617
+
1618
+ // Adds and returns an expectation spec for this mock function.
1619
+ TypedExpectation<F>& AddNewExpectation(const char* file, int line,
1620
+ const std::string& source_text,
1621
+ const ArgumentMatcherTuple& m)
1622
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
1623
+ Mock::RegisterUseByOnCallOrExpectCall(MockObject(), file, line);
1624
+ TypedExpectation<F>* const expectation =
1625
+ new TypedExpectation<F>(this, file, line, source_text, m);
1626
+ const std::shared_ptr<ExpectationBase> untyped_expectation(expectation);
1627
+ // See the definition of untyped_expectations_ for why access to
1628
+ // it is unprotected here.
1629
+ untyped_expectations_.push_back(untyped_expectation);
1630
+
1631
+ // Adds this expectation into the implicit sequence if there is one.
1632
+ Sequence* const implicit_sequence = g_gmock_implicit_sequence.get();
1633
+ if (implicit_sequence != nullptr) {
1634
+ implicit_sequence->AddExpectation(Expectation(untyped_expectation));
1635
+ }
1636
+
1637
+ return *expectation;
1638
+ }
1639
+
1640
+ private:
1641
+ template <typename Func> friend class TypedExpectation;
1642
+
1643
+ // Some utilities needed for implementing UntypedInvokeWith().
1644
+
1645
+ // Describes what default action will be performed for the given
1646
+ // arguments.
1647
+ // L = *
1648
+ void DescribeDefaultActionTo(const ArgumentTuple& args,
1649
+ ::std::ostream* os) const {
1650
+ const OnCallSpec<F>* const spec = FindOnCallSpec(args);
1651
+
1652
+ if (spec == nullptr) {
1653
+ *os << (std::is_void<Result>::value ? "returning directly.\n"
1654
+ : "returning default value.\n");
1655
+ } else {
1656
+ *os << "taking default action specified at:\n"
1657
+ << FormatFileLocation(spec->file(), spec->line()) << "\n";
1658
+ }
1659
+ }
1660
+
1661
+ // Writes a message that the call is uninteresting (i.e. neither
1662
+ // explicitly expected nor explicitly unexpected) to the given
1663
+ // ostream.
1664
+ void UntypedDescribeUninterestingCall(const void* untyped_args,
1665
+ ::std::ostream* os) const override
1666
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
1667
+ const ArgumentTuple& args =
1668
+ *static_cast<const ArgumentTuple*>(untyped_args);
1669
+ *os << "Uninteresting mock function call - ";
1670
+ DescribeDefaultActionTo(args, os);
1671
+ *os << " Function call: " << Name();
1672
+ UniversalPrint(args, os);
1673
+ }
1674
+
1675
+ // Returns the expectation that matches the given function arguments
1676
+ // (or NULL is there's no match); when a match is found,
1677
+ // untyped_action is set to point to the action that should be
1678
+ // performed (or NULL if the action is "do default"), and
1679
+ // is_excessive is modified to indicate whether the call exceeds the
1680
+ // expected number.
1681
+ //
1682
+ // Critical section: We must find the matching expectation and the
1683
+ // corresponding action that needs to be taken in an ATOMIC
1684
+ // transaction. Otherwise another thread may call this mock
1685
+ // method in the middle and mess up the state.
1686
+ //
1687
+ // However, performing the action has to be left out of the critical
1688
+ // section. The reason is that we have no control on what the
1689
+ // action does (it can invoke an arbitrary user function or even a
1690
+ // mock function) and excessive locking could cause a dead lock.
1691
+ const ExpectationBase* UntypedFindMatchingExpectation(
1692
+ const void* untyped_args, const void** untyped_action, bool* is_excessive,
1693
+ ::std::ostream* what, ::std::ostream* why) override
1694
+ GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
1695
+ const ArgumentTuple& args =
1696
+ *static_cast<const ArgumentTuple*>(untyped_args);
1697
+ MutexLock l(&g_gmock_mutex);
1698
+ TypedExpectation<F>* exp = this->FindMatchingExpectationLocked(args);
1699
+ if (exp == nullptr) { // A match wasn't found.
1700
+ this->FormatUnexpectedCallMessageLocked(args, what, why);
1701
+ return nullptr;
1702
+ }
1703
+
1704
+ // This line must be done before calling GetActionForArguments(),
1705
+ // which will increment the call count for *exp and thus affect
1706
+ // its saturation status.
1707
+ *is_excessive = exp->IsSaturated();
1708
+ const Action<F>* action = exp->GetActionForArguments(this, args, what, why);
1709
+ if (action != nullptr && action->IsDoDefault())
1710
+ action = nullptr; // Normalize "do default" to NULL.
1711
+ *untyped_action = action;
1712
+ return exp;
1713
+ }
1714
+
1715
+ // Prints the given function arguments to the ostream.
1716
+ void UntypedPrintArgs(const void* untyped_args,
1717
+ ::std::ostream* os) const override {
1718
+ const ArgumentTuple& args =
1719
+ *static_cast<const ArgumentTuple*>(untyped_args);
1720
+ UniversalPrint(args, os);
1721
+ }
1722
+
1723
+ // Returns the expectation that matches the arguments, or NULL if no
1724
+ // expectation matches them.
1725
+ TypedExpectation<F>* FindMatchingExpectationLocked(
1726
+ const ArgumentTuple& args) const
1727
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
1728
+ g_gmock_mutex.AssertHeld();
1729
+ // See the definition of untyped_expectations_ for why access to
1730
+ // it is unprotected here.
1731
+ for (typename UntypedExpectations::const_reverse_iterator it =
1732
+ untyped_expectations_.rbegin();
1733
+ it != untyped_expectations_.rend(); ++it) {
1734
+ TypedExpectation<F>* const exp =
1735
+ static_cast<TypedExpectation<F>*>(it->get());
1736
+ if (exp->ShouldHandleArguments(args)) {
1737
+ return exp;
1738
+ }
1739
+ }
1740
+ return nullptr;
1741
+ }
1742
+
1743
+ // Returns a message that the arguments don't match any expectation.
1744
+ void FormatUnexpectedCallMessageLocked(
1745
+ const ArgumentTuple& args,
1746
+ ::std::ostream* os,
1747
+ ::std::ostream* why) const
1748
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
1749
+ g_gmock_mutex.AssertHeld();
1750
+ *os << "\nUnexpected mock function call - ";
1751
+ DescribeDefaultActionTo(args, os);
1752
+ PrintTriedExpectationsLocked(args, why);
1753
+ }
1754
+
1755
+ // Prints a list of expectations that have been tried against the
1756
+ // current mock function call.
1757
+ void PrintTriedExpectationsLocked(
1758
+ const ArgumentTuple& args,
1759
+ ::std::ostream* why) const
1760
+ GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
1761
+ g_gmock_mutex.AssertHeld();
1762
+ const size_t count = untyped_expectations_.size();
1763
+ *why << "Google Mock tried the following " << count << " "
1764
+ << (count == 1 ? "expectation, but it didn't match" :
1765
+ "expectations, but none matched")
1766
+ << ":\n";
1767
+ for (size_t i = 0; i < count; i++) {
1768
+ TypedExpectation<F>* const expectation =
1769
+ static_cast<TypedExpectation<F>*>(untyped_expectations_[i].get());
1770
+ *why << "\n";
1771
+ expectation->DescribeLocationTo(why);
1772
+ if (count > 1) {
1773
+ *why << "tried expectation #" << i << ": ";
1774
+ }
1775
+ *why << expectation->source_text() << "...\n";
1776
+ expectation->ExplainMatchResultTo(args, why);
1777
+ expectation->DescribeCallCountTo(why);
1778
+ }
1779
+ }
1780
+ }; // class FunctionMocker
1781
+
1782
+ // Reports an uninteresting call (whose description is in msg) in the
1783
+ // manner specified by 'reaction'.
1784
+ void ReportUninterestingCall(CallReaction reaction, const std::string& msg);
1785
+
1786
+ } // namespace internal
1787
+
1788
+ namespace internal {
1789
+
1790
+ template <typename F>
1791
+ class MockFunction;
1792
+
1793
+ template <typename R, typename... Args>
1794
+ class MockFunction<R(Args...)> {
1795
+ public:
1796
+ MockFunction(const MockFunction&) = delete;
1797
+ MockFunction& operator=(const MockFunction&) = delete;
1798
+
1799
+ std::function<R(Args...)> AsStdFunction() {
1800
+ return [this](Args... args) -> R {
1801
+ return this->Call(std::forward<Args>(args)...);
1802
+ };
1803
+ }
1804
+
1805
+ // Implementation detail: the expansion of the MOCK_METHOD macro.
1806
+ R Call(Args... args) {
1807
+ mock_.SetOwnerAndName(this, "Call");
1808
+ return mock_.Invoke(std::forward<Args>(args)...);
1809
+ }
1810
+
1811
+ MockSpec<R(Args...)> gmock_Call(Matcher<Args>... m) {
1812
+ mock_.RegisterOwner(this);
1813
+ return mock_.With(std::move(m)...);
1814
+ }
1815
+
1816
+ MockSpec<R(Args...)> gmock_Call(const WithoutMatchers&, R (*)(Args...)) {
1817
+ return this->gmock_Call(::testing::A<Args>()...);
1818
+ }
1819
+
1820
+ protected:
1821
+ MockFunction() = default;
1822
+ ~MockFunction() = default;
1823
+
1824
+ private:
1825
+ FunctionMocker<R(Args...)> mock_;
1826
+ };
1827
+
1828
+ /*
1829
+ The SignatureOf<F> struct is a meta-function returning function signature
1830
+ corresponding to the provided F argument.
1831
+
1832
+ It makes use of MockFunction easier by allowing it to accept more F arguments
1833
+ than just function signatures.
1834
+
1835
+ Specializations provided here cover only a signature type itself and
1836
+ std::function. However, if need be it can be easily extended to cover also other
1837
+ types (like for example boost::function).
1838
+ */
1839
+
1840
+ template <typename F>
1841
+ struct SignatureOf;
1842
+
1843
+ template <typename R, typename... Args>
1844
+ struct SignatureOf<R(Args...)> {
1845
+ using type = R(Args...);
1846
+ };
1847
+
1848
+ template <typename F>
1849
+ struct SignatureOf<std::function<F>> : SignatureOf<F> {};
1850
+
1851
+ template <typename F>
1852
+ using SignatureOfT = typename SignatureOf<F>::type;
1853
+
1854
+ } // namespace internal
1855
+
1856
+ // A MockFunction<F> type has one mock method whose type is
1857
+ // internal::SignatureOfT<F>. It is useful when you just want your
1858
+ // test code to emit some messages and have Google Mock verify the
1859
+ // right messages are sent (and perhaps at the right times). For
1860
+ // example, if you are exercising code:
1861
+ //
1862
+ // Foo(1);
1863
+ // Foo(2);
1864
+ // Foo(3);
1865
+ //
1866
+ // and want to verify that Foo(1) and Foo(3) both invoke
1867
+ // mock.Bar("a"), but Foo(2) doesn't invoke anything, you can write:
1868
+ //
1869
+ // TEST(FooTest, InvokesBarCorrectly) {
1870
+ // MyMock mock;
1871
+ // MockFunction<void(string check_point_name)> check;
1872
+ // {
1873
+ // InSequence s;
1874
+ //
1875
+ // EXPECT_CALL(mock, Bar("a"));
1876
+ // EXPECT_CALL(check, Call("1"));
1877
+ // EXPECT_CALL(check, Call("2"));
1878
+ // EXPECT_CALL(mock, Bar("a"));
1879
+ // }
1880
+ // Foo(1);
1881
+ // check.Call("1");
1882
+ // Foo(2);
1883
+ // check.Call("2");
1884
+ // Foo(3);
1885
+ // }
1886
+ //
1887
+ // The expectation spec says that the first Bar("a") must happen
1888
+ // before check point "1", the second Bar("a") must happen after check
1889
+ // point "2", and nothing should happen between the two check
1890
+ // points. The explicit check points make it easy to tell which
1891
+ // Bar("a") is called by which call to Foo().
1892
+ //
1893
+ // MockFunction<F> can also be used to exercise code that accepts
1894
+ // std::function<internal::SignatureOfT<F>> callbacks. To do so, use
1895
+ // AsStdFunction() method to create std::function proxy forwarding to
1896
+ // original object's Call. Example:
1897
+ //
1898
+ // TEST(FooTest, RunsCallbackWithBarArgument) {
1899
+ // MockFunction<int(string)> callback;
1900
+ // EXPECT_CALL(callback, Call("bar")).WillOnce(Return(1));
1901
+ // Foo(callback.AsStdFunction());
1902
+ // }
1903
+ //
1904
+ // The internal::SignatureOfT<F> indirection allows to use other types
1905
+ // than just function signature type. This is typically useful when
1906
+ // providing a mock for a predefined std::function type. Example:
1907
+ //
1908
+ // using FilterPredicate = std::function<bool(string)>;
1909
+ // void MyFilterAlgorithm(FilterPredicate predicate);
1910
+ //
1911
+ // TEST(FooTest, FilterPredicateAlwaysAccepts) {
1912
+ // MockFunction<FilterPredicate> predicateMock;
1913
+ // EXPECT_CALL(predicateMock, Call(_)).WillRepeatedly(Return(true));
1914
+ // MyFilterAlgorithm(predicateMock.AsStdFunction());
1915
+ // }
1916
+ template <typename F>
1917
+ class MockFunction : public internal::MockFunction<internal::SignatureOfT<F>> {
1918
+ using Base = internal::MockFunction<internal::SignatureOfT<F>>;
1919
+
1920
+ public:
1921
+ using Base::Base;
1922
+ };
1923
+
1924
+ // The style guide prohibits "using" statements in a namespace scope
1925
+ // inside a header file. However, the MockSpec class template is
1926
+ // meant to be defined in the ::testing namespace. The following line
1927
+ // is just a trick for working around a bug in MSVC 8.0, which cannot
1928
+ // handle it if we define MockSpec in ::testing.
1929
+ using internal::MockSpec;
1930
+
1931
+ // Const(x) is a convenient function for obtaining a const reference
1932
+ // to x. This is useful for setting expectations on an overloaded
1933
+ // const mock method, e.g.
1934
+ //
1935
+ // class MockFoo : public FooInterface {
1936
+ // public:
1937
+ // MOCK_METHOD0(Bar, int());
1938
+ // MOCK_CONST_METHOD0(Bar, int&());
1939
+ // };
1940
+ //
1941
+ // MockFoo foo;
1942
+ // // Expects a call to non-const MockFoo::Bar().
1943
+ // EXPECT_CALL(foo, Bar());
1944
+ // // Expects a call to const MockFoo::Bar().
1945
+ // EXPECT_CALL(Const(foo), Bar());
1946
+ template <typename T>
1947
+ inline const T& Const(const T& x) { return x; }
1948
+
1949
+ // Constructs an Expectation object that references and co-owns exp.
1950
+ inline Expectation::Expectation(internal::ExpectationBase& exp) // NOLINT
1951
+ : expectation_base_(exp.GetHandle().expectation_base()) {}
1952
+
1953
+ } // namespace testing
1954
+
1955
+ GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251
1956
+
1957
+ // Implementation for ON_CALL and EXPECT_CALL macros. A separate macro is
1958
+ // required to avoid compile errors when the name of the method used in call is
1959
+ // a result of macro expansion. See CompilesWithMethodNameExpandedFromMacro
1960
+ // tests in internal/gmock-spec-builders_test.cc for more details.
1961
+ //
1962
+ // This macro supports statements both with and without parameter matchers. If
1963
+ // the parameter list is omitted, gMock will accept any parameters, which allows
1964
+ // tests to be written that don't need to encode the number of method
1965
+ // parameter. This technique may only be used for non-overloaded methods.
1966
+ //
1967
+ // // These are the same:
1968
+ // ON_CALL(mock, NoArgsMethod()).WillByDefault(...);
1969
+ // ON_CALL(mock, NoArgsMethod).WillByDefault(...);
1970
+ //
1971
+ // // As are these:
1972
+ // ON_CALL(mock, TwoArgsMethod(_, _)).WillByDefault(...);
1973
+ // ON_CALL(mock, TwoArgsMethod).WillByDefault(...);
1974
+ //
1975
+ // // Can also specify args if you want, of course:
1976
+ // ON_CALL(mock, TwoArgsMethod(_, 45)).WillByDefault(...);
1977
+ //
1978
+ // // Overloads work as long as you specify parameters:
1979
+ // ON_CALL(mock, OverloadedMethod(_)).WillByDefault(...);
1980
+ // ON_CALL(mock, OverloadedMethod(_, _)).WillByDefault(...);
1981
+ //
1982
+ // // Oops! Which overload did you want?
1983
+ // ON_CALL(mock, OverloadedMethod).WillByDefault(...);
1984
+ // => ERROR: call to member function 'gmock_OverloadedMethod' is ambiguous
1985
+ //
1986
+ // How this works: The mock class uses two overloads of the gmock_Method
1987
+ // expectation setter method plus an operator() overload on the MockSpec object.
1988
+ // In the matcher list form, the macro expands to:
1989
+ //
1990
+ // // This statement:
1991
+ // ON_CALL(mock, TwoArgsMethod(_, 45))...
1992
+ //
1993
+ // // ...expands to:
1994
+ // mock.gmock_TwoArgsMethod(_, 45)(WithoutMatchers(), nullptr)...
1995
+ // |-------------v---------------||------------v-------------|
1996
+ // invokes first overload swallowed by operator()
1997
+ //
1998
+ // // ...which is essentially:
1999
+ // mock.gmock_TwoArgsMethod(_, 45)...
2000
+ //
2001
+ // Whereas the form without a matcher list:
2002
+ //
2003
+ // // This statement:
2004
+ // ON_CALL(mock, TwoArgsMethod)...
2005
+ //
2006
+ // // ...expands to:
2007
+ // mock.gmock_TwoArgsMethod(WithoutMatchers(), nullptr)...
2008
+ // |-----------------------v--------------------------|
2009
+ // invokes second overload
2010
+ //
2011
+ // // ...which is essentially:
2012
+ // mock.gmock_TwoArgsMethod(_, _)...
2013
+ //
2014
+ // The WithoutMatchers() argument is used to disambiguate overloads and to
2015
+ // block the caller from accidentally invoking the second overload directly. The
2016
+ // second argument is an internal type derived from the method signature. The
2017
+ // failure to disambiguate two overloads of this method in the ON_CALL statement
2018
+ // is how we block callers from setting expectations on overloaded methods.
2019
+ #define GMOCK_ON_CALL_IMPL_(mock_expr, Setter, call) \
2020
+ ((mock_expr).gmock_##call)(::testing::internal::GetWithoutMatchers(), \
2021
+ nullptr) \
2022
+ .Setter(__FILE__, __LINE__, #mock_expr, #call)
2023
+
2024
+ #define ON_CALL(obj, call) \
2025
+ GMOCK_ON_CALL_IMPL_(obj, InternalDefaultActionSetAt, call)
2026
+
2027
+ #define EXPECT_CALL(obj, call) \
2028
+ GMOCK_ON_CALL_IMPL_(obj, InternalExpectedAt, call)
2029
+
2030
+ #endif // GMOCK_INCLUDE_GMOCK_GMOCK_SPEC_BUILDERS_H_