couchbase 4.2.1 → 4.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1610) hide show
  1. package/CMakeLists.txt +1 -0
  2. package/deps/couchbase-cxx-client/.github/workflows/sanitizers.yml +20 -12
  3. package/deps/couchbase-cxx-client/.github/workflows/tests.yml +5 -3
  4. package/deps/couchbase-cxx-client/.gitmodules +3 -0
  5. package/deps/couchbase-cxx-client/.idea/misc.xml +1 -0
  6. package/deps/couchbase-cxx-client/.idea/vcs.xml +3 -0
  7. package/deps/couchbase-cxx-client/CMakeLists.txt +25 -6
  8. package/deps/couchbase-cxx-client/README.md +3 -3
  9. package/deps/couchbase-cxx-client/bin/build-tests +3 -0
  10. package/deps/couchbase-cxx-client/bin/build-tests.rb +9 -0
  11. package/deps/couchbase-cxx-client/bin/init-cluster +38 -11
  12. package/deps/couchbase-cxx-client/bin/run-unit-tests +9 -9
  13. package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +14 -3
  14. package/deps/couchbase-cxx-client/cmake/Documentation.cmake +4 -3
  15. package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +52 -7
  16. package/deps/couchbase-cxx-client/cmake/Testing.cmake +4 -4
  17. package/deps/couchbase-cxx-client/cmake/ThirdPartyDependencies.cmake +4 -0
  18. package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +52 -4
  19. package/deps/couchbase-cxx-client/cmake/build_version.hxx.in +1 -0
  20. package/deps/couchbase-cxx-client/cmake/test_openssl.cxx +7 -0
  21. package/deps/couchbase-cxx-client/core/bucket.cxx +3 -2
  22. package/deps/couchbase-cxx-client/core/bucket.hxx +9 -0
  23. package/deps/couchbase-cxx-client/core/cluster.hxx +15 -5
  24. package/deps/couchbase-cxx-client/core/cluster_options.cxx +2 -2
  25. package/deps/couchbase-cxx-client/core/cluster_options.hxx +3 -7
  26. package/deps/couchbase-cxx-client/core/cluster_options_fwd.hxx +26 -0
  27. package/deps/couchbase-cxx-client/core/config_profile.hxx +2 -65
  28. package/deps/couchbase-cxx-client/core/config_profiles.cxx +79 -0
  29. package/deps/couchbase-cxx-client/core/config_profiles.hxx +56 -0
  30. package/deps/couchbase-cxx-client/core/crypto/CMakeLists.txt +5 -1
  31. package/deps/couchbase-cxx-client/core/error_context/analytics.hxx +2 -1
  32. package/deps/couchbase-cxx-client/core/error_context/http.hxx +2 -1
  33. package/deps/couchbase-cxx-client/core/error_context/query.hxx +2 -1
  34. package/deps/couchbase-cxx-client/core/error_context/search.hxx +2 -1
  35. package/deps/couchbase-cxx-client/core/error_context/view.hxx +2 -1
  36. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +236 -0
  37. package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +17 -6
  38. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +2 -2
  39. package/deps/couchbase-cxx-client/core/impl/collection_query_index_manager.cxx +93 -0
  40. package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +11 -0
  41. package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +119 -0
  42. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +5 -3
  43. package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +108 -0
  44. package/deps/couchbase-cxx-client/core/impl/get.cxx +1 -1
  45. package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +76 -0
  46. package/deps/couchbase-cxx-client/core/impl/query.cxx +24 -24
  47. package/deps/couchbase-cxx-client/core/impl/subdoc/lookup_in_macro.cxx +1 -0
  48. package/deps/couchbase-cxx-client/core/impl/subdoc/mutate_in_macro.cxx +1 -0
  49. package/deps/couchbase-cxx-client/core/impl/transaction_get_result.cxx +54 -0
  50. package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +168 -0
  51. package/deps/couchbase-cxx-client/core/io/dns_client.cxx +225 -0
  52. package/deps/couchbase-cxx-client/core/io/dns_client.hxx +19 -188
  53. package/deps/couchbase-cxx-client/core/io/http_context.hxx +1 -1
  54. package/deps/couchbase-cxx-client/core/io/http_session.hxx +10 -0
  55. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +5 -3
  56. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +42 -1
  57. package/deps/couchbase-cxx-client/core/io/retry_orchestrator.hxx +3 -2
  58. package/deps/couchbase-cxx-client/core/logger/configuration.hxx +3 -0
  59. package/deps/couchbase-cxx-client/core/logger/level.hxx +21 -0
  60. package/deps/couchbase-cxx-client/core/logger/logger.hxx +4 -6
  61. package/deps/couchbase-cxx-client/core/meta/CMakeLists.txt +7 -3
  62. package/deps/couchbase-cxx-client/core/meta/features.hxx +31 -0
  63. package/deps/couchbase-cxx-client/core/meta/version.cxx +86 -5
  64. package/deps/couchbase-cxx-client/core/meta/version.hxx +12 -1
  65. package/deps/couchbase-cxx-client/core/metrics/CMakeLists.txt +4 -1
  66. package/deps/couchbase-cxx-client/core/metrics/logging_meter.cxx +46 -5
  67. package/deps/couchbase-cxx-client/core/metrics/logging_meter.hxx +10 -26
  68. package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +1 -0
  69. package/deps/couchbase-cxx-client/core/operations/document_analytics.hxx +1 -0
  70. package/deps/couchbase-cxx-client/core/operations/document_append.hxx +1 -1
  71. package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +1 -1
  72. package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +1 -1
  73. package/deps/couchbase-cxx-client/core/operations/document_get.hxx +1 -1
  74. package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +1 -1
  75. package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +1 -1
  76. package/deps/couchbase-cxx-client/core/operations/document_get_projected.cxx +3 -2
  77. package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +1 -1
  78. package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +1 -1
  79. package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +1 -1
  80. package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +1 -1
  81. package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +1 -1
  82. package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +1 -1
  83. package/deps/couchbase-cxx-client/core/operations/document_query.cxx +12 -12
  84. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +7 -3
  85. package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +1 -1
  86. package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +1 -1
  87. package/deps/couchbase-cxx-client/core/operations/document_search.cxx +6 -2
  88. package/deps/couchbase-cxx-client/core/operations/document_search.hxx +1 -1
  89. package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +1 -1
  90. package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +1 -1
  91. package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +1 -1
  92. package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
  93. package/deps/couchbase-cxx-client/core/operations/management/analytics_problem.hxx +2 -1
  94. package/deps/couchbase-cxx-client/core/operations/management/eventing_problem.hxx +2 -1
  95. package/deps/couchbase-cxx-client/core/operations/management/query_index_build.cxx +8 -14
  96. package/deps/couchbase-cxx-client/core/operations/management/query_index_build.hxx +2 -1
  97. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +15 -8
  98. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +7 -14
  99. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +2 -0
  100. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +11 -16
  101. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.hxx +2 -0
  102. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +8 -12
  103. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +4 -3
  104. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.cxx +21 -12
  105. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.hxx +3 -2
  106. package/deps/couchbase-cxx-client/core/origin.hxx +1 -1
  107. package/deps/couchbase-cxx-client/core/platform/base64.cc +2 -1
  108. package/deps/couchbase-cxx-client/core/platform/uuid.cc +1 -2
  109. package/deps/couchbase-cxx-client/core/protocol/client_opcode.hxx +1 -0
  110. package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -1
  111. package/deps/couchbase-cxx-client/core/protocol/cmd_info.hxx +2 -1
  112. package/deps/couchbase-cxx-client/core/public_fwd.hxx +21 -0
  113. package/deps/couchbase-cxx-client/core/query_context.hxx +79 -0
  114. package/deps/couchbase-cxx-client/core/tls_verify_mode.hxx +26 -0
  115. package/deps/couchbase-cxx-client/core/topology/configuration.cxx +15 -2
  116. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +5 -1
  117. package/deps/couchbase-cxx-client/core/tracing/CMakeLists.txt +3 -1
  118. package/deps/couchbase-cxx-client/core/tracing/threshold_logging_tracer.cxx +19 -4
  119. package/deps/couchbase-cxx-client/core/tracing/threshold_logging_tracer.hxx +2 -2
  120. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +2 -2
  121. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +10 -4
  122. package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +53 -63
  123. package/deps/couchbase-cxx-client/core/transactions/atr_ids.cxx +1 -1
  124. package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +8 -3
  125. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +240 -169
  126. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +106 -88
  127. package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.cxx +93 -0
  128. package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.hxx +48 -75
  129. package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.cxx +52 -0
  130. package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.hxx +17 -31
  131. package/deps/couchbase-cxx-client/core/transactions/exceptions.cxx +0 -1
  132. package/deps/couchbase-cxx-client/core/transactions/exceptions.hxx +14 -11
  133. package/deps/couchbase-cxx-client/core/transactions/forward_compat.hxx +6 -6
  134. package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +51 -13
  135. package/deps/couchbase-cxx-client/core/transactions/internal/client_record.hxx +26 -1
  136. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +21 -0
  137. package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +40 -18
  138. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +19 -14
  139. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_fields.hxx +1 -0
  140. package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +7 -1
  141. package/deps/couchbase-cxx-client/core/transactions/result.hxx +26 -0
  142. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +49 -48
  143. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.hxx +18 -8
  144. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +40 -28
  145. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.cxx +41 -31
  146. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +87 -23
  147. package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +37 -2
  148. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +9 -8
  149. package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +182 -200
  150. package/deps/couchbase-cxx-client/core/transactions/waitable_op_list.hxx +8 -7
  151. package/deps/couchbase-cxx-client/core/transactions.hxx +1 -13
  152. package/deps/couchbase-cxx-client/core/utils/binary.hxx +1 -1
  153. package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +25 -3
  154. package/deps/couchbase-cxx-client/core/utils/connection_string.hxx +3 -3
  155. package/deps/couchbase-cxx-client/core/utils/crc32.hxx +3 -2
  156. package/deps/couchbase-cxx-client/core/utils/json.cxx +4 -1
  157. package/deps/couchbase-cxx-client/core/utils/json_streaming_lexer.hxx +2 -1
  158. package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +55 -0
  159. package/deps/couchbase-cxx-client/core/utils/url_codec.cxx +2 -1
  160. package/deps/couchbase-cxx-client/couchbase/analytics_error_context.hxx +143 -0
  161. package/deps/couchbase-cxx-client/couchbase/analytics_meta_data.hxx +155 -0
  162. package/deps/couchbase-cxx-client/couchbase/analytics_metrics.hxx +163 -0
  163. package/deps/couchbase-cxx-client/couchbase/analytics_options.hxx +359 -0
  164. package/deps/couchbase-cxx-client/couchbase/analytics_result.hxx +102 -0
  165. package/deps/couchbase-cxx-client/couchbase/analytics_scan_consistency.hxx +46 -0
  166. package/deps/couchbase-cxx-client/couchbase/analytics_status.hxx +41 -0
  167. package/deps/couchbase-cxx-client/couchbase/analytics_warning.hxx +85 -0
  168. package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +10 -1
  169. package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +12 -45
  170. package/deps/couchbase-cxx-client/couchbase/cluster.hxx +39 -4
  171. package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +16 -17
  172. package/deps/couchbase-cxx-client/couchbase/collection.hxx +30 -17
  173. package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +218 -0
  174. package/deps/couchbase-cxx-client/couchbase/common_options.hxx +1 -1
  175. package/deps/couchbase-cxx-client/couchbase/configuration_profile.hxx +1 -1
  176. package/deps/couchbase-cxx-client/couchbase/configuration_profiles_registry.hxx +3 -1
  177. package/deps/couchbase-cxx-client/couchbase/create_primary_query_index_options.hxx +166 -0
  178. package/deps/couchbase-cxx-client/couchbase/create_query_index_options.hxx +172 -0
  179. package/deps/couchbase-cxx-client/couchbase/drop_primary_query_index_options.hxx +129 -0
  180. package/deps/couchbase-cxx-client/couchbase/drop_query_index_options.hxx +116 -0
  181. package/deps/couchbase-cxx-client/couchbase/fmt/analytics_status.hxx +76 -0
  182. package/deps/couchbase-cxx-client/couchbase/fmt/cas.hxx +13 -1
  183. package/deps/couchbase-cxx-client/couchbase/fmt/durability_level.hxx +6 -0
  184. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_extended_error_info.hxx +6 -0
  185. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +6 -0
  186. package/deps/couchbase-cxx-client/couchbase/fmt/mutation_token.hxx +6 -0
  187. package/deps/couchbase-cxx-client/couchbase/fmt/query_scan_consistency.hxx +52 -0
  188. package/deps/couchbase-cxx-client/couchbase/fmt/query_status.hxx +76 -0
  189. package/deps/couchbase-cxx-client/couchbase/fmt/retry_reason.hxx +6 -0
  190. package/deps/couchbase-cxx-client/couchbase/fmt/tls_verify_mode.hxx +52 -0
  191. package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +101 -0
  192. package/deps/couchbase-cxx-client/couchbase/management/query_index.hxx +39 -0
  193. package/deps/couchbase-cxx-client/couchbase/metrics/meter.hxx +16 -0
  194. package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +180 -6
  195. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +1 -19
  196. package/deps/couchbase-cxx-client/couchbase/scope.hxx +40 -3
  197. package/deps/couchbase-cxx-client/couchbase/subdoc/array_add_unique.hxx +2 -0
  198. package/deps/couchbase-cxx-client/couchbase/subdoc/array_append.hxx +2 -0
  199. package/deps/couchbase-cxx-client/couchbase/subdoc/array_insert.hxx +2 -0
  200. package/deps/couchbase-cxx-client/couchbase/subdoc/array_prepend.hxx +2 -0
  201. package/deps/couchbase-cxx-client/couchbase/subdoc/count.hxx +2 -0
  202. package/deps/couchbase-cxx-client/couchbase/subdoc/counter.hxx +2 -0
  203. package/deps/couchbase-cxx-client/couchbase/subdoc/exists.hxx +2 -0
  204. package/deps/couchbase-cxx-client/couchbase/subdoc/get.hxx +2 -0
  205. package/deps/couchbase-cxx-client/couchbase/subdoc/insert.hxx +2 -0
  206. package/deps/couchbase-cxx-client/couchbase/subdoc/remove.hxx +2 -0
  207. package/deps/couchbase-cxx-client/couchbase/subdoc/replace.hxx +3 -1
  208. package/deps/couchbase-cxx-client/couchbase/subdoc/upsert.hxx +2 -0
  209. package/deps/couchbase-cxx-client/couchbase/tracing/request_span.hxx +63 -0
  210. package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +18 -40
  211. package/deps/couchbase-cxx-client/couchbase/transaction_op_error_context.hxx +4 -4
  212. package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +102 -16
  213. package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +90 -15
  214. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_result.hxx +55 -35
  215. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +27 -1
  216. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +79 -8
  217. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +127 -21
  218. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_result.hxx +6 -21
  219. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_result.hxx +0 -1
  220. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +5 -3
  221. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +9 -5
  222. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_query_config.hxx +6 -3
  223. package/deps/couchbase-cxx-client/couchbase/transactions.hxx +36 -2
  224. package/deps/couchbase-cxx-client/couchbase/watch_query_indexes_options.hxx +115 -0
  225. package/deps/couchbase-cxx-client/docs/Doxyfile.in +324 -223
  226. package/deps/couchbase-cxx-client/docs/cbc-analytics.md +171 -0
  227. package/deps/couchbase-cxx-client/docs/cbc-get.md +160 -0
  228. package/deps/couchbase-cxx-client/docs/cbc-pillowfight.md +163 -0
  229. package/deps/couchbase-cxx-client/docs/cbc-query.md +179 -0
  230. package/deps/couchbase-cxx-client/docs/cbc.md +46 -0
  231. package/deps/couchbase-cxx-client/docs/cli.hxx +33 -0
  232. package/deps/couchbase-cxx-client/docs/doxygen-awesome.css +474 -89
  233. package/deps/couchbase-cxx-client/docs/mainpage.hxx +9 -8
  234. package/deps/couchbase-cxx-client/docs/stability.hxx +15 -0
  235. package/deps/couchbase-cxx-client/examples/async_game_server.cxx +56 -54
  236. package/deps/couchbase-cxx-client/examples/distributed_mutex.cxx +2 -0
  237. package/deps/couchbase-cxx-client/examples/game_server.cxx +9 -10
  238. package/deps/couchbase-cxx-client/examples/minimal.cxx +3 -1
  239. package/deps/couchbase-cxx-client/test/CMakeLists.txt +9 -7
  240. package/deps/couchbase-cxx-client/test/benchmark_helper_integration.hxx +2 -2
  241. package/deps/couchbase-cxx-client/test/data/search_beers_dataset.json +70 -0
  242. package/deps/couchbase-cxx-client/test/data/search_beers_index_params.json +108 -0
  243. package/deps/couchbase-cxx-client/test/test_helper.hxx +6 -6
  244. package/deps/couchbase-cxx-client/test/test_integration_analytics.cxx +289 -13
  245. package/deps/couchbase-cxx-client/test/test_integration_crud.cxx +80 -1
  246. package/deps/couchbase-cxx-client/test/test_integration_diagnostics.cxx +3 -3
  247. package/deps/couchbase-cxx-client/test/test_integration_examples.cxx +182 -0
  248. package/deps/couchbase-cxx-client/test/test_integration_management.cxx +752 -319
  249. package/deps/couchbase-cxx-client/test/test_integration_query.cxx +5 -9
  250. package/deps/couchbase-cxx-client/test/test_integration_search.cxx +603 -0
  251. package/deps/couchbase-cxx-client/test/test_integration_subdoc.cxx +2 -2
  252. package/deps/couchbase-cxx-client/test/test_integration_tracer.cxx +2 -0
  253. package/deps/couchbase-cxx-client/test/test_integration_transcoders.cxx +23 -5
  254. package/deps/couchbase-cxx-client/test/test_transaction_context.cxx +550 -0
  255. package/deps/couchbase-cxx-client/test/test_transaction_examples.cxx +180 -0
  256. package/deps/couchbase-cxx-client/test/test_transaction_public_async_api.cxx +393 -0
  257. package/deps/couchbase-cxx-client/test/test_transaction_public_blocking_api.cxx +653 -0
  258. package/deps/couchbase-cxx-client/test/test_transaction_simple.cxx +984 -0
  259. package/deps/couchbase-cxx-client/test/test_transaction_simple_async.cxx +970 -0
  260. package/deps/couchbase-cxx-client/test/test_unit_config_profiles.cxx +13 -13
  261. package/deps/couchbase-cxx-client/test/test_unit_connection_string.cxx +35 -0
  262. package/deps/couchbase-cxx-client/test/test_unit_json_transcoder.cxx +4 -0
  263. package/deps/couchbase-cxx-client/test/test_unit_transaction_logging.cxx +66 -22
  264. package/deps/couchbase-cxx-client/test/test_unit_transaction_utils.cxx +113 -0
  265. package/deps/couchbase-cxx-client/test/test_unit_utils.cxx +59 -4
  266. package/deps/couchbase-cxx-client/test/utils/CMakeLists.txt +13 -9
  267. package/deps/couchbase-cxx-client/test/utils/integration_shortcuts.hxx +3 -3
  268. package/deps/couchbase-cxx-client/test/utils/integration_test_guard.cxx +21 -9
  269. package/deps/couchbase-cxx-client/test/utils/server_version.hxx +10 -0
  270. package/deps/couchbase-cxx-client/test/utils/test_data.cxx +41 -0
  271. package/deps/couchbase-cxx-client/test/utils/test_data.hxx +29 -0
  272. package/deps/couchbase-cxx-client/test/utils/wait_until.cxx +65 -4
  273. package/deps/couchbase-cxx-client/test/utils/wait_until.hxx +8 -1
  274. package/deps/couchbase-cxx-client/third_party/catch2/.bazelrc +10 -0
  275. package/deps/couchbase-cxx-client/third_party/catch2/.conan/build.py +4 -4
  276. package/deps/couchbase-cxx-client/third_party/catch2/.conan/test_package/CMakeLists.txt +5 -4
  277. package/deps/couchbase-cxx-client/third_party/catch2/.conan/test_package/conanfile.py +3 -2
  278. package/deps/couchbase-cxx-client/third_party/catch2/.conan/test_package/test_package.cpp +1 -3
  279. package/deps/couchbase-cxx-client/third_party/catch2/.github/FUNDING.yml +1 -0
  280. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-bazel-builds.yml +24 -0
  281. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-meson-builds.yml +43 -0
  282. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-other-builds.yml +104 -0
  283. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-simple-builds.yml +122 -0
  284. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/mac-builds.yml +52 -0
  285. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/validate-header-guards.yml +36 -0
  286. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/windows-simple-builds.yml +37 -0
  287. package/deps/couchbase-cxx-client/third_party/catch2/BUILD.bazel +83 -8
  288. package/deps/couchbase-cxx-client/third_party/catch2/CMake/CatchConfigOptions.cmake +79 -0
  289. package/deps/couchbase-cxx-client/third_party/catch2/CMake/CatchMiscFunctions.cmake +120 -0
  290. package/deps/couchbase-cxx-client/third_party/catch2/CMake/catch2-with-main.pc.in +10 -0
  291. package/deps/couchbase-cxx-client/third_party/catch2/CMake/catch2.pc.in +5 -1
  292. package/deps/couchbase-cxx-client/third_party/catch2/CMakeLists.txt +98 -152
  293. package/deps/couchbase-cxx-client/third_party/catch2/CMakePresets.json +25 -0
  294. package/deps/couchbase-cxx-client/third_party/catch2/Doxyfile +2484 -0
  295. package/deps/couchbase-cxx-client/third_party/catch2/README.md +83 -17
  296. package/deps/couchbase-cxx-client/third_party/catch2/SECURITY.md +19 -0
  297. package/deps/couchbase-cxx-client/third_party/catch2/WORKSPACE.bazel +16 -0
  298. package/deps/couchbase-cxx-client/third_party/catch2/appveyor.yml +55 -73
  299. package/deps/couchbase-cxx-client/third_party/catch2/codecov.yml +3 -6
  300. package/deps/couchbase-cxx-client/third_party/catch2/conanfile.py +44 -14
  301. package/deps/couchbase-cxx-client/third_party/catch2/data/artwork/catch2-logo-small-with-background.png +0 -0
  302. package/deps/couchbase-cxx-client/third_party/catch2/docs/Readme.md +18 -16
  303. package/deps/couchbase-cxx-client/third_party/catch2/docs/assertions.md +45 -64
  304. package/deps/couchbase-cxx-client/third_party/catch2/docs/benchmarks.md +3 -6
  305. package/deps/couchbase-cxx-client/third_party/catch2/docs/ci-and-misc.md +27 -29
  306. package/deps/couchbase-cxx-client/third_party/catch2/docs/cmake-integration.md +157 -35
  307. package/deps/couchbase-cxx-client/third_party/catch2/docs/command-line.md +232 -65
  308. package/deps/couchbase-cxx-client/third_party/catch2/docs/commercial-users.md +14 -13
  309. package/deps/couchbase-cxx-client/third_party/catch2/docs/comparing-floating-point-numbers.md +192 -0
  310. package/deps/couchbase-cxx-client/third_party/catch2/docs/configuration.md +48 -54
  311. package/deps/couchbase-cxx-client/third_party/catch2/docs/contributing.md +150 -38
  312. package/deps/couchbase-cxx-client/third_party/catch2/docs/deprecations.md +14 -118
  313. package/deps/couchbase-cxx-client/third_party/catch2/docs/event-listeners.md +31 -62
  314. package/deps/couchbase-cxx-client/third_party/catch2/docs/faq.md +94 -0
  315. package/deps/couchbase-cxx-client/third_party/catch2/docs/generators.md +14 -10
  316. package/deps/couchbase-cxx-client/third_party/catch2/docs/limitations.md +34 -36
  317. package/deps/couchbase-cxx-client/third_party/catch2/docs/list-of-examples.md +0 -3
  318. package/deps/couchbase-cxx-client/third_party/catch2/docs/logging.md +2 -2
  319. package/deps/couchbase-cxx-client/third_party/catch2/docs/matchers.md +355 -122
  320. package/deps/couchbase-cxx-client/third_party/catch2/docs/migrate-v2-to-v3.md +98 -0
  321. package/deps/couchbase-cxx-client/third_party/catch2/docs/opensource-users.md +43 -13
  322. package/deps/couchbase-cxx-client/third_party/catch2/docs/other-macros.md +19 -18
  323. package/deps/couchbase-cxx-client/third_party/catch2/docs/own-main.md +50 -49
  324. package/deps/couchbase-cxx-client/third_party/catch2/docs/release-notes.md +375 -6
  325. package/deps/couchbase-cxx-client/third_party/catch2/docs/release-process.md +9 -16
  326. package/deps/couchbase-cxx-client/third_party/catch2/docs/reporter-events.md +175 -0
  327. package/deps/couchbase-cxx-client/third_party/catch2/docs/reporters.md +191 -25
  328. package/deps/couchbase-cxx-client/third_party/catch2/docs/skipping-passing-failing.md +129 -0
  329. package/deps/couchbase-cxx-client/third_party/catch2/docs/test-cases-and-sections.md +91 -20
  330. package/deps/couchbase-cxx-client/third_party/catch2/docs/test-fixtures.md +28 -9
  331. package/deps/couchbase-cxx-client/third_party/catch2/docs/tostring.md +3 -3
  332. package/deps/couchbase-cxx-client/third_party/catch2/docs/tutorial.md +87 -139
  333. package/deps/couchbase-cxx-client/third_party/catch2/docs/usage-tips.md +100 -0
  334. package/deps/couchbase-cxx-client/third_party/catch2/docs/why-catch.md +24 -11
  335. package/deps/couchbase-cxx-client/third_party/catch2/examples/010-TestCase.cpp +4 -7
  336. package/deps/couchbase-cxx-client/third_party/catch2/examples/020-TestCase-1.cpp +3 -9
  337. package/deps/couchbase-cxx-client/third_party/catch2/examples/020-TestCase-2.cpp +2 -2
  338. package/deps/couchbase-cxx-client/third_party/catch2/examples/030-Asn-Require-Check.cpp +5 -5
  339. package/deps/couchbase-cxx-client/third_party/catch2/examples/100-Fix-Section.cpp +5 -4
  340. package/deps/couchbase-cxx-client/third_party/catch2/examples/110-Fix-ClassFixture.cpp +7 -4
  341. package/deps/couchbase-cxx-client/third_party/catch2/examples/120-Bdd-ScenarioGivenWhenThen.cpp +4 -4
  342. package/deps/couchbase-cxx-client/third_party/catch2/examples/210-Evt-EventListeners.cpp +51 -44
  343. package/deps/couchbase-cxx-client/third_party/catch2/examples/231-Cfg-OutputStreams.cpp +3 -4
  344. package/deps/couchbase-cxx-client/third_party/catch2/examples/300-Gen-OwnGenerator.cpp +13 -3
  345. package/deps/couchbase-cxx-client/third_party/catch2/examples/301-Gen-MapTypeConversion.cpp +9 -7
  346. package/deps/couchbase-cxx-client/third_party/catch2/examples/302-Gen-Table.cpp +4 -3
  347. package/deps/couchbase-cxx-client/third_party/catch2/examples/310-Gen-VariablesInGenerators.cpp +3 -1
  348. package/deps/couchbase-cxx-client/third_party/catch2/examples/311-Gen-CustomCapture.cpp +3 -1
  349. package/deps/couchbase-cxx-client/third_party/catch2/examples/CMakeLists.txt +29 -126
  350. package/deps/couchbase-cxx-client/third_party/catch2/extras/Catch.cmake +279 -0
  351. package/deps/couchbase-cxx-client/third_party/catch2/extras/CatchAddTests.cmake +187 -0
  352. package/deps/couchbase-cxx-client/third_party/catch2/extras/CatchShardTests.cmake +74 -0
  353. package/deps/couchbase-cxx-client/third_party/catch2/extras/CatchShardTestsImpl.cmake +52 -0
  354. package/deps/couchbase-cxx-client/third_party/catch2/extras/catch_amalgamated.cpp +10655 -0
  355. package/deps/couchbase-cxx-client/third_party/catch2/extras/catch_amalgamated.hpp +12972 -0
  356. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/CMakeLists.txt +20 -0
  357. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/NullOStream.cpp +10 -0
  358. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/NullOStream.h +20 -0
  359. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/build_fuzzers.sh +33 -0
  360. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/fuzz_TestSpecParser.cpp +16 -0
  361. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/fuzz_XmlWriter.cpp +16 -0
  362. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/fuzz_textflow.cpp +47 -0
  363. package/deps/couchbase-cxx-client/third_party/catch2/mdsnippets.json +9 -0
  364. package/deps/couchbase-cxx-client/third_party/catch2/meson.build +17 -0
  365. package/deps/couchbase-cxx-client/third_party/catch2/src/CMakeLists.txt +510 -0
  366. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_benchmark.hpp +147 -0
  367. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_benchmark_all.hpp +46 -0
  368. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_chronometer.cpp +17 -0
  369. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_chronometer.hpp +74 -0
  370. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_clock.hpp +39 -0
  371. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_constructor.hpp +82 -0
  372. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_environment.hpp +37 -0
  373. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_estimate.hpp +30 -0
  374. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_execution_plan.hpp +58 -0
  375. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_optimizer.hpp +78 -0
  376. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_outlier_classification.hpp +29 -0
  377. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_sample_analysis.hpp +49 -0
  378. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_analyse.hpp +79 -0
  379. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_function.cpp +17 -0
  380. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_function.hpp +107 -0
  381. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_stats.hpp +64 -0
  382. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_stats_fwd.hpp +23 -0
  383. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_complete_invoke.hpp +58 -0
  384. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_estimate_clock.hpp +121 -0
  385. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_measure.hpp +32 -0
  386. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_repeat.hpp +36 -0
  387. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_run_for_at_least.cpp +31 -0
  388. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_run_for_at_least.hpp +65 -0
  389. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_stats.cpp +257 -0
  390. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_stats.hpp +144 -0
  391. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_timing.hpp +31 -0
  392. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_all.hpp +127 -0
  393. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_approx.cpp +85 -0
  394. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_approx.hpp +128 -0
  395. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_assertion_info.hpp +28 -0
  396. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_assertion_result.cpp +105 -0
  397. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_assertion_result.hpp +60 -0
  398. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_config.cpp +247 -0
  399. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_config.hpp +153 -0
  400. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_get_random_seed.cpp +18 -0
  401. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_get_random_seed.hpp +18 -0
  402. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_message.cpp +116 -0
  403. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_message.hpp +148 -0
  404. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_registry_hub.cpp +105 -0
  405. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_section_info.hpp +42 -0
  406. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_session.cpp +363 -0
  407. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_session.hpp +62 -0
  408. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tag_alias.hpp +29 -0
  409. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tag_alias_autoregistrar.cpp +24 -0
  410. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tag_alias_autoregistrar.hpp +29 -0
  411. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_template_test_macros.hpp +124 -0
  412. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_case_info.cpp +247 -0
  413. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_case_info.hpp +131 -0
  414. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_macros.hpp +226 -0
  415. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_spec.cpp +138 -0
  416. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_spec.hpp +119 -0
  417. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_timer.cpp +37 -0
  418. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_timer.hpp +27 -0
  419. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tostring.cpp +254 -0
  420. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tostring.hpp +668 -0
  421. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_totals.cpp +65 -0
  422. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_totals.hpp +41 -0
  423. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_translate_exception.cpp +20 -0
  424. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_translate_exception.hpp +88 -0
  425. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_user_config.hpp.in +210 -0
  426. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_version.cpp +43 -0
  427. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_version.hpp +39 -0
  428. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_version_macros.hpp +15 -0
  429. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generator_exception.cpp +17 -0
  430. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generator_exception.hpp +31 -0
  431. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators.cpp +42 -0
  432. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators.hpp +250 -0
  433. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_adapters.hpp +241 -0
  434. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_all.hpp +30 -0
  435. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_random.cpp +13 -0
  436. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_random.hpp +98 -0
  437. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_range.hpp +110 -0
  438. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_all.hpp +37 -0
  439. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_capture.cpp +13 -0
  440. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_capture.hpp +109 -0
  441. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_config.cpp +13 -0
  442. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_config.hpp +100 -0
  443. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_enum_values_registry.hpp +47 -0
  444. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_exception.cpp +14 -0
  445. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_exception.hpp +36 -0
  446. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_generatortracker.cpp +32 -0
  447. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_generatortracker.hpp +90 -0
  448. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_registry_hub.cpp +14 -0
  449. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_registry_hub.hpp +66 -0
  450. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter.cpp +101 -0
  451. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter.hpp +224 -0
  452. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter_factory.cpp +14 -0
  453. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter_factory.hpp +45 -0
  454. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_tag_alias_registry.hpp +29 -0
  455. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_test_invoker.hpp +21 -0
  456. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_testcase.cpp +13 -0
  457. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_testcase.hpp +36 -0
  458. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_assertion_handler.cpp +82 -0
  459. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_assertion_handler.hpp +68 -0
  460. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_case_insensitive_comparisons.cpp +35 -0
  461. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_case_insensitive_comparisons.hpp +30 -0
  462. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_case_sensitive.hpp +17 -0
  463. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_clara.cpp +448 -0
  464. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_clara.hpp +702 -0
  465. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_commandline.cpp +313 -0
  466. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_commandline.hpp +21 -0
  467. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_compare_traits.hpp +75 -0
  468. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_compiler_capabilities.hpp +430 -0
  469. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_android_logwrite.hpp +33 -0
  470. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_counter.hpp +32 -0
  471. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_uncaught_exceptions.hpp +44 -0
  472. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_wchar.hpp +33 -0
  473. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_console_colour.cpp +282 -0
  474. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_console_colour.hpp +141 -0
  475. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_console_width.hpp +19 -0
  476. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_container_nonmembers.hpp +73 -0
  477. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_context.cpp +41 -0
  478. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_context.hpp +51 -0
  479. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debug_console.cpp +45 -0
  480. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debug_console.hpp +17 -0
  481. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debugger.cpp +120 -0
  482. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debugger.hpp +67 -0
  483. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_decomposer.cpp +23 -0
  484. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_decomposer.hpp +340 -0
  485. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enforce.cpp +41 -0
  486. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enforce.hpp +54 -0
  487. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enum_values_registry.cpp +73 -0
  488. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enum_values_registry.hpp +36 -0
  489. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_errno_guard.cpp +16 -0
  490. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_errno_guard.hpp +27 -0
  491. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_exception_translator_registry.cpp +84 -0
  492. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_exception_translator_registry.hpp +30 -0
  493. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_fatal_condition_handler.cpp +243 -0
  494. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_fatal_condition_handler.hpp +69 -0
  495. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_floating_point_helpers.cpp +32 -0
  496. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_floating_point_helpers.hpp +103 -0
  497. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_getenv.cpp +37 -0
  498. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_getenv.hpp +20 -0
  499. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_is_permutation.hpp +138 -0
  500. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_istream.cpp +159 -0
  501. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_istream.hpp +54 -0
  502. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_lazy_expr.cpp +29 -0
  503. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_lazy_expr.hpp +40 -0
  504. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_leak_detector.cpp +38 -0
  505. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_leak_detector.hpp +19 -0
  506. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_list.cpp +123 -0
  507. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_list.hpp +43 -0
  508. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_logical_traits.hpp +44 -0
  509. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_main.cpp +39 -0
  510. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_message_info.cpp +25 -0
  511. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_message_info.hpp +42 -0
  512. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_meta.hpp +47 -0
  513. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_move_and_forward.hpp +19 -0
  514. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_noncopyable.hpp +28 -0
  515. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_optional.hpp +100 -0
  516. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_output_redirect.cpp +146 -0
  517. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_output_redirect.hpp +118 -0
  518. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_parse_numbers.cpp +52 -0
  519. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_parse_numbers.hpp +26 -0
  520. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_platform.hpp +37 -0
  521. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_polyfills.cpp +34 -0
  522. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_polyfills.hpp +16 -0
  523. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_preprocessor.hpp +237 -0
  524. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_preprocessor_remove_parens.hpp +19 -0
  525. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_number_generator.cpp +70 -0
  526. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_number_generator.hpp +59 -0
  527. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_seed_generation.cpp +34 -0
  528. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_seed_generation.hpp +26 -0
  529. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_registry.cpp +88 -0
  530. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_registry.hpp +55 -0
  531. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_spec_parser.cpp +173 -0
  532. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_spec_parser.hpp +85 -0
  533. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_result_type.cpp +26 -0
  534. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_result_type.hpp +57 -0
  535. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reusable_string_stream.cpp +62 -0
  536. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reusable_string_stream.hpp +57 -0
  537. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_run_context.cpp +688 -0
  538. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_run_context.hpp +160 -0
  539. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_section.cpp +60 -0
  540. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_section.hpp +53 -0
  541. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_sharding.hpp +42 -0
  542. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_singletons.cpp +36 -0
  543. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_singletons.hpp +45 -0
  544. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_source_line_info.cpp +33 -0
  545. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_source_line_info.hpp +37 -0
  546. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_startup_exception_registry.cpp +29 -0
  547. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_startup_exception_registry.hpp +29 -0
  548. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stdstreams.cpp +24 -0
  549. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stdstreams.hpp +22 -0
  550. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stream_end_stop.hpp +30 -0
  551. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_string_manip.cpp +104 -0
  552. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_string_manip.hpp +61 -0
  553. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stringref.cpp +66 -0
  554. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stringref.hpp +121 -0
  555. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_tag_alias_registry.cpp +55 -0
  556. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_tag_alias_registry.hpp +33 -0
  557. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_template_test_registry.hpp +337 -0
  558. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_info_hasher.cpp +39 -0
  559. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_info_hasher.hpp +29 -0
  560. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_registry_impl.cpp +146 -0
  561. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_registry_impl.hpp +62 -0
  562. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_tracker.cpp +239 -0
  563. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_tracker.hpp +244 -0
  564. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_failure_exception.cpp +31 -0
  565. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_failure_exception.hpp +34 -0
  566. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_macro_impl.hpp +159 -0
  567. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_registry.cpp +82 -0
  568. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_registry.hpp +132 -0
  569. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_run_info.hpp +22 -0
  570. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_spec_parser.cpp +239 -0
  571. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_spec_parser.hpp +81 -0
  572. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_textflow.cpp +255 -0
  573. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_textflow.hpp +169 -0
  574. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_to_string.hpp +29 -0
  575. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_uncaught_exceptions.cpp +26 -0
  576. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_uncaught_exceptions.hpp +15 -0
  577. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_unique_name.hpp +20 -0
  578. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_unique_ptr.hpp +118 -0
  579. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_void_type.hpp +25 -0
  580. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_wildcard_pattern.cpp +47 -0
  581. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_wildcard_pattern.hpp +38 -0
  582. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_windows_h_proxy.hpp +28 -0
  583. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_xmlwriter.cpp +348 -0
  584. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_xmlwriter.hpp +152 -0
  585. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers.cpp +25 -0
  586. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers.hpp +237 -0
  587. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_all.hpp +36 -0
  588. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_container_properties.cpp +34 -0
  589. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_container_properties.hpp +90 -0
  590. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_contains.hpp +102 -0
  591. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_exception.cpp +26 -0
  592. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_exception.hpp +61 -0
  593. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_floating_point.cpp +241 -0
  594. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_floating_point.hpp +94 -0
  595. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_predicate.cpp +17 -0
  596. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_predicate.hpp +59 -0
  597. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_quantifiers.cpp +24 -0
  598. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_quantifiers.hpp +165 -0
  599. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_range_equals.hpp +144 -0
  600. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_string.cpp +114 -0
  601. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_string.hpp +85 -0
  602. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_templated.cpp +41 -0
  603. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_templated.hpp +296 -0
  604. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_vector.hpp +194 -0
  605. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/internal/catch_matchers_impl.cpp +25 -0
  606. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/internal/catch_matchers_impl.hpp +83 -0
  607. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/meson.build +368 -0
  608. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_automake.cpp +37 -0
  609. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_automake.hpp +38 -0
  610. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_common_base.cpp +49 -0
  611. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_common_base.hpp +79 -0
  612. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_compact.cpp +254 -0
  613. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_compact.hpp +39 -0
  614. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_console.cpp +656 -0
  615. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_console.hpp +67 -0
  616. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_cumulative_base.cpp +159 -0
  617. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_cumulative_base.hpp +151 -0
  618. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_event_listener.cpp +40 -0
  619. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_event_listener.hpp +60 -0
  620. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_helpers.cpp +343 -0
  621. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_helpers.hpp +95 -0
  622. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_junit.cpp +309 -0
  623. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_junit.hpp +58 -0
  624. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_multi.cpp +197 -0
  625. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_multi.hpp +72 -0
  626. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_registrars.cpp +36 -0
  627. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_registrars.hpp +131 -0
  628. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_sonarqube.cpp +162 -0
  629. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_sonarqube.hpp +61 -0
  630. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_streaming_base.cpp +23 -0
  631. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_streaming_base.hpp +73 -0
  632. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_tap.cpp +229 -0
  633. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_tap.hpp +43 -0
  634. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_teamcity.cpp +177 -0
  635. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_teamcity.hpp +66 -0
  636. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_xml.cpp +336 -0
  637. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_xml.hpp +66 -0
  638. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporters_all.hpp +40 -0
  639. package/deps/couchbase-cxx-client/third_party/catch2/tests/CMakeLists.txt +665 -0
  640. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/CMakeLists.txt +554 -0
  641. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/ToDo.txt +10 -0
  642. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X01-PrefixedMacros.cpp +97 -0
  643. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X02-DisabledMacros.cpp +65 -0
  644. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X03-DisabledExceptions-DefaultHandler.cpp +39 -0
  645. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X04-DisabledExceptions-CustomHandler.cpp +40 -0
  646. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X05-DeferredStaticChecks.cpp +21 -0
  647. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X10-FallbackStringifier.cpp +35 -0
  648. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X11-DisableStringification.cpp +27 -0
  649. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X12-CustomDebugBreakMacro.cpp +26 -0
  650. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X21-PartialTestCaseEvents.cpp +74 -0
  651. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X22-BenchmarksInCumulativeReporter.cpp +79 -0
  652. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X23-CasingInReporterNames.cpp +41 -0
  653. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X24-ListenerStdoutCaptureInMultireporter.cpp +40 -0
  654. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X25-ListenerCanAskForCapturedStdout.cpp +47 -0
  655. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X26-ReporterPreferencesForPassingAssertionsIsRespected.cpp +52 -0
  656. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X27-CapturedStdoutInTestCaseEvents.cpp +82 -0
  657. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X28-ListenersGetEventsBeforeReporters.cpp +99 -0
  658. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X29-CustomArgumentsForReporters.cpp +59 -0
  659. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X30-BazelReporter.cpp +17 -0
  660. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X31-DuplicatedTestCases.cpp +16 -0
  661. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X32-DuplicatedTestCasesDifferentTags.cpp +17 -0
  662. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X33-DuplicatedTestCaseMethods.cpp +22 -0
  663. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X34-DuplicatedTestCaseMethodsDifferentFixtures.cpp +27 -0
  664. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X35-DuplicatedReporterNames.cpp +31 -0
  665. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X90-WindowsHeaderInclusion.cpp +21 -0
  666. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X91-AmalgamatedCatch.cpp +38 -0
  667. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X92-NoTests.cpp +11 -0
  668. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X93-AllSkipped.cpp +16 -0
  669. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/automake.sw.approved.txt +420 -0
  670. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/automake.sw.multi.approved.txt +409 -0
  671. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/compact.sw.approved.txt +2544 -0
  672. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/compact.sw.multi.approved.txt +2533 -0
  673. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.std.approved.txt +1538 -0
  674. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.sw.approved.txt +18236 -0
  675. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.sw.multi.approved.txt +18225 -0
  676. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.swa4.approved.txt +956 -0
  677. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/default.sw.multi.approved.txt +11 -0
  678. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/junit.sw.approved.txt +2052 -0
  679. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/junit.sw.multi.approved.txt +2051 -0
  680. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/sonarqube.sw.approved.txt +2071 -0
  681. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/sonarqube.sw.multi.approved.txt +2070 -0
  682. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/tap.sw.approved.txt +4481 -0
  683. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/tap.sw.multi.approved.txt +4470 -0
  684. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/teamcity.sw.approved.txt +998 -0
  685. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/teamcity.sw.multi.approved.txt +997 -0
  686. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/xml.sw.approved.txt +21208 -0
  687. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/xml.sw.multi.approved.txt +21207 -0
  688. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Algorithms.tests.cpp +94 -0
  689. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Clara.tests.cpp +73 -0
  690. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/CmdLine.tests.cpp +467 -0
  691. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/CmdLineHelpers.tests.cpp +111 -0
  692. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/ColourImpl.tests.cpp +64 -0
  693. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Details.tests.cpp +131 -0
  694. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/FloatingPoint.tests.cpp +74 -0
  695. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp +546 -0
  696. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/InternalBenchmark.tests.cpp +447 -0
  697. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Parse.tests.cpp +38 -0
  698. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/PartTracker.tests.cpp +254 -0
  699. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/RandomNumberGeneration.tests.cpp +62 -0
  700. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Reporters.tests.cpp +328 -0
  701. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Sharding.tests.cpp +45 -0
  702. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Stream.tests.cpp +32 -0
  703. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/String.tests.cpp +212 -0
  704. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/StringManip.tests.cpp +83 -0
  705. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Tag.tests.cpp +104 -0
  706. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TestCaseInfoHasher.tests.cpp +72 -0
  707. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp +365 -0
  708. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TestSpecParser.tests.cpp +55 -0
  709. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TextFlow.tests.cpp +200 -0
  710. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/ToString.tests.cpp +97 -0
  711. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Traits.tests.cpp +45 -0
  712. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/UniquePtr.tests.cpp +141 -0
  713. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Xml.tests.cpp +183 -0
  714. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/TestRegistrations.cpp +181 -0
  715. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/TimingTests/Sleep.tests.cpp +24 -0
  716. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Approx.tests.cpp +218 -0
  717. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/BDD.tests.cpp +106 -0
  718. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Benchmark.tests.cpp +173 -0
  719. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Class.tests.cpp +133 -0
  720. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Compilation.tests.cpp +355 -0
  721. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Condition.tests.cpp +334 -0
  722. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Decomposition.tests.cpp +41 -0
  723. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/EnumToString.tests.cpp +108 -0
  724. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Exception.tests.cpp +204 -0
  725. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Generators.tests.cpp +313 -0
  726. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Matchers.tests.cpp +1144 -0
  727. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/MatchersRanges.tests.cpp +917 -0
  728. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Message.tests.cpp +287 -0
  729. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Misc.tests.cpp +553 -0
  730. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Skip.tests.cpp +73 -0
  731. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringByte.tests.cpp +23 -0
  732. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringChrono.tests.cpp +51 -0
  733. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringGeneral.tests.cpp +211 -0
  734. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringOptional.tests.cpp +31 -0
  735. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringPair.tests.cpp +38 -0
  736. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringTuple.tests.cpp +54 -0
  737. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringVariant.tests.cpp +99 -0
  738. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringVector.tests.cpp +94 -0
  739. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringWhich.tests.cpp +186 -0
  740. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Tricky.tests.cpp +380 -0
  741. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/VariadicMacros.tests.cpp +29 -0
  742. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/parse_test_spec.cpp +22 -0
  743. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/parse_test_spec.hpp +20 -0
  744. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/range_test_helpers.hpp +210 -0
  745. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/type_with_lit_0_comparisons.hpp +44 -0
  746. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/ConfigureTestsCommon.py +75 -0
  747. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testBazelReporter.py +104 -0
  748. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testBazelSharding.py +75 -0
  749. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureDefaultReporter.py +41 -0
  750. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureDisable.py +48 -0
  751. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureDisableStringification.py +44 -0
  752. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureExperimentalRedirect.py +49 -0
  753. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testPartialTestCaseEvent.py +79 -0
  754. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testRandomOrder.py +77 -0
  755. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testSharding.py +165 -0
  756. package/deps/couchbase-cxx-client/third_party/catch2/tests/meson.build +76 -0
  757. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/appveyorBuildConfigurationScript.bat +21 -0
  758. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/appveyorMergeCoverageScript.py +9 -0
  759. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/appveyorTestRunScript.bat +17 -0
  760. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/coverage-helper.cpp +142 -0
  761. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/installOpenCppCoverage.ps1 +19 -0
  762. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/approvalTests.py +243 -0
  763. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/approve.py +31 -0
  764. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/buildAndTest.cmd +17 -0
  765. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/buildAndTest.sh +19 -0
  766. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/checkConvenienceHeaders.py +151 -0
  767. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/checkDuplicateFilenames.py +14 -0
  768. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/checkLicense.py +45 -0
  769. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/developBuild.py +9 -0
  770. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/extractFeaturesFromReleaseNotes.py +92 -0
  771. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/fixWhitespace.py +51 -0
  772. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/generateAmalgamatedFiles.py +129 -0
  773. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/majorRelease.py +9 -0
  774. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/minorRelease.py +9 -0
  775. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/patchRelease.py +9 -0
  776. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/releaseCommon.py +143 -0
  777. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/scriptCommon.py +4 -0
  778. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/updateDocumentSnippets.py +23 -0
  779. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/updateDocumentToC.py +447 -0
  780. package/deps/couchbase-cxx-client/third_party/docopt/.travis.yml +103 -0
  781. package/deps/couchbase-cxx-client/third_party/docopt/CMakeLists.txt +129 -0
  782. package/deps/couchbase-cxx-client/third_party/docopt/LICENSE-Boost-1.0 +23 -0
  783. package/deps/couchbase-cxx-client/third_party/docopt/LICENSE-MIT +23 -0
  784. package/deps/couchbase-cxx-client/third_party/docopt/README.rst +479 -0
  785. package/deps/couchbase-cxx-client/third_party/docopt/docopt-config.cmake +1 -0
  786. package/deps/couchbase-cxx-client/third_party/docopt/docopt.cpp +687 -0
  787. package/deps/couchbase-cxx-client/third_party/docopt/docopt.h +98 -0
  788. package/deps/couchbase-cxx-client/third_party/docopt/docopt.pc.in +9 -0
  789. package/deps/couchbase-cxx-client/third_party/docopt/docopt_private.h +676 -0
  790. package/deps/couchbase-cxx-client/third_party/docopt/docopt_util.h +122 -0
  791. package/deps/couchbase-cxx-client/third_party/docopt/docopt_value.h +341 -0
  792. package/deps/couchbase-cxx-client/third_party/docopt/examples/naval_fate.cpp +36 -0
  793. package/deps/couchbase-cxx-client/third_party/docopt/main.cpp +16 -0
  794. package/deps/couchbase-cxx-client/third_party/docopt/run_testcase.cpp +40 -0
  795. package/deps/couchbase-cxx-client/third_party/docopt/run_tests.py +72 -0
  796. package/deps/couchbase-cxx-client/third_party/docopt/testcases.docopt +957 -0
  797. package/deps/couchbase-cxx-client/third_party/snappy/.github/workflows/build.yml +135 -0
  798. package/deps/couchbase-cxx-client/third_party/snappy/.gitmodules +6 -0
  799. package/deps/couchbase-cxx-client/third_party/snappy/CMakeLists.txt +150 -27
  800. package/deps/couchbase-cxx-client/third_party/snappy/CONTRIBUTING.md +9 -4
  801. package/deps/couchbase-cxx-client/third_party/snappy/NEWS +12 -0
  802. package/deps/couchbase-cxx-client/third_party/snappy/README.md +52 -35
  803. package/deps/couchbase-cxx-client/third_party/snappy/cmake/config.h.in +28 -24
  804. package/deps/couchbase-cxx-client/third_party/snappy/snappy-internal.h +189 -25
  805. package/deps/couchbase-cxx-client/third_party/snappy/snappy-sinksource.cc +26 -9
  806. package/deps/couchbase-cxx-client/third_party/snappy/snappy-sinksource.h +11 -11
  807. package/deps/couchbase-cxx-client/third_party/snappy/snappy-stubs-internal.cc +1 -1
  808. package/deps/couchbase-cxx-client/third_party/snappy/snappy-stubs-internal.h +227 -308
  809. package/deps/couchbase-cxx-client/third_party/snappy/snappy-stubs-public.h.in +0 -11
  810. package/deps/couchbase-cxx-client/third_party/snappy/snappy-test.cc +88 -198
  811. package/deps/couchbase-cxx-client/third_party/snappy/snappy-test.h +102 -285
  812. package/deps/couchbase-cxx-client/third_party/snappy/snappy.cc +1176 -410
  813. package/deps/couchbase-cxx-client/third_party/snappy/snappy.h +19 -4
  814. package/deps/couchbase-cxx-client/third_party/snappy/snappy_benchmark.cc +378 -0
  815. package/deps/couchbase-cxx-client/third_party/snappy/snappy_compress_fuzzer.cc +3 -2
  816. package/deps/couchbase-cxx-client/third_party/snappy/snappy_test_data.cc +57 -0
  817. package/deps/couchbase-cxx-client/third_party/snappy/snappy_test_data.h +68 -0
  818. package/deps/couchbase-cxx-client/third_party/snappy/snappy_test_tool.cc +471 -0
  819. package/deps/couchbase-cxx-client/third_party/snappy/snappy_uncompress_fuzzer.cc +3 -2
  820. package/deps/couchbase-cxx-client/third_party/snappy/snappy_unittest.cc +170 -666
  821. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  822. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  823. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/workflows/build-and-test.yml +38 -0
  824. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/workflows/pylint.yml +26 -0
  825. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/workflows/test_bindings.yml +24 -0
  826. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.travis-libcxx-setup.sh +28 -0
  827. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.travis.yml +231 -0
  828. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.ycm_extra_conf.py +115 -0
  829. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/AUTHORS +58 -0
  830. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/BUILD.bazel +44 -0
  831. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/CMakeLists.txt +287 -0
  832. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/CONTRIBUTING.md +58 -0
  833. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/CONTRIBUTORS +83 -0
  834. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/LICENSE +202 -0
  835. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/README.md +1323 -0
  836. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/WORKSPACE +51 -0
  837. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/_config.yml +1 -0
  838. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/appveyor.yml +50 -0
  839. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/BUILD +3 -0
  840. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/build_defs.bzl +25 -0
  841. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/BUILD +38 -0
  842. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/__init__.py +156 -0
  843. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/benchmark.cc +180 -0
  844. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/example.py +136 -0
  845. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/pybind11.BUILD +20 -0
  846. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/python_headers.BUILD +6 -0
  847. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/requirements.txt +2 -0
  848. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/AddCXXCompilerFlag.cmake +74 -0
  849. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/CXXFeatureCheck.cmake +69 -0
  850. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/Config.cmake.in +1 -0
  851. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/GetGitVersion.cmake +54 -0
  852. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/GoogleTest.cmake +41 -0
  853. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/GoogleTest.cmake.in +58 -0
  854. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/benchmark.pc.in +12 -0
  855. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/gnu_posix_regex.cpp +12 -0
  856. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/llvm-toolchain.cmake +8 -0
  857. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/posix_regex.cpp +14 -0
  858. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/split_list.cmake +3 -0
  859. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/std_regex.cpp +10 -0
  860. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/steady_clock.cpp +7 -0
  861. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/thread_safety_attributes.cpp +4 -0
  862. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/CMakeLists.txt +7 -0
  863. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/test_package/CMakeLists.txt +10 -0
  864. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/test_package/conanfile.py +19 -0
  865. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/test_package/test_package.cpp +18 -0
  866. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conanfile.py +79 -0
  867. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/dependencies.md +18 -0
  868. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/AssemblyTests.md +147 -0
  869. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/_config.yml +1 -0
  870. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/releasing.md +16 -0
  871. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/tools.md +203 -0
  872. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/include/benchmark/benchmark.h +1604 -0
  873. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/requirements.txt +2 -0
  874. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/setup.py +140 -0
  875. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/CMakeLists.txt +114 -0
  876. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/arraysize.h +33 -0
  877. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark.cc +499 -0
  878. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_api_internal.cc +15 -0
  879. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_api_internal.h +53 -0
  880. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_main.cc +17 -0
  881. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_name.cc +58 -0
  882. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_register.cc +515 -0
  883. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_register.h +108 -0
  884. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_runner.cc +362 -0
  885. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_runner.h +51 -0
  886. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/check.h +82 -0
  887. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/colorprint.cc +188 -0
  888. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/colorprint.h +33 -0
  889. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/commandlineflags.cc +228 -0
  890. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/commandlineflags.h +103 -0
  891. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/complexity.cc +238 -0
  892. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/complexity.h +55 -0
  893. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/console_reporter.cc +177 -0
  894. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/counter.cc +80 -0
  895. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/counter.h +32 -0
  896. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/csv_reporter.cc +154 -0
  897. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/cycleclock.h +211 -0
  898. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/internal_macros.h +102 -0
  899. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/json_reporter.cc +255 -0
  900. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/log.h +74 -0
  901. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/mutex.h +155 -0
  902. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/re.h +158 -0
  903. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/reporter.cc +105 -0
  904. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/sleep.cc +67 -0
  905. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/sleep.h +15 -0
  906. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/statistics.cc +193 -0
  907. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/statistics.h +37 -0
  908. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/string_util.cc +255 -0
  909. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/string_util.h +59 -0
  910. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/sysinfo.cc +716 -0
  911. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/thread_manager.h +64 -0
  912. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/thread_timer.h +86 -0
  913. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/timers.cc +245 -0
  914. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/timers.h +48 -0
  915. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/AssemblyTests.cmake +46 -0
  916. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/BUILD +73 -0
  917. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/CMakeLists.txt +263 -0
  918. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/args_product_test.cc +77 -0
  919. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/basic_test.cc +136 -0
  920. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/benchmark_gtest.cc +134 -0
  921. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/benchmark_name_gtest.cc +74 -0
  922. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/benchmark_test.cc +245 -0
  923. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/clobber_memory_assembly_test.cc +64 -0
  924. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/commandlineflags_gtest.cc +201 -0
  925. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/complexity_test.cc +213 -0
  926. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/cxx03_test.cc +63 -0
  927. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/diagnostics_test.cc +80 -0
  928. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/display_aggregates_only_test.cc +43 -0
  929. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/donotoptimize_assembly_test.cc +163 -0
  930. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/donotoptimize_test.cc +52 -0
  931. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/filter_test.cc +104 -0
  932. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/fixture_test.cc +51 -0
  933. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/internal_threading_test.cc +184 -0
  934. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/link_main_test.cc +8 -0
  935. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/map_test.cc +57 -0
  936. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/memory_manager_test.cc +44 -0
  937. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/multiple_ranges_test.cc +96 -0
  938. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/options_test.cc +75 -0
  939. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/output_test.h +213 -0
  940. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/output_test_helper.cc +515 -0
  941. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/register_benchmark_test.cc +184 -0
  942. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/report_aggregates_only_test.cc +39 -0
  943. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/reporter_output_test.cc +747 -0
  944. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/skip_with_error_test.cc +195 -0
  945. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/state_assembly_test.cc +68 -0
  946. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/statistics_gtest.cc +28 -0
  947. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/string_util_gtest.cc +153 -0
  948. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/templated_fixture_test.cc +28 -0
  949. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/user_counters_tabular_test.cc +285 -0
  950. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/user_counters_test.cc +531 -0
  951. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/user_counters_thousands_test.cc +173 -0
  952. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/BUILD.bazel +19 -0
  953. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/compare.py +429 -0
  954. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test1_run1.json +119 -0
  955. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test1_run2.json +119 -0
  956. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test2_run.json +81 -0
  957. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test3_run0.json +65 -0
  958. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test3_run1.json +65 -0
  959. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/__init__.py +8 -0
  960. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/report.py +903 -0
  961. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/util.py +163 -0
  962. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/requirements.txt +1 -0
  963. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/strip_asm.py +151 -0
  964. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/.travis.yml +65 -0
  965. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/BUILD.bazel +182 -0
  966. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/CMakeLists.txt +32 -0
  967. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/CONTRIBUTING.md +142 -0
  968. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/LICENSE +28 -0
  969. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/README.md +135 -0
  970. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/WORKSPACE +30 -0
  971. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/appveyor.yml +156 -0
  972. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/build-linux-bazel.sh +36 -0
  973. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/build-platformio.sh +2 -0
  974. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/env-linux.sh +41 -0
  975. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/env-osx.sh +41 -0
  976. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/get-nprocessors.sh +48 -0
  977. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/install-linux.sh +49 -0
  978. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/install-osx.sh +39 -0
  979. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/install-platformio.sh +5 -0
  980. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/log-config.sh +47 -0
  981. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/travis.sh +29 -0
  982. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/CMakeLists.txt +219 -0
  983. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/CONTRIBUTORS +40 -0
  984. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/LICENSE +28 -0
  985. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/README.md +44 -0
  986. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/cmake/gmock.pc.in +10 -0
  987. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/cmake/gmock_main.pc.in +10 -0
  988. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/cheat_sheet.md +786 -0
  989. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/community_created_documentation.md +9 -0
  990. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/cook_book.md +4276 -0
  991. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/for_dummies.md +702 -0
  992. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/gmock_faq.md +398 -0
  993. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/pump_manual.md +189 -0
  994. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-actions.h +1688 -0
  995. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-cardinalities.h +157 -0
  996. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-function-mocker.h +479 -0
  997. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h +577 -0
  998. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump +390 -0
  999. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-matchers.h +5394 -0
  1000. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-more-matchers.h +92 -0
  1001. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-nice-strict.h +230 -0
  1002. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-spec-builders.h +2030 -0
  1003. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock.h +98 -0
  1004. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/README.md +16 -0
  1005. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +10 -0
  1006. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +12 -0
  1007. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +36 -0
  1008. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +39 -0
  1009. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +459 -0
  1010. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/gmock-port.h +87 -0
  1011. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/gmock-pp.h +279 -0
  1012. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/README.md +5 -0
  1013. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/fuse_gmock_files.py +257 -0
  1014. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/LICENSE +203 -0
  1015. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/README +34 -0
  1016. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/README.cppclean +115 -0
  1017. package/deps/couchbase-cxx-client/{core/CMakeLists.txt → third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/__init__.py} +0 -0
  1018. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/ast.py +1772 -0
  1019. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class.py +245 -0
  1020. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py +552 -0
  1021. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/keywords.py +56 -0
  1022. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/tokenize.py +284 -0
  1023. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/utils.py +37 -0
  1024. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/gmock_gen.py +30 -0
  1025. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/pump.py +856 -0
  1026. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-all.cc +46 -0
  1027. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-cardinalities.cc +155 -0
  1028. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-internal-utils.cc +200 -0
  1029. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-matchers.cc +459 -0
  1030. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-spec-builders.cc +908 -0
  1031. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock.cc +213 -0
  1032. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock_main.cc +72 -0
  1033. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/BUILD.bazel +111 -0
  1034. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-actions_test.cc +1583 -0
  1035. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-cardinalities_test.cc +429 -0
  1036. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-function-mocker_nc.cc +16 -0
  1037. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-function-mocker_nc_test.py +43 -0
  1038. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-function-mocker_test.cc +974 -0
  1039. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-generated-actions_test.cc +1036 -0
  1040. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-internal-utils_test.cc +720 -0
  1041. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-matchers_test.cc +8562 -0
  1042. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-more-actions_test.cc +725 -0
  1043. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-nice-strict_test.cc +500 -0
  1044. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-port_test.cc +42 -0
  1045. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-pp-string_test.cc +206 -0
  1046. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-pp_test.cc +83 -0
  1047. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-spec-builders_test.cc +2775 -0
  1048. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_all_test.cc +47 -0
  1049. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_ex_test.cc +80 -0
  1050. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_leak_test.py +104 -0
  1051. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_leak_test_.cc +99 -0
  1052. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_link2_test.cc +39 -0
  1053. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_link_test.cc +39 -0
  1054. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_link_test.h +690 -0
  1055. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_output_test.py +183 -0
  1056. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_output_test_.cc +309 -0
  1057. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_output_test_golden.txt +317 -0
  1058. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_stress_test.cc +240 -0
  1059. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_test.cc +181 -0
  1060. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_test_utils.py +108 -0
  1061. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/pump_test.py +182 -0
  1062. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/CMakeLists.txt +320 -0
  1063. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/CONTRIBUTORS +38 -0
  1064. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/LICENSE +28 -0
  1065. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/README.md +262 -0
  1066. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/Config.cmake.in +9 -0
  1067. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/gtest.pc.in +9 -0
  1068. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/gtest_main.pc.in +10 -0
  1069. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/internal_utils.cmake +341 -0
  1070. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/libgtest.la.in +21 -0
  1071. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/advanced.md +2640 -0
  1072. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/faq.md +771 -0
  1073. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/pkgconfig.md +150 -0
  1074. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/primer.md +583 -0
  1075. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/samples.md +22 -0
  1076. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-death-test.h +342 -0
  1077. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-matchers.h +756 -0
  1078. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-message.h +219 -0
  1079. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-param-test.h +512 -0
  1080. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-printers.h +903 -0
  1081. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-spi.h +238 -0
  1082. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-test-part.h +184 -0
  1083. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-typed-test.h +337 -0
  1084. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest.h +2491 -0
  1085. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest_pred_impl.h +359 -0
  1086. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest_prod.h +61 -0
  1087. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/README.md +56 -0
  1088. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/gtest-port.h +37 -0
  1089. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  1090. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/gtest.h +37 -0
  1091. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +304 -0
  1092. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-filepath.h +211 -0
  1093. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h +1564 -0
  1094. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-param-util.h +947 -0
  1095. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-port-arch.h +112 -0
  1096. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-port.h +2371 -0
  1097. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-string.h +175 -0
  1098. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-type-util.h +187 -0
  1099. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/prime_tables.h +126 -0
  1100. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample1.cc +66 -0
  1101. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample1.h +41 -0
  1102. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample10_unittest.cc +139 -0
  1103. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample1_unittest.cc +151 -0
  1104. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample2.cc +54 -0
  1105. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample2.h +81 -0
  1106. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample2_unittest.cc +107 -0
  1107. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample3-inl.h +172 -0
  1108. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample3_unittest.cc +149 -0
  1109. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample4.cc +54 -0
  1110. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample4.h +53 -0
  1111. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample4_unittest.cc +53 -0
  1112. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample5_unittest.cc +196 -0
  1113. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample6_unittest.cc +224 -0
  1114. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample7_unittest.cc +117 -0
  1115. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample8_unittest.cc +154 -0
  1116. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample9_unittest.cc +156 -0
  1117. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/README.md +5 -0
  1118. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/common.py +83 -0
  1119. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/fuse_gtest_files.py +253 -0
  1120. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/gen_gtest_pred_impl.py +733 -0
  1121. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/gtest-config.in +274 -0
  1122. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/release_docs.py +158 -0
  1123. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/run_with_path.py +32 -0
  1124. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/upload.py +1402 -0
  1125. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/upload_gtest.py +78 -0
  1126. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-all.cc +48 -0
  1127. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-death-test.cc +1644 -0
  1128. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-filepath.cc +368 -0
  1129. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-internal-inl.h +1228 -0
  1130. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-matchers.cc +97 -0
  1131. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-port.cc +1404 -0
  1132. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-printers.cc +444 -0
  1133. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-test-part.cc +108 -0
  1134. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-typed-test.cc +111 -0
  1135. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest.cc +6606 -0
  1136. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest_main.cc +54 -0
  1137. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/BUILD.bazel +562 -0
  1138. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-break-on-failure-unittest.py +208 -0
  1139. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-break-on-failure-unittest_.cc +86 -0
  1140. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-catch-exceptions-test.py +236 -0
  1141. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-catch-exceptions-test_.cc +293 -0
  1142. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-color-test.py +127 -0
  1143. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-color-test_.cc +62 -0
  1144. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-death-test-test.cc +1542 -0
  1145. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-death-test_ex_test.cc +92 -0
  1146. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-env-var-test.py +120 -0
  1147. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-env-var-test_.cc +132 -0
  1148. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-failfast-unittest.py +410 -0
  1149. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-failfast-unittest_.cc +167 -0
  1150. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-filepath-test.cc +649 -0
  1151. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-filter-unittest.py +639 -0
  1152. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-filter-unittest_.cc +137 -0
  1153. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-json-outfiles-test.py +191 -0
  1154. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-json-output-unittest.py +804 -0
  1155. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-list-tests-unittest.py +205 -0
  1156. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-list-tests-unittest_.cc +156 -0
  1157. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-listener-test.cc +518 -0
  1158. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-message-test.cc +158 -0
  1159. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-options-test.cc +216 -0
  1160. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-output-test-golden-lin.txt +1180 -0
  1161. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-output-test.py +346 -0
  1162. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-output-test_.cc +1126 -0
  1163. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
  1164. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc +50 -0
  1165. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
  1166. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc +55 -0
  1167. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-test.cc +1119 -0
  1168. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-test.h +51 -0
  1169. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test2-test.cc +61 -0
  1170. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-port-test.cc +1280 -0
  1171. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-printers-test.cc +1847 -0
  1172. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-setuptestsuite-test.py +54 -0
  1173. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-setuptestsuite-test_.cc +49 -0
  1174. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-shuffle-test.py +323 -0
  1175. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-shuffle-test_.cc +101 -0
  1176. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-test-part-test.cc +230 -0
  1177. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-throw-on-failure-test.py +168 -0
  1178. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
  1179. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-uninitialized-test.py +67 -0
  1180. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-uninitialized-test_.cc +42 -0
  1181. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-typed-test2_test.cc +44 -0
  1182. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-typed-test_test.cc +462 -0
  1183. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-typed-test_test.h +65 -0
  1184. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-unittest-api_test.cc +341 -0
  1185. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_all_test.cc +46 -0
  1186. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_assert_by_exception_test.cc +116 -0
  1187. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_environment_test.cc +188 -0
  1188. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_help_test.py +171 -0
  1189. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_help_test_.cc +45 -0
  1190. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_json_test_utils.py +60 -0
  1191. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_list_output_unittest.py +286 -0
  1192. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_list_output_unittest_.cc +81 -0
  1193. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_main_unittest.cc +44 -0
  1194. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_no_test_unittest.cc +54 -0
  1195. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_pred_impl_unittest.cc +2422 -0
  1196. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_premature_exit_test.cc +126 -0
  1197. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_prod_test.cc +56 -0
  1198. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_repeat_test.cc +233 -0
  1199. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_check_output_test.py +59 -0
  1200. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
  1201. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_in_environment_setup_test.cc +49 -0
  1202. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_test.cc +55 -0
  1203. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_sole_header_test.cc +56 -0
  1204. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_stress_test.cc +248 -0
  1205. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
  1206. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_test_utils.py +312 -0
  1207. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_testbridge_test.py +63 -0
  1208. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_testbridge_test_.cc +43 -0
  1209. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc +90 -0
  1210. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_unittest.cc +7792 -0
  1211. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_outfile1_test_.cc +43 -0
  1212. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_outfile2_test_.cc +43 -0
  1213. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_outfiles_test.py +135 -0
  1214. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_output_unittest.py +405 -0
  1215. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_output_unittest_.cc +197 -0
  1216. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_test_utils.py +197 -0
  1217. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/production.cc +35 -0
  1218. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/production.h +54 -0
  1219. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/library.json +62 -0
  1220. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/platformio.ini +47 -0
  1221. package/deps/couchbase-cxx-client/tools/CMakeLists.txt +16 -0
  1222. package/deps/couchbase-cxx-client/tools/analytics.cxx +375 -0
  1223. package/deps/couchbase-cxx-client/tools/analytics.hxx +26 -0
  1224. package/deps/couchbase-cxx-client/tools/cbc.cxx +72 -0
  1225. package/deps/couchbase-cxx-client/tools/command.hxx +31 -0
  1226. package/deps/couchbase-cxx-client/tools/command_registry.cxx +47 -0
  1227. package/deps/couchbase-cxx-client/tools/command_registry.hxx +39 -0
  1228. package/deps/couchbase-cxx-client/tools/get.cxx +263 -0
  1229. package/deps/couchbase-cxx-client/tools/get.hxx +26 -0
  1230. package/deps/couchbase-cxx-client/tools/pillowfight.cxx +396 -0
  1231. package/deps/couchbase-cxx-client/tools/pillowfight.hxx +26 -0
  1232. package/deps/couchbase-cxx-client/tools/query.cxx +437 -0
  1233. package/deps/couchbase-cxx-client/tools/query.hxx +26 -0
  1234. package/deps/couchbase-cxx-client/tools/utils.cxx +432 -0
  1235. package/deps/couchbase-cxx-client/tools/utils.hxx +153 -0
  1236. package/deps/couchbase-cxx-client/tools/version.cxx +82 -0
  1237. package/deps/couchbase-cxx-client/tools/version.hxx +26 -0
  1238. package/dist/authenticators.d.ts +3 -3
  1239. package/dist/authenticators.js +1 -2
  1240. package/dist/binding.d.ts +56 -25
  1241. package/dist/bindingutilities.d.ts +6 -2
  1242. package/dist/bindingutilities.js +39 -7
  1243. package/dist/cluster.d.ts +27 -0
  1244. package/dist/cluster.js +102 -63
  1245. package/dist/collection.d.ts +6 -0
  1246. package/dist/collection.js +14 -6
  1247. package/dist/configProfile.js +16 -10
  1248. package/dist/couchbase.d.ts +1 -0
  1249. package/dist/couchbase.js +2 -1
  1250. package/dist/errors.d.ts +2 -2
  1251. package/dist/errors.js +4 -4
  1252. package/dist/queryexecutor.js +1 -1
  1253. package/dist/queryindexmanager.d.ts +100 -4
  1254. package/dist/queryindexmanager.js +344 -118
  1255. package/dist/scope.js +6 -6
  1256. package/dist/sdspecs.js +11 -11
  1257. package/dist/searchquery.d.ts +1 -1
  1258. package/dist/streamablepromises.d.ts +1 -1
  1259. package/dist/transactions.js +5 -3
  1260. package/dist/usermanager.js +9 -9
  1261. package/dist/viewindexmanager.js +8 -8
  1262. package/package.json +1 -1
  1263. package/src/binding.cpp +2 -0
  1264. package/src/connection.cpp +2 -0
  1265. package/src/connection.hpp +1 -0
  1266. package/src/connection_autogen.cpp +16 -0
  1267. package/src/jstocbpp_autogen.hpp +93 -27
  1268. package/src/jstocbpp_basic.hpp +32 -2
  1269. package/src/jstocbpp_errors.hpp +35 -0
  1270. package/src/jstocbpp_transactions.hpp +61 -17
  1271. package/src/transaction.cpp +1 -1
  1272. package/tools/gen-bindings-js.js +1 -0
  1273. package/tools/gen-bindings-json.py +4 -2
  1274. package/deps/couchbase-cxx-client/core/config_profile.cxx +0 -25
  1275. package/deps/couchbase-cxx-client/core/management/query_index.hxx +0 -39
  1276. package/deps/couchbase-cxx-client/core/transactions/logging.cxx +0 -107
  1277. package/deps/couchbase-cxx-client/test/test_transaction_transaction_context.cxx +0 -550
  1278. package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_async_api.cxx +0 -392
  1279. package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_blocking_api.cxx +0 -628
  1280. package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple.cxx +0 -899
  1281. package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple_async.cxx +0 -972
  1282. package/deps/couchbase-cxx-client/test/tools/CMakeLists.txt +0 -10
  1283. package/deps/couchbase-cxx-client/test/tools/tool_kv_loader.cxx +0 -349
  1284. package/deps/couchbase-cxx-client/test/utils/uniq_id.cxx +0 -29
  1285. package/deps/couchbase-cxx-client/test/utils/uniq_id.hxx +0 -26
  1286. package/deps/couchbase-cxx-client/third_party/catch2/.travis.yml +0 -335
  1287. package/deps/couchbase-cxx-client/third_party/catch2/CMake/MiscFunctions.cmake +0 -26
  1288. package/deps/couchbase-cxx-client/third_party/catch2/WORKSPACE +0 -0
  1289. package/deps/couchbase-cxx-client/third_party/catch2/contrib/Catch.cmake +0 -206
  1290. package/deps/couchbase-cxx-client/third_party/catch2/contrib/CatchAddTests.cmake +0 -135
  1291. package/deps/couchbase-cxx-client/third_party/catch2/docs/slow-compiles.md +0 -106
  1292. package/deps/couchbase-cxx-client/third_party/catch2/examples/000-CatchMain.cpp +0 -15
  1293. package/deps/couchbase-cxx-client/third_party/catch2/examples/200-Rpt-CatchMain.cpp +0 -27
  1294. package/deps/couchbase-cxx-client/third_party/catch2/examples/207-Rpt-TeamCityReporter.cpp +0 -171
  1295. package/deps/couchbase-cxx-client/third_party/catch2/include/catch.hpp +0 -496
  1296. package/deps/couchbase-cxx-client/third_party/catch2/include/catch_with_main.hpp +0 -14
  1297. package/deps/couchbase-cxx-client/third_party/catch2/include/external/clara.hpp +0 -1268
  1298. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_benchmark.hpp +0 -122
  1299. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_benchmarking_all.hpp +0 -29
  1300. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_chronometer.hpp +0 -71
  1301. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_clock.hpp +0 -40
  1302. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_constructor.hpp +0 -79
  1303. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_environment.hpp +0 -38
  1304. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_estimate.hpp +0 -31
  1305. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_execution_plan.hpp +0 -59
  1306. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_optimizer.hpp +0 -68
  1307. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_outlier_classification.hpp +0 -29
  1308. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_sample_analysis.hpp +0 -50
  1309. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_analyse.hpp +0 -78
  1310. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_benchmark_function.hpp +0 -105
  1311. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_complete_invoke.hpp +0 -68
  1312. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_estimate_clock.hpp +0 -115
  1313. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_measure.hpp +0 -35
  1314. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_repeat.hpp +0 -37
  1315. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_run_for_at_least.hpp +0 -65
  1316. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_stats.cpp +0 -224
  1317. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_stats.hpp +0 -160
  1318. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_timing.hpp +0 -33
  1319. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_approx.cpp +0 -88
  1320. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_approx.h +0 -132
  1321. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionhandler.cpp +0 -122
  1322. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionhandler.h +0 -88
  1323. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertioninfo.h +0 -31
  1324. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionresult.cpp +0 -104
  1325. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionresult.h +0 -59
  1326. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_capture.hpp +0 -159
  1327. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_capture_matchers.cpp +0 -24
  1328. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_capture_matchers.h +0 -88
  1329. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_clara.h +0 -38
  1330. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_commandline.cpp +0 -230
  1331. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_commandline.h +0 -20
  1332. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_common.cpp +0 -43
  1333. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_common.h +0 -92
  1334. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_compiler_capabilities.h +0 -377
  1335. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_config.cpp +0 -86
  1336. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_config.hpp +0 -133
  1337. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_config_uncaught_exceptions.hpp +0 -44
  1338. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_console_colour.cpp +0 -243
  1339. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_console_colour.h +0 -69
  1340. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_context.cpp +0 -70
  1341. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_context.h +0 -64
  1342. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debug_console.cpp +0 -41
  1343. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debug_console.h +0 -17
  1344. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debugger.cpp +0 -122
  1345. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debugger.h +0 -65
  1346. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_decomposer.cpp +0 -24
  1347. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_decomposer.h +0 -259
  1348. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_default_main.hpp +0 -47
  1349. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enforce.cpp +0 -40
  1350. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enforce.h +0 -53
  1351. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enum_values_registry.cpp +0 -75
  1352. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enum_values_registry.h +0 -35
  1353. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_errno_guard.cpp +0 -15
  1354. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_errno_guard.h +0 -22
  1355. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_exception_translator_registry.cpp +0 -89
  1356. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_exception_translator_registry.h +0 -30
  1357. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_external_interfaces.h +0 -20
  1358. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_fatal_condition.cpp +0 -244
  1359. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_fatal_condition.h +0 -68
  1360. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators.cpp +0 -32
  1361. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators.hpp +0 -219
  1362. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators_generic.hpp +0 -237
  1363. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators_specific.hpp +0 -175
  1364. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_impl.hpp +0 -33
  1365. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_capture.cpp +0 -5
  1366. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_capture.h +0 -100
  1367. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_config.cpp +0 -5
  1368. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_config.h +0 -92
  1369. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_enum_values_registry.h +0 -46
  1370. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_exception.cpp +0 -6
  1371. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_exception.h +0 -88
  1372. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_generatortracker.h +0 -39
  1373. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_registry_hub.cpp +0 -6
  1374. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_registry_hub.h +0 -61
  1375. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_reporter.cpp +0 -114
  1376. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_reporter.h +0 -272
  1377. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_runner.cpp +0 -5
  1378. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_runner.h +0 -19
  1379. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_tag_alias_registry.h +0 -28
  1380. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_testcase.cpp +0 -6
  1381. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_testcase.h +0 -38
  1382. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_leak_detector.cpp +0 -37
  1383. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_leak_detector.h +0 -18
  1384. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_list.cpp +0 -173
  1385. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_list.h +0 -38
  1386. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers.cpp +0 -28
  1387. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers.h +0 -174
  1388. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_exception.cpp +0 -30
  1389. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_exception.hpp +0 -36
  1390. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_floating.cpp +0 -237
  1391. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_floating.h +0 -70
  1392. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_generic.cpp +0 -9
  1393. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_generic.hpp +0 -58
  1394. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_string.cpp +0 -118
  1395. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_string.h +0 -80
  1396. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_vector.h +0 -180
  1397. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_message.cpp +0 -142
  1398. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_message.h +0 -99
  1399. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_meta.hpp +0 -50
  1400. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_objc.hpp +0 -215
  1401. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_objc_arc.hpp +0 -51
  1402. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_option.hpp +0 -73
  1403. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_output_redirect.cpp +0 -147
  1404. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_output_redirect.h +0 -116
  1405. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_platform.h +0 -30
  1406. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_polyfills.cpp +0 -31
  1407. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_polyfills.hpp +0 -15
  1408. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_preprocessor.hpp +0 -237
  1409. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_random_number_generator.cpp +0 -73
  1410. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_random_number_generator.h +0 -58
  1411. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reenable_warnings.h +0 -21
  1412. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_registry_hub.cpp +0 -99
  1413. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reporter_registrars.hpp +0 -78
  1414. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reporter_registry.cpp +0 -34
  1415. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reporter_registry.h +0 -37
  1416. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_result_type.cpp +0 -27
  1417. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_result_type.h +0 -55
  1418. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_run_context.cpp +0 -595
  1419. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_run_context.h +0 -159
  1420. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section.cpp +0 -38
  1421. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section.h +0 -51
  1422. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section_info.cpp +0 -19
  1423. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section_info.h +0 -42
  1424. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_session.cpp +0 -313
  1425. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_session.h +0 -62
  1426. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_singletons.cpp +0 -36
  1427. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_singletons.hpp +0 -44
  1428. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_startup_exception_registry.cpp +0 -28
  1429. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_startup_exception_registry.h +0 -29
  1430. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stream.cpp +0 -187
  1431. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stream.h +0 -51
  1432. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_string_manip.cpp +0 -109
  1433. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_string_manip.h +0 -45
  1434. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stringref.cpp +0 -50
  1435. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stringref.h +0 -104
  1436. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_suppress_warnings.h +0 -27
  1437. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias.cpp +0 -5
  1438. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias.h +0 -26
  1439. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_autoregistrar.cpp +0 -16
  1440. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_autoregistrar.h +0 -26
  1441. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_registry.cpp +0 -58
  1442. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_registry.h +0 -31
  1443. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_info.cpp +0 -186
  1444. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_info.h +0 -90
  1445. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_registry_impl.cpp +0 -176
  1446. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_registry_impl.h +0 -71
  1447. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_tracker.cpp +0 -254
  1448. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_tracker.h +0 -180
  1449. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_registry.cpp +0 -37
  1450. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_registry.h +0 -402
  1451. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec.cpp +0 -99
  1452. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec.h +0 -94
  1453. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec_parser.cpp +0 -240
  1454. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec_parser.h +0 -79
  1455. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_text.h +0 -17
  1456. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_timer.cpp +0 -74
  1457. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_timer.h +0 -30
  1458. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_to_string.hpp +0 -28
  1459. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tostring.cpp +0 -265
  1460. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tostring.h +0 -675
  1461. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_totals.cpp +0 -61
  1462. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_totals.h +0 -41
  1463. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_uncaught_exceptions.cpp +0 -25
  1464. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_uncaught_exceptions.h +0 -15
  1465. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_user_interfaces.h +0 -18
  1466. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_version.cpp +0 -44
  1467. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_version.h +0 -39
  1468. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_wildcard_pattern.cpp +0 -47
  1469. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_wildcard_pattern.h +0 -38
  1470. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_windows_h_proxy.h +0 -39
  1471. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_xmlwriter.cpp +0 -334
  1472. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_xmlwriter.h +0 -116
  1473. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_automake.hpp +0 -62
  1474. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_bases.cpp +0 -84
  1475. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_bases.hpp +0 -285
  1476. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_compact.cpp +0 -290
  1477. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_compact.h +0 -39
  1478. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_console.cpp +0 -700
  1479. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_console.h +0 -89
  1480. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_junit.cpp +0 -300
  1481. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_junit.h +0 -62
  1482. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_listening.cpp +0 -164
  1483. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_listening.h +0 -63
  1484. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_sonarqube.hpp +0 -181
  1485. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_tap.hpp +0 -254
  1486. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_teamcity.hpp +0 -219
  1487. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_xml.cpp +0 -281
  1488. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_xml.h +0 -68
  1489. package/deps/couchbase-cxx-client/third_party/catch2/misc/appveyorBuildConfigurationScript.bat +0 -22
  1490. package/deps/couchbase-cxx-client/third_party/catch2/misc/appveyorMergeCoverageScript.py +0 -9
  1491. package/deps/couchbase-cxx-client/third_party/catch2/misc/appveyorTestRunScript.bat +0 -15
  1492. package/deps/couchbase-cxx-client/third_party/catch2/misc/coverage-helper.cpp +0 -142
  1493. package/deps/couchbase-cxx-client/third_party/catch2/misc/installOpenCppCoverage.ps1 +0 -19
  1494. package/deps/couchbase-cxx-client/third_party/catch2/projects/CMakeLists.txt +0 -492
  1495. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/CMakeLists.txt +0 -201
  1496. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/ToDo.txt +0 -11
  1497. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X01-PrefixedMacros.cpp +0 -84
  1498. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X02-DisabledMacros.cpp +0 -31
  1499. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X03-DisabledExceptions-DefaultHandler.cpp +0 -23
  1500. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X04-DisabledExceptions-CustomHandler.cpp +0 -33
  1501. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X10-FallbackStringifier.cpp +0 -23
  1502. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X11-DisableStringification.cpp +0 -16
  1503. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X12-CustomDebugBreakMacro.cpp +0 -17
  1504. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X20-BenchmarkingMacros.cpp +0 -125
  1505. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X90-WindowsHeaderInclusion.cpp +0 -12
  1506. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/compact.sw.approved.txt +0 -1903
  1507. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/console.std.approved.txt +0 -1425
  1508. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/console.sw.approved.txt +0 -14183
  1509. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/console.swa4.approved.txt +0 -936
  1510. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/junit.sw.approved.txt +0 -1773
  1511. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/sonarqube.sw.approved.txt +0 -1777
  1512. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/xml.sw.approved.txt +0 -16767
  1513. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/CompileTimePerfTests/10.tests.cpp +0 -13
  1514. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/CompileTimePerfTests/100.tests.cpp +0 -13
  1515. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/CompileTimePerfTests/All.tests.cpp +0 -15
  1516. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/CmdLine.tests.cpp +0 -582
  1517. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/Details.tests.cpp +0 -23
  1518. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp +0 -352
  1519. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/InternalBenchmark.tests.cpp +0 -405
  1520. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/PartTracker.tests.cpp +0 -253
  1521. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/RandomNumberGeneration.tests.cpp +0 -45
  1522. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/String.tests.cpp +0 -150
  1523. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/StringManip.tests.cpp +0 -67
  1524. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/Tag.tests.cpp +0 -54
  1525. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/ToString.tests.cpp +0 -53
  1526. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/Xml.tests.cpp +0 -114
  1527. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_console_colour.cpp +0 -3
  1528. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_debugger.cpp +0 -2
  1529. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_interfaces_reporter.cpp +0 -2
  1530. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_option.cpp +0 -3
  1531. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_stream.cpp +0 -3
  1532. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_test_case_tracker.cpp +0 -2
  1533. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_test_spec.cpp +0 -3
  1534. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_xmlwriter.cpp +0 -4
  1535. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/TestMain.cpp +0 -34
  1536. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/TimingTests/Sleep.tests.cpp +0 -23
  1537. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Approx.tests.cpp +0 -215
  1538. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/BDD.tests.cpp +0 -110
  1539. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Benchmark.tests.cpp +0 -144
  1540. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Class.tests.cpp +0 -137
  1541. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Compilation.tests.cpp +0 -269
  1542. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Condition.tests.cpp +0 -347
  1543. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Decomposition.tests.cpp +0 -39
  1544. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/EnumToString.tests.cpp +0 -99
  1545. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Exception.tests.cpp +0 -210
  1546. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Generators.tests.cpp +0 -271
  1547. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Matchers.tests.cpp +0 -676
  1548. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Message.tests.cpp +0 -269
  1549. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Misc.tests.cpp +0 -493
  1550. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringByte.tests.cpp +0 -15
  1551. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringChrono.tests.cpp +0 -44
  1552. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringGeneral.tests.cpp +0 -210
  1553. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringOptional.tests.cpp +0 -23
  1554. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringPair.tests.cpp +0 -30
  1555. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringTuple.tests.cpp +0 -47
  1556. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringVariant.tests.cpp +0 -91
  1557. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringVector.tests.cpp +0 -86
  1558. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringWhich.tests.cpp +0 -193
  1559. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Tricky.tests.cpp +0 -429
  1560. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/VariadicMacros.tests.cpp +0 -29
  1561. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/WarnAboutNoTests.cmake +0 -19
  1562. package/deps/couchbase-cxx-client/third_party/catch2/projects/TestScripts/testRandomOrder.py +0 -59
  1563. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/CatchOCTestCase.h +0 -25
  1564. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/CatchOCTestCase.mm +0 -87
  1565. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/Main.mm +0 -2
  1566. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/OCTest.1 +0 -79
  1567. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/OCTest.mm +0 -28
  1568. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/TestObj.h +0 -28
  1569. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/TestObj.m +0 -25
  1570. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest.xcodeproj/project.pbxproj +0 -294
  1571. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  1572. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  1573. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/catch_objc_impl.mm +0 -69
  1574. package/deps/couchbase-cxx-client/third_party/catch2/scripts/approvalTests.py +0 -217
  1575. package/deps/couchbase-cxx-client/third_party/catch2/scripts/approve.py +0 -33
  1576. package/deps/couchbase-cxx-client/third_party/catch2/scripts/benchmarkCompile.py +0 -148
  1577. package/deps/couchbase-cxx-client/third_party/catch2/scripts/benchmarkRunner.py +0 -56
  1578. package/deps/couchbase-cxx-client/third_party/catch2/scripts/developBuild.py +0 -10
  1579. package/deps/couchbase-cxx-client/third_party/catch2/scripts/embed.py +0 -63
  1580. package/deps/couchbase-cxx-client/third_party/catch2/scripts/embedClara.py +0 -27
  1581. package/deps/couchbase-cxx-client/third_party/catch2/scripts/extractFeaturesFromReleaseNotes.py +0 -94
  1582. package/deps/couchbase-cxx-client/third_party/catch2/scripts/fixWhitespace.py +0 -52
  1583. package/deps/couchbase-cxx-client/third_party/catch2/scripts/generateSingleHeader.py +0 -151
  1584. package/deps/couchbase-cxx-client/third_party/catch2/scripts/majorRelease.py +0 -10
  1585. package/deps/couchbase-cxx-client/third_party/catch2/scripts/minorRelease.py +0 -10
  1586. package/deps/couchbase-cxx-client/third_party/catch2/scripts/patchRelease.py +0 -10
  1587. package/deps/couchbase-cxx-client/third_party/catch2/scripts/releaseCommon.py +0 -168
  1588. package/deps/couchbase-cxx-client/third_party/catch2/scripts/releaseNotes.py +0 -65
  1589. package/deps/couchbase-cxx-client/third_party/catch2/scripts/scriptCommon.py +0 -31
  1590. package/deps/couchbase-cxx-client/third_party/catch2/scripts/updateDocumentToC.py +0 -449
  1591. package/deps/couchbase-cxx-client/third_party/catch2/scripts/updateWandbox.py +0 -53
  1592. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch.hpp +0 -17959
  1593. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_automake.hpp +0 -62
  1594. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_sonarqube.hpp +0 -181
  1595. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_tap.hpp +0 -254
  1596. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_teamcity.hpp +0 -219
  1597. package/deps/couchbase-cxx-client/third_party/catch2/src/catch_with_main.cpp +0 -2
  1598. package/deps/couchbase-cxx-client/third_party/snappy/.appveyor.yml +0 -36
  1599. package/deps/couchbase-cxx-client/third_party/snappy/.travis.yml +0 -94
  1600. /package/deps/couchbase-cxx-client/third_party/catch2/{artwork → data/artwork}/catch2-c-logo.png +0 -0
  1601. /package/deps/couchbase-cxx-client/third_party/catch2/{artwork → data/artwork}/catch2-hand-logo.png +0 -0
  1602. /package/deps/couchbase-cxx-client/third_party/catch2/{artwork → data/artwork}/catch2-logo-small.png +0 -0
  1603. /package/deps/couchbase-cxx-client/third_party/catch2/{contrib → extras}/ParseAndAddCatchTests.cmake +0 -0
  1604. /package/deps/couchbase-cxx-client/third_party/catch2/{contrib → extras}/gdbinit +0 -0
  1605. /package/deps/couchbase-cxx-client/third_party/catch2/{contrib → extras}/lldbinit +0 -0
  1606. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Baselines/automake.std.approved.txt +0 -0
  1607. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Misc/invalid-test-names.input +0 -0
  1608. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Misc/plain-old-tests.input +0 -0
  1609. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Misc/special-characters-in-file.input +0 -0
  1610. /package/deps/couchbase-cxx-client/third_party/catch2/{misc → tools/misc}/CMakeLists.txt +0 -0
@@ -0,0 +1,2491 @@
1
+ // Copyright 2005, 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
+ // The Google C++ Testing and Mocking Framework (Google Test)
32
+ //
33
+ // This header file defines the public API for Google Test. It should be
34
+ // included by any test program that uses Google Test.
35
+ //
36
+ // IMPORTANT NOTE: Due to limitation of the C++ language, we have to
37
+ // leave some internal implementation details in this header file.
38
+ // They are clearly marked by comments like this:
39
+ //
40
+ // // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
41
+ //
42
+ // Such code is NOT meant to be used by a user directly, and is subject
43
+ // to CHANGE WITHOUT NOTICE. Therefore DO NOT DEPEND ON IT in a user
44
+ // program!
45
+ //
46
+ // Acknowledgment: Google Test borrowed the idea of automatic test
47
+ // registration from Barthelemy Dagenais' (barthelemy@prologique.com)
48
+ // easyUnit framework.
49
+
50
+ // GOOGLETEST_CM0001 DO NOT DELETE
51
+
52
+ #ifndef GTEST_INCLUDE_GTEST_GTEST_H_
53
+ #define GTEST_INCLUDE_GTEST_GTEST_H_
54
+
55
+ #include <cstddef>
56
+ #include <limits>
57
+ #include <memory>
58
+ #include <ostream>
59
+ #include <type_traits>
60
+ #include <vector>
61
+
62
+ #include "gtest/internal/gtest-internal.h"
63
+ #include "gtest/internal/gtest-string.h"
64
+ #include "gtest/gtest-death-test.h"
65
+ #include "gtest/gtest-matchers.h"
66
+ #include "gtest/gtest-message.h"
67
+ #include "gtest/gtest-param-test.h"
68
+ #include "gtest/gtest-printers.h"
69
+ #include "gtest/gtest_prod.h"
70
+ #include "gtest/gtest-test-part.h"
71
+ #include "gtest/gtest-typed-test.h"
72
+
73
+ GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \
74
+ /* class A needs to have dll-interface to be used by clients of class B */)
75
+
76
+ namespace testing {
77
+
78
+ // Silence C4100 (unreferenced formal parameter) and 4805
79
+ // unsafe mix of type 'const int' and type 'const bool'
80
+ #ifdef _MSC_VER
81
+ # pragma warning(push)
82
+ # pragma warning(disable:4805)
83
+ # pragma warning(disable:4100)
84
+ #endif
85
+
86
+
87
+ // Declares the flags.
88
+
89
+ // This flag temporary enables the disabled tests.
90
+ GTEST_DECLARE_bool_(also_run_disabled_tests);
91
+
92
+ // This flag brings the debugger on an assertion failure.
93
+ GTEST_DECLARE_bool_(break_on_failure);
94
+
95
+ // This flag controls whether Google Test catches all test-thrown exceptions
96
+ // and logs them as failures.
97
+ GTEST_DECLARE_bool_(catch_exceptions);
98
+
99
+ // This flag enables using colors in terminal output. Available values are
100
+ // "yes" to enable colors, "no" (disable colors), or "auto" (the default)
101
+ // to let Google Test decide.
102
+ GTEST_DECLARE_string_(color);
103
+
104
+ // This flag controls whether the test runner should continue execution past
105
+ // first failure.
106
+ GTEST_DECLARE_bool_(fail_fast);
107
+
108
+ // This flag sets up the filter to select by name using a glob pattern
109
+ // the tests to run. If the filter is not given all tests are executed.
110
+ GTEST_DECLARE_string_(filter);
111
+
112
+ // This flag controls whether Google Test installs a signal handler that dumps
113
+ // debugging information when fatal signals are raised.
114
+ GTEST_DECLARE_bool_(install_failure_signal_handler);
115
+
116
+ // This flag causes the Google Test to list tests. None of the tests listed
117
+ // are actually run if the flag is provided.
118
+ GTEST_DECLARE_bool_(list_tests);
119
+
120
+ // This flag controls whether Google Test emits a detailed XML report to a file
121
+ // in addition to its normal textual output.
122
+ GTEST_DECLARE_string_(output);
123
+
124
+ // This flags control whether Google Test prints only test failures.
125
+ GTEST_DECLARE_bool_(brief);
126
+
127
+ // This flags control whether Google Test prints the elapsed time for each
128
+ // test.
129
+ GTEST_DECLARE_bool_(print_time);
130
+
131
+ // This flags control whether Google Test prints UTF8 characters as text.
132
+ GTEST_DECLARE_bool_(print_utf8);
133
+
134
+ // This flag specifies the random number seed.
135
+ GTEST_DECLARE_int32_(random_seed);
136
+
137
+ // This flag sets how many times the tests are repeated. The default value
138
+ // is 1. If the value is -1 the tests are repeating forever.
139
+ GTEST_DECLARE_int32_(repeat);
140
+
141
+ // This flag controls whether Google Test includes Google Test internal
142
+ // stack frames in failure stack traces.
143
+ GTEST_DECLARE_bool_(show_internal_stack_frames);
144
+
145
+ // When this flag is specified, tests' order is randomized on every iteration.
146
+ GTEST_DECLARE_bool_(shuffle);
147
+
148
+ // This flag specifies the maximum number of stack frames to be
149
+ // printed in a failure message.
150
+ GTEST_DECLARE_int32_(stack_trace_depth);
151
+
152
+ // When this flag is specified, a failed assertion will throw an
153
+ // exception if exceptions are enabled, or exit the program with a
154
+ // non-zero code otherwise. For use with an external test framework.
155
+ GTEST_DECLARE_bool_(throw_on_failure);
156
+
157
+ // When this flag is set with a "host:port" string, on supported
158
+ // platforms test results are streamed to the specified port on
159
+ // the specified host machine.
160
+ GTEST_DECLARE_string_(stream_result_to);
161
+
162
+ #if GTEST_USE_OWN_FLAGFILE_FLAG_
163
+ GTEST_DECLARE_string_(flagfile);
164
+ #endif // GTEST_USE_OWN_FLAGFILE_FLAG_
165
+
166
+ // The upper limit for valid stack trace depths.
167
+ const int kMaxStackTraceDepth = 100;
168
+
169
+ namespace internal {
170
+
171
+ class AssertHelper;
172
+ class DefaultGlobalTestPartResultReporter;
173
+ class ExecDeathTest;
174
+ class NoExecDeathTest;
175
+ class FinalSuccessChecker;
176
+ class GTestFlagSaver;
177
+ class StreamingListenerTest;
178
+ class TestResultAccessor;
179
+ class TestEventListenersAccessor;
180
+ class TestEventRepeater;
181
+ class UnitTestRecordPropertyTestHelper;
182
+ class WindowsDeathTest;
183
+ class FuchsiaDeathTest;
184
+ class UnitTestImpl* GetUnitTestImpl();
185
+ void ReportFailureInUnknownLocation(TestPartResult::Type result_type,
186
+ const std::string& message);
187
+ std::set<std::string>* GetIgnoredParameterizedTestSuites();
188
+
189
+ } // namespace internal
190
+
191
+ // The friend relationship of some of these classes is cyclic.
192
+ // If we don't forward declare them the compiler might confuse the classes
193
+ // in friendship clauses with same named classes on the scope.
194
+ class Test;
195
+ class TestSuite;
196
+
197
+ // Old API is still available but deprecated
198
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
199
+ using TestCase = TestSuite;
200
+ #endif
201
+ class TestInfo;
202
+ class UnitTest;
203
+
204
+ // A class for indicating whether an assertion was successful. When
205
+ // the assertion wasn't successful, the AssertionResult object
206
+ // remembers a non-empty message that describes how it failed.
207
+ //
208
+ // To create an instance of this class, use one of the factory functions
209
+ // (AssertionSuccess() and AssertionFailure()).
210
+ //
211
+ // This class is useful for two purposes:
212
+ // 1. Defining predicate functions to be used with Boolean test assertions
213
+ // EXPECT_TRUE/EXPECT_FALSE and their ASSERT_ counterparts
214
+ // 2. Defining predicate-format functions to be
215
+ // used with predicate assertions (ASSERT_PRED_FORMAT*, etc).
216
+ //
217
+ // For example, if you define IsEven predicate:
218
+ //
219
+ // testing::AssertionResult IsEven(int n) {
220
+ // if ((n % 2) == 0)
221
+ // return testing::AssertionSuccess();
222
+ // else
223
+ // return testing::AssertionFailure() << n << " is odd";
224
+ // }
225
+ //
226
+ // Then the failed expectation EXPECT_TRUE(IsEven(Fib(5)))
227
+ // will print the message
228
+ //
229
+ // Value of: IsEven(Fib(5))
230
+ // Actual: false (5 is odd)
231
+ // Expected: true
232
+ //
233
+ // instead of a more opaque
234
+ //
235
+ // Value of: IsEven(Fib(5))
236
+ // Actual: false
237
+ // Expected: true
238
+ //
239
+ // in case IsEven is a simple Boolean predicate.
240
+ //
241
+ // If you expect your predicate to be reused and want to support informative
242
+ // messages in EXPECT_FALSE and ASSERT_FALSE (negative assertions show up
243
+ // about half as often as positive ones in our tests), supply messages for
244
+ // both success and failure cases:
245
+ //
246
+ // testing::AssertionResult IsEven(int n) {
247
+ // if ((n % 2) == 0)
248
+ // return testing::AssertionSuccess() << n << " is even";
249
+ // else
250
+ // return testing::AssertionFailure() << n << " is odd";
251
+ // }
252
+ //
253
+ // Then a statement EXPECT_FALSE(IsEven(Fib(6))) will print
254
+ //
255
+ // Value of: IsEven(Fib(6))
256
+ // Actual: true (8 is even)
257
+ // Expected: false
258
+ //
259
+ // NB: Predicates that support negative Boolean assertions have reduced
260
+ // performance in positive ones so be careful not to use them in tests
261
+ // that have lots (tens of thousands) of positive Boolean assertions.
262
+ //
263
+ // To use this class with EXPECT_PRED_FORMAT assertions such as:
264
+ //
265
+ // // Verifies that Foo() returns an even number.
266
+ // EXPECT_PRED_FORMAT1(IsEven, Foo());
267
+ //
268
+ // you need to define:
269
+ //
270
+ // testing::AssertionResult IsEven(const char* expr, int n) {
271
+ // if ((n % 2) == 0)
272
+ // return testing::AssertionSuccess();
273
+ // else
274
+ // return testing::AssertionFailure()
275
+ // << "Expected: " << expr << " is even\n Actual: it's " << n;
276
+ // }
277
+ //
278
+ // If Foo() returns 5, you will see the following message:
279
+ //
280
+ // Expected: Foo() is even
281
+ // Actual: it's 5
282
+ //
283
+ class GTEST_API_ AssertionResult {
284
+ public:
285
+ // Copy constructor.
286
+ // Used in EXPECT_TRUE/FALSE(assertion_result).
287
+ AssertionResult(const AssertionResult& other);
288
+
289
+ // C4800 is a level 3 warning in Visual Studio 2015 and earlier.
290
+ // This warning is not emitted in Visual Studio 2017.
291
+ // This warning is off by default starting in Visual Studio 2019 but can be
292
+ // enabled with command-line options.
293
+ #if defined(_MSC_VER) && (_MSC_VER < 1910 || _MSC_VER >= 1920)
294
+ GTEST_DISABLE_MSC_WARNINGS_PUSH_(4800 /* forcing value to bool */)
295
+ #endif
296
+
297
+ // Used in the EXPECT_TRUE/FALSE(bool_expression).
298
+ //
299
+ // T must be contextually convertible to bool.
300
+ //
301
+ // The second parameter prevents this overload from being considered if
302
+ // the argument is implicitly convertible to AssertionResult. In that case
303
+ // we want AssertionResult's copy constructor to be used.
304
+ template <typename T>
305
+ explicit AssertionResult(
306
+ const T& success,
307
+ typename std::enable_if<
308
+ !std::is_convertible<T, AssertionResult>::value>::type*
309
+ /*enabler*/
310
+ = nullptr)
311
+ : success_(success) {}
312
+
313
+ #if defined(_MSC_VER) && (_MSC_VER < 1910 || _MSC_VER >= 1920)
314
+ GTEST_DISABLE_MSC_WARNINGS_POP_()
315
+ #endif
316
+
317
+ // Assignment operator.
318
+ AssertionResult& operator=(AssertionResult other) {
319
+ swap(other);
320
+ return *this;
321
+ }
322
+
323
+ // Returns true if and only if the assertion succeeded.
324
+ operator bool() const { return success_; } // NOLINT
325
+
326
+ // Returns the assertion's negation. Used with EXPECT/ASSERT_FALSE.
327
+ AssertionResult operator!() const;
328
+
329
+ // Returns the text streamed into this AssertionResult. Test assertions
330
+ // use it when they fail (i.e., the predicate's outcome doesn't match the
331
+ // assertion's expectation). When nothing has been streamed into the
332
+ // object, returns an empty string.
333
+ const char* message() const {
334
+ return message_.get() != nullptr ? message_->c_str() : "";
335
+ }
336
+ // Deprecated; please use message() instead.
337
+ const char* failure_message() const { return message(); }
338
+
339
+ // Streams a custom failure message into this object.
340
+ template <typename T> AssertionResult& operator<<(const T& value) {
341
+ AppendMessage(Message() << value);
342
+ return *this;
343
+ }
344
+
345
+ // Allows streaming basic output manipulators such as endl or flush into
346
+ // this object.
347
+ AssertionResult& operator<<(
348
+ ::std::ostream& (*basic_manipulator)(::std::ostream& stream)) {
349
+ AppendMessage(Message() << basic_manipulator);
350
+ return *this;
351
+ }
352
+
353
+ private:
354
+ // Appends the contents of message to message_.
355
+ void AppendMessage(const Message& a_message) {
356
+ if (message_.get() == nullptr) message_.reset(new ::std::string);
357
+ message_->append(a_message.GetString().c_str());
358
+ }
359
+
360
+ // Swap the contents of this AssertionResult with other.
361
+ void swap(AssertionResult& other);
362
+
363
+ // Stores result of the assertion predicate.
364
+ bool success_;
365
+ // Stores the message describing the condition in case the expectation
366
+ // construct is not satisfied with the predicate's outcome.
367
+ // Referenced via a pointer to avoid taking too much stack frame space
368
+ // with test assertions.
369
+ std::unique_ptr< ::std::string> message_;
370
+ };
371
+
372
+ // Makes a successful assertion result.
373
+ GTEST_API_ AssertionResult AssertionSuccess();
374
+
375
+ // Makes a failed assertion result.
376
+ GTEST_API_ AssertionResult AssertionFailure();
377
+
378
+ // Makes a failed assertion result with the given failure message.
379
+ // Deprecated; use AssertionFailure() << msg.
380
+ GTEST_API_ AssertionResult AssertionFailure(const Message& msg);
381
+
382
+ } // namespace testing
383
+
384
+ // Includes the auto-generated header that implements a family of generic
385
+ // predicate assertion macros. This include comes late because it relies on
386
+ // APIs declared above.
387
+ #include "gtest/gtest_pred_impl.h"
388
+
389
+ namespace testing {
390
+
391
+ // The abstract class that all tests inherit from.
392
+ //
393
+ // In Google Test, a unit test program contains one or many TestSuites, and
394
+ // each TestSuite contains one or many Tests.
395
+ //
396
+ // When you define a test using the TEST macro, you don't need to
397
+ // explicitly derive from Test - the TEST macro automatically does
398
+ // this for you.
399
+ //
400
+ // The only time you derive from Test is when defining a test fixture
401
+ // to be used in a TEST_F. For example:
402
+ //
403
+ // class FooTest : public testing::Test {
404
+ // protected:
405
+ // void SetUp() override { ... }
406
+ // void TearDown() override { ... }
407
+ // ...
408
+ // };
409
+ //
410
+ // TEST_F(FooTest, Bar) { ... }
411
+ // TEST_F(FooTest, Baz) { ... }
412
+ //
413
+ // Test is not copyable.
414
+ class GTEST_API_ Test {
415
+ public:
416
+ friend class TestInfo;
417
+
418
+ // The d'tor is virtual as we intend to inherit from Test.
419
+ virtual ~Test();
420
+
421
+ // Sets up the stuff shared by all tests in this test suite.
422
+ //
423
+ // Google Test will call Foo::SetUpTestSuite() before running the first
424
+ // test in test suite Foo. Hence a sub-class can define its own
425
+ // SetUpTestSuite() method to shadow the one defined in the super
426
+ // class.
427
+ static void SetUpTestSuite() {}
428
+
429
+ // Tears down the stuff shared by all tests in this test suite.
430
+ //
431
+ // Google Test will call Foo::TearDownTestSuite() after running the last
432
+ // test in test suite Foo. Hence a sub-class can define its own
433
+ // TearDownTestSuite() method to shadow the one defined in the super
434
+ // class.
435
+ static void TearDownTestSuite() {}
436
+
437
+ // Legacy API is deprecated but still available. Use SetUpTestSuite and
438
+ // TearDownTestSuite instead.
439
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
440
+ static void TearDownTestCase() {}
441
+ static void SetUpTestCase() {}
442
+ #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
443
+
444
+ // Returns true if and only if the current test has a fatal failure.
445
+ static bool HasFatalFailure();
446
+
447
+ // Returns true if and only if the current test has a non-fatal failure.
448
+ static bool HasNonfatalFailure();
449
+
450
+ // Returns true if and only if the current test was skipped.
451
+ static bool IsSkipped();
452
+
453
+ // Returns true if and only if the current test has a (either fatal or
454
+ // non-fatal) failure.
455
+ static bool HasFailure() { return HasFatalFailure() || HasNonfatalFailure(); }
456
+
457
+ // Logs a property for the current test, test suite, or for the entire
458
+ // invocation of the test program when used outside of the context of a
459
+ // test suite. Only the last value for a given key is remembered. These
460
+ // are public static so they can be called from utility functions that are
461
+ // not members of the test fixture. Calls to RecordProperty made during
462
+ // lifespan of the test (from the moment its constructor starts to the
463
+ // moment its destructor finishes) will be output in XML as attributes of
464
+ // the <testcase> element. Properties recorded from fixture's
465
+ // SetUpTestSuite or TearDownTestSuite are logged as attributes of the
466
+ // corresponding <testsuite> element. Calls to RecordProperty made in the
467
+ // global context (before or after invocation of RUN_ALL_TESTS and from
468
+ // SetUp/TearDown method of Environment objects registered with Google
469
+ // Test) will be output as attributes of the <testsuites> element.
470
+ static void RecordProperty(const std::string& key, const std::string& value);
471
+ static void RecordProperty(const std::string& key, int value);
472
+
473
+ protected:
474
+ // Creates a Test object.
475
+ Test();
476
+
477
+ // Sets up the test fixture.
478
+ virtual void SetUp();
479
+
480
+ // Tears down the test fixture.
481
+ virtual void TearDown();
482
+
483
+ private:
484
+ // Returns true if and only if the current test has the same fixture class
485
+ // as the first test in the current test suite.
486
+ static bool HasSameFixtureClass();
487
+
488
+ // Runs the test after the test fixture has been set up.
489
+ //
490
+ // A sub-class must implement this to define the test logic.
491
+ //
492
+ // DO NOT OVERRIDE THIS FUNCTION DIRECTLY IN A USER PROGRAM.
493
+ // Instead, use the TEST or TEST_F macro.
494
+ virtual void TestBody() = 0;
495
+
496
+ // Sets up, executes, and tears down the test.
497
+ void Run();
498
+
499
+ // Deletes self. We deliberately pick an unusual name for this
500
+ // internal method to avoid clashing with names used in user TESTs.
501
+ void DeleteSelf_() { delete this; }
502
+
503
+ const std::unique_ptr<GTEST_FLAG_SAVER_> gtest_flag_saver_;
504
+
505
+ // Often a user misspells SetUp() as Setup() and spends a long time
506
+ // wondering why it is never called by Google Test. The declaration of
507
+ // the following method is solely for catching such an error at
508
+ // compile time:
509
+ //
510
+ // - The return type is deliberately chosen to be not void, so it
511
+ // will be a conflict if void Setup() is declared in the user's
512
+ // test fixture.
513
+ //
514
+ // - This method is private, so it will be another compiler error
515
+ // if the method is called from the user's test fixture.
516
+ //
517
+ // DO NOT OVERRIDE THIS FUNCTION.
518
+ //
519
+ // If you see an error about overriding the following function or
520
+ // about it being private, you have mis-spelled SetUp() as Setup().
521
+ struct Setup_should_be_spelled_SetUp {};
522
+ virtual Setup_should_be_spelled_SetUp* Setup() { return nullptr; }
523
+
524
+ // We disallow copying Tests.
525
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(Test);
526
+ };
527
+
528
+ typedef internal::TimeInMillis TimeInMillis;
529
+
530
+ // A copyable object representing a user specified test property which can be
531
+ // output as a key/value string pair.
532
+ //
533
+ // Don't inherit from TestProperty as its destructor is not virtual.
534
+ class TestProperty {
535
+ public:
536
+ // C'tor. TestProperty does NOT have a default constructor.
537
+ // Always use this constructor (with parameters) to create a
538
+ // TestProperty object.
539
+ TestProperty(const std::string& a_key, const std::string& a_value) :
540
+ key_(a_key), value_(a_value) {
541
+ }
542
+
543
+ // Gets the user supplied key.
544
+ const char* key() const {
545
+ return key_.c_str();
546
+ }
547
+
548
+ // Gets the user supplied value.
549
+ const char* value() const {
550
+ return value_.c_str();
551
+ }
552
+
553
+ // Sets a new value, overriding the one supplied in the constructor.
554
+ void SetValue(const std::string& new_value) {
555
+ value_ = new_value;
556
+ }
557
+
558
+ private:
559
+ // The key supplied by the user.
560
+ std::string key_;
561
+ // The value supplied by the user.
562
+ std::string value_;
563
+ };
564
+
565
+ // The result of a single Test. This includes a list of
566
+ // TestPartResults, a list of TestProperties, a count of how many
567
+ // death tests there are in the Test, and how much time it took to run
568
+ // the Test.
569
+ //
570
+ // TestResult is not copyable.
571
+ class GTEST_API_ TestResult {
572
+ public:
573
+ // Creates an empty TestResult.
574
+ TestResult();
575
+
576
+ // D'tor. Do not inherit from TestResult.
577
+ ~TestResult();
578
+
579
+ // Gets the number of all test parts. This is the sum of the number
580
+ // of successful test parts and the number of failed test parts.
581
+ int total_part_count() const;
582
+
583
+ // Returns the number of the test properties.
584
+ int test_property_count() const;
585
+
586
+ // Returns true if and only if the test passed (i.e. no test part failed).
587
+ bool Passed() const { return !Skipped() && !Failed(); }
588
+
589
+ // Returns true if and only if the test was skipped.
590
+ bool Skipped() const;
591
+
592
+ // Returns true if and only if the test failed.
593
+ bool Failed() const;
594
+
595
+ // Returns true if and only if the test fatally failed.
596
+ bool HasFatalFailure() const;
597
+
598
+ // Returns true if and only if the test has a non-fatal failure.
599
+ bool HasNonfatalFailure() const;
600
+
601
+ // Returns the elapsed time, in milliseconds.
602
+ TimeInMillis elapsed_time() const { return elapsed_time_; }
603
+
604
+ // Gets the time of the test case start, in ms from the start of the
605
+ // UNIX epoch.
606
+ TimeInMillis start_timestamp() const { return start_timestamp_; }
607
+
608
+ // Returns the i-th test part result among all the results. i can range from 0
609
+ // to total_part_count() - 1. If i is not in that range, aborts the program.
610
+ const TestPartResult& GetTestPartResult(int i) const;
611
+
612
+ // Returns the i-th test property. i can range from 0 to
613
+ // test_property_count() - 1. If i is not in that range, aborts the
614
+ // program.
615
+ const TestProperty& GetTestProperty(int i) const;
616
+
617
+ private:
618
+ friend class TestInfo;
619
+ friend class TestSuite;
620
+ friend class UnitTest;
621
+ friend class internal::DefaultGlobalTestPartResultReporter;
622
+ friend class internal::ExecDeathTest;
623
+ friend class internal::TestResultAccessor;
624
+ friend class internal::UnitTestImpl;
625
+ friend class internal::WindowsDeathTest;
626
+ friend class internal::FuchsiaDeathTest;
627
+
628
+ // Gets the vector of TestPartResults.
629
+ const std::vector<TestPartResult>& test_part_results() const {
630
+ return test_part_results_;
631
+ }
632
+
633
+ // Gets the vector of TestProperties.
634
+ const std::vector<TestProperty>& test_properties() const {
635
+ return test_properties_;
636
+ }
637
+
638
+ // Sets the start time.
639
+ void set_start_timestamp(TimeInMillis start) { start_timestamp_ = start; }
640
+
641
+ // Sets the elapsed time.
642
+ void set_elapsed_time(TimeInMillis elapsed) { elapsed_time_ = elapsed; }
643
+
644
+ // Adds a test property to the list. The property is validated and may add
645
+ // a non-fatal failure if invalid (e.g., if it conflicts with reserved
646
+ // key names). If a property is already recorded for the same key, the
647
+ // value will be updated, rather than storing multiple values for the same
648
+ // key. xml_element specifies the element for which the property is being
649
+ // recorded and is used for validation.
650
+ void RecordProperty(const std::string& xml_element,
651
+ const TestProperty& test_property);
652
+
653
+ // Adds a failure if the key is a reserved attribute of Google Test
654
+ // testsuite tags. Returns true if the property is valid.
655
+ // FIXME: Validate attribute names are legal and human readable.
656
+ static bool ValidateTestProperty(const std::string& xml_element,
657
+ const TestProperty& test_property);
658
+
659
+ // Adds a test part result to the list.
660
+ void AddTestPartResult(const TestPartResult& test_part_result);
661
+
662
+ // Returns the death test count.
663
+ int death_test_count() const { return death_test_count_; }
664
+
665
+ // Increments the death test count, returning the new count.
666
+ int increment_death_test_count() { return ++death_test_count_; }
667
+
668
+ // Clears the test part results.
669
+ void ClearTestPartResults();
670
+
671
+ // Clears the object.
672
+ void Clear();
673
+
674
+ // Protects mutable state of the property vector and of owned
675
+ // properties, whose values may be updated.
676
+ internal::Mutex test_properites_mutex_;
677
+
678
+ // The vector of TestPartResults
679
+ std::vector<TestPartResult> test_part_results_;
680
+ // The vector of TestProperties
681
+ std::vector<TestProperty> test_properties_;
682
+ // Running count of death tests.
683
+ int death_test_count_;
684
+ // The start time, in milliseconds since UNIX Epoch.
685
+ TimeInMillis start_timestamp_;
686
+ // The elapsed time, in milliseconds.
687
+ TimeInMillis elapsed_time_;
688
+
689
+ // We disallow copying TestResult.
690
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(TestResult);
691
+ }; // class TestResult
692
+
693
+ // A TestInfo object stores the following information about a test:
694
+ //
695
+ // Test suite name
696
+ // Test name
697
+ // Whether the test should be run
698
+ // A function pointer that creates the test object when invoked
699
+ // Test result
700
+ //
701
+ // The constructor of TestInfo registers itself with the UnitTest
702
+ // singleton such that the RUN_ALL_TESTS() macro knows which tests to
703
+ // run.
704
+ class GTEST_API_ TestInfo {
705
+ public:
706
+ // Destructs a TestInfo object. This function is not virtual, so
707
+ // don't inherit from TestInfo.
708
+ ~TestInfo();
709
+
710
+ // Returns the test suite name.
711
+ const char* test_suite_name() const { return test_suite_name_.c_str(); }
712
+
713
+ // Legacy API is deprecated but still available
714
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
715
+ const char* test_case_name() const { return test_suite_name(); }
716
+ #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
717
+
718
+ // Returns the test name.
719
+ const char* name() const { return name_.c_str(); }
720
+
721
+ // Returns the name of the parameter type, or NULL if this is not a typed
722
+ // or a type-parameterized test.
723
+ const char* type_param() const {
724
+ if (type_param_.get() != nullptr) return type_param_->c_str();
725
+ return nullptr;
726
+ }
727
+
728
+ // Returns the text representation of the value parameter, or NULL if this
729
+ // is not a value-parameterized test.
730
+ const char* value_param() const {
731
+ if (value_param_.get() != nullptr) return value_param_->c_str();
732
+ return nullptr;
733
+ }
734
+
735
+ // Returns the file name where this test is defined.
736
+ const char* file() const { return location_.file.c_str(); }
737
+
738
+ // Returns the line where this test is defined.
739
+ int line() const { return location_.line; }
740
+
741
+ // Return true if this test should not be run because it's in another shard.
742
+ bool is_in_another_shard() const { return is_in_another_shard_; }
743
+
744
+ // Returns true if this test should run, that is if the test is not
745
+ // disabled (or it is disabled but the also_run_disabled_tests flag has
746
+ // been specified) and its full name matches the user-specified filter.
747
+ //
748
+ // Google Test allows the user to filter the tests by their full names.
749
+ // The full name of a test Bar in test suite Foo is defined as
750
+ // "Foo.Bar". Only the tests that match the filter will run.
751
+ //
752
+ // A filter is a colon-separated list of glob (not regex) patterns,
753
+ // optionally followed by a '-' and a colon-separated list of
754
+ // negative patterns (tests to exclude). A test is run if it
755
+ // matches one of the positive patterns and does not match any of
756
+ // the negative patterns.
757
+ //
758
+ // For example, *A*:Foo.* is a filter that matches any string that
759
+ // contains the character 'A' or starts with "Foo.".
760
+ bool should_run() const { return should_run_; }
761
+
762
+ // Returns true if and only if this test will appear in the XML report.
763
+ bool is_reportable() const {
764
+ // The XML report includes tests matching the filter, excluding those
765
+ // run in other shards.
766
+ return matches_filter_ && !is_in_another_shard_;
767
+ }
768
+
769
+ // Returns the result of the test.
770
+ const TestResult* result() const { return &result_; }
771
+
772
+ private:
773
+ #if GTEST_HAS_DEATH_TEST
774
+ friend class internal::DefaultDeathTestFactory;
775
+ #endif // GTEST_HAS_DEATH_TEST
776
+ friend class Test;
777
+ friend class TestSuite;
778
+ friend class internal::UnitTestImpl;
779
+ friend class internal::StreamingListenerTest;
780
+ friend TestInfo* internal::MakeAndRegisterTestInfo(
781
+ const char* test_suite_name, const char* name, const char* type_param,
782
+ const char* value_param, internal::CodeLocation code_location,
783
+ internal::TypeId fixture_class_id, internal::SetUpTestSuiteFunc set_up_tc,
784
+ internal::TearDownTestSuiteFunc tear_down_tc,
785
+ internal::TestFactoryBase* factory);
786
+
787
+ // Constructs a TestInfo object. The newly constructed instance assumes
788
+ // ownership of the factory object.
789
+ TestInfo(const std::string& test_suite_name, const std::string& name,
790
+ const char* a_type_param, // NULL if not a type-parameterized test
791
+ const char* a_value_param, // NULL if not a value-parameterized test
792
+ internal::CodeLocation a_code_location,
793
+ internal::TypeId fixture_class_id,
794
+ internal::TestFactoryBase* factory);
795
+
796
+ // Increments the number of death tests encountered in this test so
797
+ // far.
798
+ int increment_death_test_count() {
799
+ return result_.increment_death_test_count();
800
+ }
801
+
802
+ // Creates the test object, runs it, records its result, and then
803
+ // deletes it.
804
+ void Run();
805
+
806
+ // Skip and records the test result for this object.
807
+ void Skip();
808
+
809
+ static void ClearTestResult(TestInfo* test_info) {
810
+ test_info->result_.Clear();
811
+ }
812
+
813
+ // These fields are immutable properties of the test.
814
+ const std::string test_suite_name_; // test suite name
815
+ const std::string name_; // Test name
816
+ // Name of the parameter type, or NULL if this is not a typed or a
817
+ // type-parameterized test.
818
+ const std::unique_ptr<const ::std::string> type_param_;
819
+ // Text representation of the value parameter, or NULL if this is not a
820
+ // value-parameterized test.
821
+ const std::unique_ptr<const ::std::string> value_param_;
822
+ internal::CodeLocation location_;
823
+ const internal::TypeId fixture_class_id_; // ID of the test fixture class
824
+ bool should_run_; // True if and only if this test should run
825
+ bool is_disabled_; // True if and only if this test is disabled
826
+ bool matches_filter_; // True if this test matches the
827
+ // user-specified filter.
828
+ bool is_in_another_shard_; // Will be run in another shard.
829
+ internal::TestFactoryBase* const factory_; // The factory that creates
830
+ // the test object
831
+
832
+ // This field is mutable and needs to be reset before running the
833
+ // test for the second time.
834
+ TestResult result_;
835
+
836
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(TestInfo);
837
+ };
838
+
839
+ // A test suite, which consists of a vector of TestInfos.
840
+ //
841
+ // TestSuite is not copyable.
842
+ class GTEST_API_ TestSuite {
843
+ public:
844
+ // Creates a TestSuite with the given name.
845
+ //
846
+ // TestSuite does NOT have a default constructor. Always use this
847
+ // constructor to create a TestSuite object.
848
+ //
849
+ // Arguments:
850
+ //
851
+ // name: name of the test suite
852
+ // a_type_param: the name of the test's type parameter, or NULL if
853
+ // this is not a type-parameterized test.
854
+ // set_up_tc: pointer to the function that sets up the test suite
855
+ // tear_down_tc: pointer to the function that tears down the test suite
856
+ TestSuite(const char* name, const char* a_type_param,
857
+ internal::SetUpTestSuiteFunc set_up_tc,
858
+ internal::TearDownTestSuiteFunc tear_down_tc);
859
+
860
+ // Destructor of TestSuite.
861
+ virtual ~TestSuite();
862
+
863
+ // Gets the name of the TestSuite.
864
+ const char* name() const { return name_.c_str(); }
865
+
866
+ // Returns the name of the parameter type, or NULL if this is not a
867
+ // type-parameterized test suite.
868
+ const char* type_param() const {
869
+ if (type_param_.get() != nullptr) return type_param_->c_str();
870
+ return nullptr;
871
+ }
872
+
873
+ // Returns true if any test in this test suite should run.
874
+ bool should_run() const { return should_run_; }
875
+
876
+ // Gets the number of successful tests in this test suite.
877
+ int successful_test_count() const;
878
+
879
+ // Gets the number of skipped tests in this test suite.
880
+ int skipped_test_count() const;
881
+
882
+ // Gets the number of failed tests in this test suite.
883
+ int failed_test_count() const;
884
+
885
+ // Gets the number of disabled tests that will be reported in the XML report.
886
+ int reportable_disabled_test_count() const;
887
+
888
+ // Gets the number of disabled tests in this test suite.
889
+ int disabled_test_count() const;
890
+
891
+ // Gets the number of tests to be printed in the XML report.
892
+ int reportable_test_count() const;
893
+
894
+ // Get the number of tests in this test suite that should run.
895
+ int test_to_run_count() const;
896
+
897
+ // Gets the number of all tests in this test suite.
898
+ int total_test_count() const;
899
+
900
+ // Returns true if and only if the test suite passed.
901
+ bool Passed() const { return !Failed(); }
902
+
903
+ // Returns true if and only if the test suite failed.
904
+ bool Failed() const {
905
+ return failed_test_count() > 0 || ad_hoc_test_result().Failed();
906
+ }
907
+
908
+ // Returns the elapsed time, in milliseconds.
909
+ TimeInMillis elapsed_time() const { return elapsed_time_; }
910
+
911
+ // Gets the time of the test suite start, in ms from the start of the
912
+ // UNIX epoch.
913
+ TimeInMillis start_timestamp() const { return start_timestamp_; }
914
+
915
+ // Returns the i-th test among all the tests. i can range from 0 to
916
+ // total_test_count() - 1. If i is not in that range, returns NULL.
917
+ const TestInfo* GetTestInfo(int i) const;
918
+
919
+ // Returns the TestResult that holds test properties recorded during
920
+ // execution of SetUpTestSuite and TearDownTestSuite.
921
+ const TestResult& ad_hoc_test_result() const { return ad_hoc_test_result_; }
922
+
923
+ private:
924
+ friend class Test;
925
+ friend class internal::UnitTestImpl;
926
+
927
+ // Gets the (mutable) vector of TestInfos in this TestSuite.
928
+ std::vector<TestInfo*>& test_info_list() { return test_info_list_; }
929
+
930
+ // Gets the (immutable) vector of TestInfos in this TestSuite.
931
+ const std::vector<TestInfo*>& test_info_list() const {
932
+ return test_info_list_;
933
+ }
934
+
935
+ // Returns the i-th test among all the tests. i can range from 0 to
936
+ // total_test_count() - 1. If i is not in that range, returns NULL.
937
+ TestInfo* GetMutableTestInfo(int i);
938
+
939
+ // Sets the should_run member.
940
+ void set_should_run(bool should) { should_run_ = should; }
941
+
942
+ // Adds a TestInfo to this test suite. Will delete the TestInfo upon
943
+ // destruction of the TestSuite object.
944
+ void AddTestInfo(TestInfo * test_info);
945
+
946
+ // Clears the results of all tests in this test suite.
947
+ void ClearResult();
948
+
949
+ // Clears the results of all tests in the given test suite.
950
+ static void ClearTestSuiteResult(TestSuite* test_suite) {
951
+ test_suite->ClearResult();
952
+ }
953
+
954
+ // Runs every test in this TestSuite.
955
+ void Run();
956
+
957
+ // Skips the execution of tests under this TestSuite
958
+ void Skip();
959
+
960
+ // Runs SetUpTestSuite() for this TestSuite. This wrapper is needed
961
+ // for catching exceptions thrown from SetUpTestSuite().
962
+ void RunSetUpTestSuite() {
963
+ if (set_up_tc_ != nullptr) {
964
+ (*set_up_tc_)();
965
+ }
966
+ }
967
+
968
+ // Runs TearDownTestSuite() for this TestSuite. This wrapper is
969
+ // needed for catching exceptions thrown from TearDownTestSuite().
970
+ void RunTearDownTestSuite() {
971
+ if (tear_down_tc_ != nullptr) {
972
+ (*tear_down_tc_)();
973
+ }
974
+ }
975
+
976
+ // Returns true if and only if test passed.
977
+ static bool TestPassed(const TestInfo* test_info) {
978
+ return test_info->should_run() && test_info->result()->Passed();
979
+ }
980
+
981
+ // Returns true if and only if test skipped.
982
+ static bool TestSkipped(const TestInfo* test_info) {
983
+ return test_info->should_run() && test_info->result()->Skipped();
984
+ }
985
+
986
+ // Returns true if and only if test failed.
987
+ static bool TestFailed(const TestInfo* test_info) {
988
+ return test_info->should_run() && test_info->result()->Failed();
989
+ }
990
+
991
+ // Returns true if and only if the test is disabled and will be reported in
992
+ // the XML report.
993
+ static bool TestReportableDisabled(const TestInfo* test_info) {
994
+ return test_info->is_reportable() && test_info->is_disabled_;
995
+ }
996
+
997
+ // Returns true if and only if test is disabled.
998
+ static bool TestDisabled(const TestInfo* test_info) {
999
+ return test_info->is_disabled_;
1000
+ }
1001
+
1002
+ // Returns true if and only if this test will appear in the XML report.
1003
+ static bool TestReportable(const TestInfo* test_info) {
1004
+ return test_info->is_reportable();
1005
+ }
1006
+
1007
+ // Returns true if the given test should run.
1008
+ static bool ShouldRunTest(const TestInfo* test_info) {
1009
+ return test_info->should_run();
1010
+ }
1011
+
1012
+ // Shuffles the tests in this test suite.
1013
+ void ShuffleTests(internal::Random* random);
1014
+
1015
+ // Restores the test order to before the first shuffle.
1016
+ void UnshuffleTests();
1017
+
1018
+ // Name of the test suite.
1019
+ std::string name_;
1020
+ // Name of the parameter type, or NULL if this is not a typed or a
1021
+ // type-parameterized test.
1022
+ const std::unique_ptr<const ::std::string> type_param_;
1023
+ // The vector of TestInfos in their original order. It owns the
1024
+ // elements in the vector.
1025
+ std::vector<TestInfo*> test_info_list_;
1026
+ // Provides a level of indirection for the test list to allow easy
1027
+ // shuffling and restoring the test order. The i-th element in this
1028
+ // vector is the index of the i-th test in the shuffled test list.
1029
+ std::vector<int> test_indices_;
1030
+ // Pointer to the function that sets up the test suite.
1031
+ internal::SetUpTestSuiteFunc set_up_tc_;
1032
+ // Pointer to the function that tears down the test suite.
1033
+ internal::TearDownTestSuiteFunc tear_down_tc_;
1034
+ // True if and only if any test in this test suite should run.
1035
+ bool should_run_;
1036
+ // The start time, in milliseconds since UNIX Epoch.
1037
+ TimeInMillis start_timestamp_;
1038
+ // Elapsed time, in milliseconds.
1039
+ TimeInMillis elapsed_time_;
1040
+ // Holds test properties recorded during execution of SetUpTestSuite and
1041
+ // TearDownTestSuite.
1042
+ TestResult ad_hoc_test_result_;
1043
+
1044
+ // We disallow copying TestSuites.
1045
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(TestSuite);
1046
+ };
1047
+
1048
+ // An Environment object is capable of setting up and tearing down an
1049
+ // environment. You should subclass this to define your own
1050
+ // environment(s).
1051
+ //
1052
+ // An Environment object does the set-up and tear-down in virtual
1053
+ // methods SetUp() and TearDown() instead of the constructor and the
1054
+ // destructor, as:
1055
+ //
1056
+ // 1. You cannot safely throw from a destructor. This is a problem
1057
+ // as in some cases Google Test is used where exceptions are enabled, and
1058
+ // we may want to implement ASSERT_* using exceptions where they are
1059
+ // available.
1060
+ // 2. You cannot use ASSERT_* directly in a constructor or
1061
+ // destructor.
1062
+ class Environment {
1063
+ public:
1064
+ // The d'tor is virtual as we need to subclass Environment.
1065
+ virtual ~Environment() {}
1066
+
1067
+ // Override this to define how to set up the environment.
1068
+ virtual void SetUp() {}
1069
+
1070
+ // Override this to define how to tear down the environment.
1071
+ virtual void TearDown() {}
1072
+ private:
1073
+ // If you see an error about overriding the following function or
1074
+ // about it being private, you have mis-spelled SetUp() as Setup().
1075
+ struct Setup_should_be_spelled_SetUp {};
1076
+ virtual Setup_should_be_spelled_SetUp* Setup() { return nullptr; }
1077
+ };
1078
+
1079
+ #if GTEST_HAS_EXCEPTIONS
1080
+
1081
+ // Exception which can be thrown from TestEventListener::OnTestPartResult.
1082
+ class GTEST_API_ AssertionException
1083
+ : public internal::GoogleTestFailureException {
1084
+ public:
1085
+ explicit AssertionException(const TestPartResult& result)
1086
+ : GoogleTestFailureException(result) {}
1087
+ };
1088
+
1089
+ #endif // GTEST_HAS_EXCEPTIONS
1090
+
1091
+ // The interface for tracing execution of tests. The methods are organized in
1092
+ // the order the corresponding events are fired.
1093
+ class TestEventListener {
1094
+ public:
1095
+ virtual ~TestEventListener() {}
1096
+
1097
+ // Fired before any test activity starts.
1098
+ virtual void OnTestProgramStart(const UnitTest& unit_test) = 0;
1099
+
1100
+ // Fired before each iteration of tests starts. There may be more than
1101
+ // one iteration if GTEST_FLAG(repeat) is set. iteration is the iteration
1102
+ // index, starting from 0.
1103
+ virtual void OnTestIterationStart(const UnitTest& unit_test,
1104
+ int iteration) = 0;
1105
+
1106
+ // Fired before environment set-up for each iteration of tests starts.
1107
+ virtual void OnEnvironmentsSetUpStart(const UnitTest& unit_test) = 0;
1108
+
1109
+ // Fired after environment set-up for each iteration of tests ends.
1110
+ virtual void OnEnvironmentsSetUpEnd(const UnitTest& unit_test) = 0;
1111
+
1112
+ // Fired before the test suite starts.
1113
+ virtual void OnTestSuiteStart(const TestSuite& /*test_suite*/) {}
1114
+
1115
+ // Legacy API is deprecated but still available
1116
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1117
+ virtual void OnTestCaseStart(const TestCase& /*test_case*/) {}
1118
+ #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1119
+
1120
+ // Fired before the test starts.
1121
+ virtual void OnTestStart(const TestInfo& test_info) = 0;
1122
+
1123
+ // Fired after a failed assertion or a SUCCEED() invocation.
1124
+ // If you want to throw an exception from this function to skip to the next
1125
+ // TEST, it must be AssertionException defined above, or inherited from it.
1126
+ virtual void OnTestPartResult(const TestPartResult& test_part_result) = 0;
1127
+
1128
+ // Fired after the test ends.
1129
+ virtual void OnTestEnd(const TestInfo& test_info) = 0;
1130
+
1131
+ // Fired after the test suite ends.
1132
+ virtual void OnTestSuiteEnd(const TestSuite& /*test_suite*/) {}
1133
+
1134
+ // Legacy API is deprecated but still available
1135
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1136
+ virtual void OnTestCaseEnd(const TestCase& /*test_case*/) {}
1137
+ #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1138
+
1139
+ // Fired before environment tear-down for each iteration of tests starts.
1140
+ virtual void OnEnvironmentsTearDownStart(const UnitTest& unit_test) = 0;
1141
+
1142
+ // Fired after environment tear-down for each iteration of tests ends.
1143
+ virtual void OnEnvironmentsTearDownEnd(const UnitTest& unit_test) = 0;
1144
+
1145
+ // Fired after each iteration of tests finishes.
1146
+ virtual void OnTestIterationEnd(const UnitTest& unit_test,
1147
+ int iteration) = 0;
1148
+
1149
+ // Fired after all test activities have ended.
1150
+ virtual void OnTestProgramEnd(const UnitTest& unit_test) = 0;
1151
+ };
1152
+
1153
+ // The convenience class for users who need to override just one or two
1154
+ // methods and are not concerned that a possible change to a signature of
1155
+ // the methods they override will not be caught during the build. For
1156
+ // comments about each method please see the definition of TestEventListener
1157
+ // above.
1158
+ class EmptyTestEventListener : public TestEventListener {
1159
+ public:
1160
+ void OnTestProgramStart(const UnitTest& /*unit_test*/) override {}
1161
+ void OnTestIterationStart(const UnitTest& /*unit_test*/,
1162
+ int /*iteration*/) override {}
1163
+ void OnEnvironmentsSetUpStart(const UnitTest& /*unit_test*/) override {}
1164
+ void OnEnvironmentsSetUpEnd(const UnitTest& /*unit_test*/) override {}
1165
+ void OnTestSuiteStart(const TestSuite& /*test_suite*/) override {}
1166
+ // Legacy API is deprecated but still available
1167
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1168
+ void OnTestCaseStart(const TestCase& /*test_case*/) override {}
1169
+ #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1170
+
1171
+ void OnTestStart(const TestInfo& /*test_info*/) override {}
1172
+ void OnTestPartResult(const TestPartResult& /*test_part_result*/) override {}
1173
+ void OnTestEnd(const TestInfo& /*test_info*/) override {}
1174
+ void OnTestSuiteEnd(const TestSuite& /*test_suite*/) override {}
1175
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1176
+ void OnTestCaseEnd(const TestCase& /*test_case*/) override {}
1177
+ #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1178
+
1179
+ void OnEnvironmentsTearDownStart(const UnitTest& /*unit_test*/) override {}
1180
+ void OnEnvironmentsTearDownEnd(const UnitTest& /*unit_test*/) override {}
1181
+ void OnTestIterationEnd(const UnitTest& /*unit_test*/,
1182
+ int /*iteration*/) override {}
1183
+ void OnTestProgramEnd(const UnitTest& /*unit_test*/) override {}
1184
+ };
1185
+
1186
+ // TestEventListeners lets users add listeners to track events in Google Test.
1187
+ class GTEST_API_ TestEventListeners {
1188
+ public:
1189
+ TestEventListeners();
1190
+ ~TestEventListeners();
1191
+
1192
+ // Appends an event listener to the end of the list. Google Test assumes
1193
+ // the ownership of the listener (i.e. it will delete the listener when
1194
+ // the test program finishes).
1195
+ void Append(TestEventListener* listener);
1196
+
1197
+ // Removes the given event listener from the list and returns it. It then
1198
+ // becomes the caller's responsibility to delete the listener. Returns
1199
+ // NULL if the listener is not found in the list.
1200
+ TestEventListener* Release(TestEventListener* listener);
1201
+
1202
+ // Returns the standard listener responsible for the default console
1203
+ // output. Can be removed from the listeners list to shut down default
1204
+ // console output. Note that removing this object from the listener list
1205
+ // with Release transfers its ownership to the caller and makes this
1206
+ // function return NULL the next time.
1207
+ TestEventListener* default_result_printer() const {
1208
+ return default_result_printer_;
1209
+ }
1210
+
1211
+ // Returns the standard listener responsible for the default XML output
1212
+ // controlled by the --gtest_output=xml flag. Can be removed from the
1213
+ // listeners list by users who want to shut down the default XML output
1214
+ // controlled by this flag and substitute it with custom one. Note that
1215
+ // removing this object from the listener list with Release transfers its
1216
+ // ownership to the caller and makes this function return NULL the next
1217
+ // time.
1218
+ TestEventListener* default_xml_generator() const {
1219
+ return default_xml_generator_;
1220
+ }
1221
+
1222
+ private:
1223
+ friend class TestSuite;
1224
+ friend class TestInfo;
1225
+ friend class internal::DefaultGlobalTestPartResultReporter;
1226
+ friend class internal::NoExecDeathTest;
1227
+ friend class internal::TestEventListenersAccessor;
1228
+ friend class internal::UnitTestImpl;
1229
+
1230
+ // Returns repeater that broadcasts the TestEventListener events to all
1231
+ // subscribers.
1232
+ TestEventListener* repeater();
1233
+
1234
+ // Sets the default_result_printer attribute to the provided listener.
1235
+ // The listener is also added to the listener list and previous
1236
+ // default_result_printer is removed from it and deleted. The listener can
1237
+ // also be NULL in which case it will not be added to the list. Does
1238
+ // nothing if the previous and the current listener objects are the same.
1239
+ void SetDefaultResultPrinter(TestEventListener* listener);
1240
+
1241
+ // Sets the default_xml_generator attribute to the provided listener. The
1242
+ // listener is also added to the listener list and previous
1243
+ // default_xml_generator is removed from it and deleted. The listener can
1244
+ // also be NULL in which case it will not be added to the list. Does
1245
+ // nothing if the previous and the current listener objects are the same.
1246
+ void SetDefaultXmlGenerator(TestEventListener* listener);
1247
+
1248
+ // Controls whether events will be forwarded by the repeater to the
1249
+ // listeners in the list.
1250
+ bool EventForwardingEnabled() const;
1251
+ void SuppressEventForwarding();
1252
+
1253
+ // The actual list of listeners.
1254
+ internal::TestEventRepeater* repeater_;
1255
+ // Listener responsible for the standard result output.
1256
+ TestEventListener* default_result_printer_;
1257
+ // Listener responsible for the creation of the XML output file.
1258
+ TestEventListener* default_xml_generator_;
1259
+
1260
+ // We disallow copying TestEventListeners.
1261
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(TestEventListeners);
1262
+ };
1263
+
1264
+ // A UnitTest consists of a vector of TestSuites.
1265
+ //
1266
+ // This is a singleton class. The only instance of UnitTest is
1267
+ // created when UnitTest::GetInstance() is first called. This
1268
+ // instance is never deleted.
1269
+ //
1270
+ // UnitTest is not copyable.
1271
+ //
1272
+ // This class is thread-safe as long as the methods are called
1273
+ // according to their specification.
1274
+ class GTEST_API_ UnitTest {
1275
+ public:
1276
+ // Gets the singleton UnitTest object. The first time this method
1277
+ // is called, a UnitTest object is constructed and returned.
1278
+ // Consecutive calls will return the same object.
1279
+ static UnitTest* GetInstance();
1280
+
1281
+ // Runs all tests in this UnitTest object and prints the result.
1282
+ // Returns 0 if successful, or 1 otherwise.
1283
+ //
1284
+ // This method can only be called from the main thread.
1285
+ //
1286
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1287
+ int Run() GTEST_MUST_USE_RESULT_;
1288
+
1289
+ // Returns the working directory when the first TEST() or TEST_F()
1290
+ // was executed. The UnitTest object owns the string.
1291
+ const char* original_working_dir() const;
1292
+
1293
+ // Returns the TestSuite object for the test that's currently running,
1294
+ // or NULL if no test is running.
1295
+ const TestSuite* current_test_suite() const GTEST_LOCK_EXCLUDED_(mutex_);
1296
+
1297
+ // Legacy API is still available but deprecated
1298
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1299
+ const TestCase* current_test_case() const GTEST_LOCK_EXCLUDED_(mutex_);
1300
+ #endif
1301
+
1302
+ // Returns the TestInfo object for the test that's currently running,
1303
+ // or NULL if no test is running.
1304
+ const TestInfo* current_test_info() const
1305
+ GTEST_LOCK_EXCLUDED_(mutex_);
1306
+
1307
+ // Returns the random seed used at the start of the current test run.
1308
+ int random_seed() const;
1309
+
1310
+ // Returns the ParameterizedTestSuiteRegistry object used to keep track of
1311
+ // value-parameterized tests and instantiate and register them.
1312
+ //
1313
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1314
+ internal::ParameterizedTestSuiteRegistry& parameterized_test_registry()
1315
+ GTEST_LOCK_EXCLUDED_(mutex_);
1316
+
1317
+ // Gets the number of successful test suites.
1318
+ int successful_test_suite_count() const;
1319
+
1320
+ // Gets the number of failed test suites.
1321
+ int failed_test_suite_count() const;
1322
+
1323
+ // Gets the number of all test suites.
1324
+ int total_test_suite_count() const;
1325
+
1326
+ // Gets the number of all test suites that contain at least one test
1327
+ // that should run.
1328
+ int test_suite_to_run_count() const;
1329
+
1330
+ // Legacy API is deprecated but still available
1331
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1332
+ int successful_test_case_count() const;
1333
+ int failed_test_case_count() const;
1334
+ int total_test_case_count() const;
1335
+ int test_case_to_run_count() const;
1336
+ #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1337
+
1338
+ // Gets the number of successful tests.
1339
+ int successful_test_count() const;
1340
+
1341
+ // Gets the number of skipped tests.
1342
+ int skipped_test_count() const;
1343
+
1344
+ // Gets the number of failed tests.
1345
+ int failed_test_count() const;
1346
+
1347
+ // Gets the number of disabled tests that will be reported in the XML report.
1348
+ int reportable_disabled_test_count() const;
1349
+
1350
+ // Gets the number of disabled tests.
1351
+ int disabled_test_count() const;
1352
+
1353
+ // Gets the number of tests to be printed in the XML report.
1354
+ int reportable_test_count() const;
1355
+
1356
+ // Gets the number of all tests.
1357
+ int total_test_count() const;
1358
+
1359
+ // Gets the number of tests that should run.
1360
+ int test_to_run_count() const;
1361
+
1362
+ // Gets the time of the test program start, in ms from the start of the
1363
+ // UNIX epoch.
1364
+ TimeInMillis start_timestamp() const;
1365
+
1366
+ // Gets the elapsed time, in milliseconds.
1367
+ TimeInMillis elapsed_time() const;
1368
+
1369
+ // Returns true if and only if the unit test passed (i.e. all test suites
1370
+ // passed).
1371
+ bool Passed() const;
1372
+
1373
+ // Returns true if and only if the unit test failed (i.e. some test suite
1374
+ // failed or something outside of all tests failed).
1375
+ bool Failed() const;
1376
+
1377
+ // Gets the i-th test suite among all the test suites. i can range from 0 to
1378
+ // total_test_suite_count() - 1. If i is not in that range, returns NULL.
1379
+ const TestSuite* GetTestSuite(int i) const;
1380
+
1381
+ // Legacy API is deprecated but still available
1382
+ #ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1383
+ const TestCase* GetTestCase(int i) const;
1384
+ #endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_
1385
+
1386
+ // Returns the TestResult containing information on test failures and
1387
+ // properties logged outside of individual test suites.
1388
+ const TestResult& ad_hoc_test_result() const;
1389
+
1390
+ // Returns the list of event listeners that can be used to track events
1391
+ // inside Google Test.
1392
+ TestEventListeners& listeners();
1393
+
1394
+ private:
1395
+ // Registers and returns a global test environment. When a test
1396
+ // program is run, all global test environments will be set-up in
1397
+ // the order they were registered. After all tests in the program
1398
+ // have finished, all global test environments will be torn-down in
1399
+ // the *reverse* order they were registered.
1400
+ //
1401
+ // The UnitTest object takes ownership of the given environment.
1402
+ //
1403
+ // This method can only be called from the main thread.
1404
+ Environment* AddEnvironment(Environment* env);
1405
+
1406
+ // Adds a TestPartResult to the current TestResult object. All
1407
+ // Google Test assertion macros (e.g. ASSERT_TRUE, EXPECT_EQ, etc)
1408
+ // eventually call this to report their results. The user code
1409
+ // should use the assertion macros instead of calling this directly.
1410
+ void AddTestPartResult(TestPartResult::Type result_type,
1411
+ const char* file_name,
1412
+ int line_number,
1413
+ const std::string& message,
1414
+ const std::string& os_stack_trace)
1415
+ GTEST_LOCK_EXCLUDED_(mutex_);
1416
+
1417
+ // Adds a TestProperty to the current TestResult object when invoked from
1418
+ // inside a test, to current TestSuite's ad_hoc_test_result_ when invoked
1419
+ // from SetUpTestSuite or TearDownTestSuite, or to the global property set
1420
+ // when invoked elsewhere. If the result already contains a property with
1421
+ // the same key, the value will be updated.
1422
+ void RecordProperty(const std::string& key, const std::string& value);
1423
+
1424
+ // Gets the i-th test suite among all the test suites. i can range from 0 to
1425
+ // total_test_suite_count() - 1. If i is not in that range, returns NULL.
1426
+ TestSuite* GetMutableTestSuite(int i);
1427
+
1428
+ // Accessors for the implementation object.
1429
+ internal::UnitTestImpl* impl() { return impl_; }
1430
+ const internal::UnitTestImpl* impl() const { return impl_; }
1431
+
1432
+ // These classes and functions are friends as they need to access private
1433
+ // members of UnitTest.
1434
+ friend class ScopedTrace;
1435
+ friend class Test;
1436
+ friend class internal::AssertHelper;
1437
+ friend class internal::StreamingListenerTest;
1438
+ friend class internal::UnitTestRecordPropertyTestHelper;
1439
+ friend Environment* AddGlobalTestEnvironment(Environment* env);
1440
+ friend std::set<std::string>* internal::GetIgnoredParameterizedTestSuites();
1441
+ friend internal::UnitTestImpl* internal::GetUnitTestImpl();
1442
+ friend void internal::ReportFailureInUnknownLocation(
1443
+ TestPartResult::Type result_type,
1444
+ const std::string& message);
1445
+
1446
+ // Creates an empty UnitTest.
1447
+ UnitTest();
1448
+
1449
+ // D'tor
1450
+ virtual ~UnitTest();
1451
+
1452
+ // Pushes a trace defined by SCOPED_TRACE() on to the per-thread
1453
+ // Google Test trace stack.
1454
+ void PushGTestTrace(const internal::TraceInfo& trace)
1455
+ GTEST_LOCK_EXCLUDED_(mutex_);
1456
+
1457
+ // Pops a trace from the per-thread Google Test trace stack.
1458
+ void PopGTestTrace()
1459
+ GTEST_LOCK_EXCLUDED_(mutex_);
1460
+
1461
+ // Protects mutable state in *impl_. This is mutable as some const
1462
+ // methods need to lock it too.
1463
+ mutable internal::Mutex mutex_;
1464
+
1465
+ // Opaque implementation object. This field is never changed once
1466
+ // the object is constructed. We don't mark it as const here, as
1467
+ // doing so will cause a warning in the constructor of UnitTest.
1468
+ // Mutable state in *impl_ is protected by mutex_.
1469
+ internal::UnitTestImpl* impl_;
1470
+
1471
+ // We disallow copying UnitTest.
1472
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(UnitTest);
1473
+ };
1474
+
1475
+ // A convenient wrapper for adding an environment for the test
1476
+ // program.
1477
+ //
1478
+ // You should call this before RUN_ALL_TESTS() is called, probably in
1479
+ // main(). If you use gtest_main, you need to call this before main()
1480
+ // starts for it to take effect. For example, you can define a global
1481
+ // variable like this:
1482
+ //
1483
+ // testing::Environment* const foo_env =
1484
+ // testing::AddGlobalTestEnvironment(new FooEnvironment);
1485
+ //
1486
+ // However, we strongly recommend you to write your own main() and
1487
+ // call AddGlobalTestEnvironment() there, as relying on initialization
1488
+ // of global variables makes the code harder to read and may cause
1489
+ // problems when you register multiple environments from different
1490
+ // translation units and the environments have dependencies among them
1491
+ // (remember that the compiler doesn't guarantee the order in which
1492
+ // global variables from different translation units are initialized).
1493
+ inline Environment* AddGlobalTestEnvironment(Environment* env) {
1494
+ return UnitTest::GetInstance()->AddEnvironment(env);
1495
+ }
1496
+
1497
+ // Initializes Google Test. This must be called before calling
1498
+ // RUN_ALL_TESTS(). In particular, it parses a command line for the
1499
+ // flags that Google Test recognizes. Whenever a Google Test flag is
1500
+ // seen, it is removed from argv, and *argc is decremented.
1501
+ //
1502
+ // No value is returned. Instead, the Google Test flag variables are
1503
+ // updated.
1504
+ //
1505
+ // Calling the function for the second time has no user-visible effect.
1506
+ GTEST_API_ void InitGoogleTest(int* argc, char** argv);
1507
+
1508
+ // This overloaded version can be used in Windows programs compiled in
1509
+ // UNICODE mode.
1510
+ GTEST_API_ void InitGoogleTest(int* argc, wchar_t** argv);
1511
+
1512
+ // This overloaded version can be used on Arduino/embedded platforms where
1513
+ // there is no argc/argv.
1514
+ GTEST_API_ void InitGoogleTest();
1515
+
1516
+ namespace internal {
1517
+
1518
+ // Separate the error generating code from the code path to reduce the stack
1519
+ // frame size of CmpHelperEQ. This helps reduce the overhead of some sanitizers
1520
+ // when calling EXPECT_* in a tight loop.
1521
+ template <typename T1, typename T2>
1522
+ AssertionResult CmpHelperEQFailure(const char* lhs_expression,
1523
+ const char* rhs_expression,
1524
+ const T1& lhs, const T2& rhs) {
1525
+ return EqFailure(lhs_expression,
1526
+ rhs_expression,
1527
+ FormatForComparisonFailureMessage(lhs, rhs),
1528
+ FormatForComparisonFailureMessage(rhs, lhs),
1529
+ false);
1530
+ }
1531
+
1532
+ // This block of code defines operator==/!=
1533
+ // to block lexical scope lookup.
1534
+ // It prevents using invalid operator==/!= defined at namespace scope.
1535
+ struct faketype {};
1536
+ inline bool operator==(faketype, faketype) { return true; }
1537
+ inline bool operator!=(faketype, faketype) { return false; }
1538
+
1539
+ // The helper function for {ASSERT|EXPECT}_EQ.
1540
+ template <typename T1, typename T2>
1541
+ AssertionResult CmpHelperEQ(const char* lhs_expression,
1542
+ const char* rhs_expression,
1543
+ const T1& lhs,
1544
+ const T2& rhs) {
1545
+ if (lhs == rhs) {
1546
+ return AssertionSuccess();
1547
+ }
1548
+
1549
+ return CmpHelperEQFailure(lhs_expression, rhs_expression, lhs, rhs);
1550
+ }
1551
+
1552
+ // With this overloaded version, we allow anonymous enums to be used
1553
+ // in {ASSERT|EXPECT}_EQ when compiled with gcc 4, as anonymous enums
1554
+ // can be implicitly cast to BiggestInt.
1555
+ GTEST_API_ AssertionResult CmpHelperEQ(const char* lhs_expression,
1556
+ const char* rhs_expression,
1557
+ BiggestInt lhs,
1558
+ BiggestInt rhs);
1559
+
1560
+ class EqHelper {
1561
+ public:
1562
+ // This templatized version is for the general case.
1563
+ template <
1564
+ typename T1, typename T2,
1565
+ // Disable this overload for cases where one argument is a pointer
1566
+ // and the other is the null pointer constant.
1567
+ typename std::enable_if<!std::is_integral<T1>::value ||
1568
+ !std::is_pointer<T2>::value>::type* = nullptr>
1569
+ static AssertionResult Compare(const char* lhs_expression,
1570
+ const char* rhs_expression, const T1& lhs,
1571
+ const T2& rhs) {
1572
+ return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
1573
+ }
1574
+
1575
+ // With this overloaded version, we allow anonymous enums to be used
1576
+ // in {ASSERT|EXPECT}_EQ when compiled with gcc 4, as anonymous
1577
+ // enums can be implicitly cast to BiggestInt.
1578
+ //
1579
+ // Even though its body looks the same as the above version, we
1580
+ // cannot merge the two, as it will make anonymous enums unhappy.
1581
+ static AssertionResult Compare(const char* lhs_expression,
1582
+ const char* rhs_expression,
1583
+ BiggestInt lhs,
1584
+ BiggestInt rhs) {
1585
+ return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
1586
+ }
1587
+
1588
+ template <typename T>
1589
+ static AssertionResult Compare(
1590
+ const char* lhs_expression, const char* rhs_expression,
1591
+ // Handle cases where '0' is used as a null pointer literal.
1592
+ std::nullptr_t /* lhs */, T* rhs) {
1593
+ // We already know that 'lhs' is a null pointer.
1594
+ return CmpHelperEQ(lhs_expression, rhs_expression, static_cast<T*>(nullptr),
1595
+ rhs);
1596
+ }
1597
+ };
1598
+
1599
+ // Separate the error generating code from the code path to reduce the stack
1600
+ // frame size of CmpHelperOP. This helps reduce the overhead of some sanitizers
1601
+ // when calling EXPECT_OP in a tight loop.
1602
+ template <typename T1, typename T2>
1603
+ AssertionResult CmpHelperOpFailure(const char* expr1, const char* expr2,
1604
+ const T1& val1, const T2& val2,
1605
+ const char* op) {
1606
+ return AssertionFailure()
1607
+ << "Expected: (" << expr1 << ") " << op << " (" << expr2
1608
+ << "), actual: " << FormatForComparisonFailureMessage(val1, val2)
1609
+ << " vs " << FormatForComparisonFailureMessage(val2, val1);
1610
+ }
1611
+
1612
+ // A macro for implementing the helper functions needed to implement
1613
+ // ASSERT_?? and EXPECT_??. It is here just to avoid copy-and-paste
1614
+ // of similar code.
1615
+ //
1616
+ // For each templatized helper function, we also define an overloaded
1617
+ // version for BiggestInt in order to reduce code bloat and allow
1618
+ // anonymous enums to be used with {ASSERT|EXPECT}_?? when compiled
1619
+ // with gcc 4.
1620
+ //
1621
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1622
+
1623
+ #define GTEST_IMPL_CMP_HELPER_(op_name, op)\
1624
+ template <typename T1, typename T2>\
1625
+ AssertionResult CmpHelper##op_name(const char* expr1, const char* expr2, \
1626
+ const T1& val1, const T2& val2) {\
1627
+ if (val1 op val2) {\
1628
+ return AssertionSuccess();\
1629
+ } else {\
1630
+ return CmpHelperOpFailure(expr1, expr2, val1, val2, #op);\
1631
+ }\
1632
+ }\
1633
+ GTEST_API_ AssertionResult CmpHelper##op_name(\
1634
+ const char* expr1, const char* expr2, BiggestInt val1, BiggestInt val2)
1635
+
1636
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1637
+
1638
+ // Implements the helper function for {ASSERT|EXPECT}_NE
1639
+ GTEST_IMPL_CMP_HELPER_(NE, !=);
1640
+ // Implements the helper function for {ASSERT|EXPECT}_LE
1641
+ GTEST_IMPL_CMP_HELPER_(LE, <=);
1642
+ // Implements the helper function for {ASSERT|EXPECT}_LT
1643
+ GTEST_IMPL_CMP_HELPER_(LT, <);
1644
+ // Implements the helper function for {ASSERT|EXPECT}_GE
1645
+ GTEST_IMPL_CMP_HELPER_(GE, >=);
1646
+ // Implements the helper function for {ASSERT|EXPECT}_GT
1647
+ GTEST_IMPL_CMP_HELPER_(GT, >);
1648
+
1649
+ #undef GTEST_IMPL_CMP_HELPER_
1650
+
1651
+ // The helper function for {ASSERT|EXPECT}_STREQ.
1652
+ //
1653
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1654
+ GTEST_API_ AssertionResult CmpHelperSTREQ(const char* s1_expression,
1655
+ const char* s2_expression,
1656
+ const char* s1,
1657
+ const char* s2);
1658
+
1659
+ // The helper function for {ASSERT|EXPECT}_STRCASEEQ.
1660
+ //
1661
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1662
+ GTEST_API_ AssertionResult CmpHelperSTRCASEEQ(const char* s1_expression,
1663
+ const char* s2_expression,
1664
+ const char* s1,
1665
+ const char* s2);
1666
+
1667
+ // The helper function for {ASSERT|EXPECT}_STRNE.
1668
+ //
1669
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1670
+ GTEST_API_ AssertionResult CmpHelperSTRNE(const char* s1_expression,
1671
+ const char* s2_expression,
1672
+ const char* s1,
1673
+ const char* s2);
1674
+
1675
+ // The helper function for {ASSERT|EXPECT}_STRCASENE.
1676
+ //
1677
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1678
+ GTEST_API_ AssertionResult CmpHelperSTRCASENE(const char* s1_expression,
1679
+ const char* s2_expression,
1680
+ const char* s1,
1681
+ const char* s2);
1682
+
1683
+
1684
+ // Helper function for *_STREQ on wide strings.
1685
+ //
1686
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1687
+ GTEST_API_ AssertionResult CmpHelperSTREQ(const char* s1_expression,
1688
+ const char* s2_expression,
1689
+ const wchar_t* s1,
1690
+ const wchar_t* s2);
1691
+
1692
+ // Helper function for *_STRNE on wide strings.
1693
+ //
1694
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1695
+ GTEST_API_ AssertionResult CmpHelperSTRNE(const char* s1_expression,
1696
+ const char* s2_expression,
1697
+ const wchar_t* s1,
1698
+ const wchar_t* s2);
1699
+
1700
+ } // namespace internal
1701
+
1702
+ // IsSubstring() and IsNotSubstring() are intended to be used as the
1703
+ // first argument to {EXPECT,ASSERT}_PRED_FORMAT2(), not by
1704
+ // themselves. They check whether needle is a substring of haystack
1705
+ // (NULL is considered a substring of itself only), and return an
1706
+ // appropriate error message when they fail.
1707
+ //
1708
+ // The {needle,haystack}_expr arguments are the stringified
1709
+ // expressions that generated the two real arguments.
1710
+ GTEST_API_ AssertionResult IsSubstring(
1711
+ const char* needle_expr, const char* haystack_expr,
1712
+ const char* needle, const char* haystack);
1713
+ GTEST_API_ AssertionResult IsSubstring(
1714
+ const char* needle_expr, const char* haystack_expr,
1715
+ const wchar_t* needle, const wchar_t* haystack);
1716
+ GTEST_API_ AssertionResult IsNotSubstring(
1717
+ const char* needle_expr, const char* haystack_expr,
1718
+ const char* needle, const char* haystack);
1719
+ GTEST_API_ AssertionResult IsNotSubstring(
1720
+ const char* needle_expr, const char* haystack_expr,
1721
+ const wchar_t* needle, const wchar_t* haystack);
1722
+ GTEST_API_ AssertionResult IsSubstring(
1723
+ const char* needle_expr, const char* haystack_expr,
1724
+ const ::std::string& needle, const ::std::string& haystack);
1725
+ GTEST_API_ AssertionResult IsNotSubstring(
1726
+ const char* needle_expr, const char* haystack_expr,
1727
+ const ::std::string& needle, const ::std::string& haystack);
1728
+
1729
+ #if GTEST_HAS_STD_WSTRING
1730
+ GTEST_API_ AssertionResult IsSubstring(
1731
+ const char* needle_expr, const char* haystack_expr,
1732
+ const ::std::wstring& needle, const ::std::wstring& haystack);
1733
+ GTEST_API_ AssertionResult IsNotSubstring(
1734
+ const char* needle_expr, const char* haystack_expr,
1735
+ const ::std::wstring& needle, const ::std::wstring& haystack);
1736
+ #endif // GTEST_HAS_STD_WSTRING
1737
+
1738
+ namespace internal {
1739
+
1740
+ // Helper template function for comparing floating-points.
1741
+ //
1742
+ // Template parameter:
1743
+ //
1744
+ // RawType: the raw floating-point type (either float or double)
1745
+ //
1746
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1747
+ template <typename RawType>
1748
+ AssertionResult CmpHelperFloatingPointEQ(const char* lhs_expression,
1749
+ const char* rhs_expression,
1750
+ RawType lhs_value,
1751
+ RawType rhs_value) {
1752
+ const FloatingPoint<RawType> lhs(lhs_value), rhs(rhs_value);
1753
+
1754
+ if (lhs.AlmostEquals(rhs)) {
1755
+ return AssertionSuccess();
1756
+ }
1757
+
1758
+ ::std::stringstream lhs_ss;
1759
+ lhs_ss << std::setprecision(std::numeric_limits<RawType>::digits10 + 2)
1760
+ << lhs_value;
1761
+
1762
+ ::std::stringstream rhs_ss;
1763
+ rhs_ss << std::setprecision(std::numeric_limits<RawType>::digits10 + 2)
1764
+ << rhs_value;
1765
+
1766
+ return EqFailure(lhs_expression,
1767
+ rhs_expression,
1768
+ StringStreamToString(&lhs_ss),
1769
+ StringStreamToString(&rhs_ss),
1770
+ false);
1771
+ }
1772
+
1773
+ // Helper function for implementing ASSERT_NEAR.
1774
+ //
1775
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
1776
+ GTEST_API_ AssertionResult DoubleNearPredFormat(const char* expr1,
1777
+ const char* expr2,
1778
+ const char* abs_error_expr,
1779
+ double val1,
1780
+ double val2,
1781
+ double abs_error);
1782
+
1783
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
1784
+ // A class that enables one to stream messages to assertion macros
1785
+ class GTEST_API_ AssertHelper {
1786
+ public:
1787
+ // Constructor.
1788
+ AssertHelper(TestPartResult::Type type,
1789
+ const char* file,
1790
+ int line,
1791
+ const char* message);
1792
+ ~AssertHelper();
1793
+
1794
+ // Message assignment is a semantic trick to enable assertion
1795
+ // streaming; see the GTEST_MESSAGE_ macro below.
1796
+ void operator=(const Message& message) const;
1797
+
1798
+ private:
1799
+ // We put our data in a struct so that the size of the AssertHelper class can
1800
+ // be as small as possible. This is important because gcc is incapable of
1801
+ // re-using stack space even for temporary variables, so every EXPECT_EQ
1802
+ // reserves stack space for another AssertHelper.
1803
+ struct AssertHelperData {
1804
+ AssertHelperData(TestPartResult::Type t,
1805
+ const char* srcfile,
1806
+ int line_num,
1807
+ const char* msg)
1808
+ : type(t), file(srcfile), line(line_num), message(msg) { }
1809
+
1810
+ TestPartResult::Type const type;
1811
+ const char* const file;
1812
+ int const line;
1813
+ std::string const message;
1814
+
1815
+ private:
1816
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(AssertHelperData);
1817
+ };
1818
+
1819
+ AssertHelperData* const data_;
1820
+
1821
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(AssertHelper);
1822
+ };
1823
+
1824
+ } // namespace internal
1825
+
1826
+ // The pure interface class that all value-parameterized tests inherit from.
1827
+ // A value-parameterized class must inherit from both ::testing::Test and
1828
+ // ::testing::WithParamInterface. In most cases that just means inheriting
1829
+ // from ::testing::TestWithParam, but more complicated test hierarchies
1830
+ // may need to inherit from Test and WithParamInterface at different levels.
1831
+ //
1832
+ // This interface has support for accessing the test parameter value via
1833
+ // the GetParam() method.
1834
+ //
1835
+ // Use it with one of the parameter generator defining functions, like Range(),
1836
+ // Values(), ValuesIn(), Bool(), and Combine().
1837
+ //
1838
+ // class FooTest : public ::testing::TestWithParam<int> {
1839
+ // protected:
1840
+ // FooTest() {
1841
+ // // Can use GetParam() here.
1842
+ // }
1843
+ // ~FooTest() override {
1844
+ // // Can use GetParam() here.
1845
+ // }
1846
+ // void SetUp() override {
1847
+ // // Can use GetParam() here.
1848
+ // }
1849
+ // void TearDown override {
1850
+ // // Can use GetParam() here.
1851
+ // }
1852
+ // };
1853
+ // TEST_P(FooTest, DoesBar) {
1854
+ // // Can use GetParam() method here.
1855
+ // Foo foo;
1856
+ // ASSERT_TRUE(foo.DoesBar(GetParam()));
1857
+ // }
1858
+ // INSTANTIATE_TEST_SUITE_P(OneToTenRange, FooTest, ::testing::Range(1, 10));
1859
+
1860
+ template <typename T>
1861
+ class WithParamInterface {
1862
+ public:
1863
+ typedef T ParamType;
1864
+ virtual ~WithParamInterface() {}
1865
+
1866
+ // The current parameter value. Is also available in the test fixture's
1867
+ // constructor.
1868
+ static const ParamType& GetParam() {
1869
+ GTEST_CHECK_(parameter_ != nullptr)
1870
+ << "GetParam() can only be called inside a value-parameterized test "
1871
+ << "-- did you intend to write TEST_P instead of TEST_F?";
1872
+ return *parameter_;
1873
+ }
1874
+
1875
+ private:
1876
+ // Sets parameter value. The caller is responsible for making sure the value
1877
+ // remains alive and unchanged throughout the current test.
1878
+ static void SetParam(const ParamType* parameter) {
1879
+ parameter_ = parameter;
1880
+ }
1881
+
1882
+ // Static value used for accessing parameter during a test lifetime.
1883
+ static const ParamType* parameter_;
1884
+
1885
+ // TestClass must be a subclass of WithParamInterface<T> and Test.
1886
+ template <class TestClass> friend class internal::ParameterizedTestFactory;
1887
+ };
1888
+
1889
+ template <typename T>
1890
+ const T* WithParamInterface<T>::parameter_ = nullptr;
1891
+
1892
+ // Most value-parameterized classes can ignore the existence of
1893
+ // WithParamInterface, and can just inherit from ::testing::TestWithParam.
1894
+
1895
+ template <typename T>
1896
+ class TestWithParam : public Test, public WithParamInterface<T> {
1897
+ };
1898
+
1899
+ // Macros for indicating success/failure in test code.
1900
+
1901
+ // Skips test in runtime.
1902
+ // Skipping test aborts current function.
1903
+ // Skipped tests are neither successful nor failed.
1904
+ #define GTEST_SKIP() GTEST_SKIP_("")
1905
+
1906
+ // ADD_FAILURE unconditionally adds a failure to the current test.
1907
+ // SUCCEED generates a success - it doesn't automatically make the
1908
+ // current test successful, as a test is only successful when it has
1909
+ // no failure.
1910
+ //
1911
+ // EXPECT_* verifies that a certain condition is satisfied. If not,
1912
+ // it behaves like ADD_FAILURE. In particular:
1913
+ //
1914
+ // EXPECT_TRUE verifies that a Boolean condition is true.
1915
+ // EXPECT_FALSE verifies that a Boolean condition is false.
1916
+ //
1917
+ // FAIL and ASSERT_* are similar to ADD_FAILURE and EXPECT_*, except
1918
+ // that they will also abort the current function on failure. People
1919
+ // usually want the fail-fast behavior of FAIL and ASSERT_*, but those
1920
+ // writing data-driven tests often find themselves using ADD_FAILURE
1921
+ // and EXPECT_* more.
1922
+
1923
+ // Generates a nonfatal failure with a generic message.
1924
+ #define ADD_FAILURE() GTEST_NONFATAL_FAILURE_("Failed")
1925
+
1926
+ // Generates a nonfatal failure at the given source file location with
1927
+ // a generic message.
1928
+ #define ADD_FAILURE_AT(file, line) \
1929
+ GTEST_MESSAGE_AT_(file, line, "Failed", \
1930
+ ::testing::TestPartResult::kNonFatalFailure)
1931
+
1932
+ // Generates a fatal failure with a generic message.
1933
+ #define GTEST_FAIL() GTEST_FATAL_FAILURE_("Failed")
1934
+
1935
+ // Like GTEST_FAIL(), but at the given source file location.
1936
+ #define GTEST_FAIL_AT(file, line) \
1937
+ GTEST_MESSAGE_AT_(file, line, "Failed", \
1938
+ ::testing::TestPartResult::kFatalFailure)
1939
+
1940
+ // Define this macro to 1 to omit the definition of FAIL(), which is a
1941
+ // generic name and clashes with some other libraries.
1942
+ #if !GTEST_DONT_DEFINE_FAIL
1943
+ # define FAIL() GTEST_FAIL()
1944
+ #endif
1945
+
1946
+ // Generates a success with a generic message.
1947
+ #define GTEST_SUCCEED() GTEST_SUCCESS_("Succeeded")
1948
+
1949
+ // Define this macro to 1 to omit the definition of SUCCEED(), which
1950
+ // is a generic name and clashes with some other libraries.
1951
+ #if !GTEST_DONT_DEFINE_SUCCEED
1952
+ # define SUCCEED() GTEST_SUCCEED()
1953
+ #endif
1954
+
1955
+ // Macros for testing exceptions.
1956
+ //
1957
+ // * {ASSERT|EXPECT}_THROW(statement, expected_exception):
1958
+ // Tests that the statement throws the expected exception.
1959
+ // * {ASSERT|EXPECT}_NO_THROW(statement):
1960
+ // Tests that the statement doesn't throw any exception.
1961
+ // * {ASSERT|EXPECT}_ANY_THROW(statement):
1962
+ // Tests that the statement throws an exception.
1963
+
1964
+ #define EXPECT_THROW(statement, expected_exception) \
1965
+ GTEST_TEST_THROW_(statement, expected_exception, GTEST_NONFATAL_FAILURE_)
1966
+ #define EXPECT_NO_THROW(statement) \
1967
+ GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_)
1968
+ #define EXPECT_ANY_THROW(statement) \
1969
+ GTEST_TEST_ANY_THROW_(statement, GTEST_NONFATAL_FAILURE_)
1970
+ #define ASSERT_THROW(statement, expected_exception) \
1971
+ GTEST_TEST_THROW_(statement, expected_exception, GTEST_FATAL_FAILURE_)
1972
+ #define ASSERT_NO_THROW(statement) \
1973
+ GTEST_TEST_NO_THROW_(statement, GTEST_FATAL_FAILURE_)
1974
+ #define ASSERT_ANY_THROW(statement) \
1975
+ GTEST_TEST_ANY_THROW_(statement, GTEST_FATAL_FAILURE_)
1976
+
1977
+ // Boolean assertions. Condition can be either a Boolean expression or an
1978
+ // AssertionResult. For more information on how to use AssertionResult with
1979
+ // these macros see comments on that class.
1980
+ #define EXPECT_TRUE(condition) \
1981
+ GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
1982
+ GTEST_NONFATAL_FAILURE_)
1983
+ #define EXPECT_FALSE(condition) \
1984
+ GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
1985
+ GTEST_NONFATAL_FAILURE_)
1986
+ #define ASSERT_TRUE(condition) \
1987
+ GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \
1988
+ GTEST_FATAL_FAILURE_)
1989
+ #define ASSERT_FALSE(condition) \
1990
+ GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \
1991
+ GTEST_FATAL_FAILURE_)
1992
+
1993
+ // Macros for testing equalities and inequalities.
1994
+ //
1995
+ // * {ASSERT|EXPECT}_EQ(v1, v2): Tests that v1 == v2
1996
+ // * {ASSERT|EXPECT}_NE(v1, v2): Tests that v1 != v2
1997
+ // * {ASSERT|EXPECT}_LT(v1, v2): Tests that v1 < v2
1998
+ // * {ASSERT|EXPECT}_LE(v1, v2): Tests that v1 <= v2
1999
+ // * {ASSERT|EXPECT}_GT(v1, v2): Tests that v1 > v2
2000
+ // * {ASSERT|EXPECT}_GE(v1, v2): Tests that v1 >= v2
2001
+ //
2002
+ // When they are not, Google Test prints both the tested expressions and
2003
+ // their actual values. The values must be compatible built-in types,
2004
+ // or you will get a compiler error. By "compatible" we mean that the
2005
+ // values can be compared by the respective operator.
2006
+ //
2007
+ // Note:
2008
+ //
2009
+ // 1. It is possible to make a user-defined type work with
2010
+ // {ASSERT|EXPECT}_??(), but that requires overloading the
2011
+ // comparison operators and is thus discouraged by the Google C++
2012
+ // Usage Guide. Therefore, you are advised to use the
2013
+ // {ASSERT|EXPECT}_TRUE() macro to assert that two objects are
2014
+ // equal.
2015
+ //
2016
+ // 2. The {ASSERT|EXPECT}_??() macros do pointer comparisons on
2017
+ // pointers (in particular, C strings). Therefore, if you use it
2018
+ // with two C strings, you are testing how their locations in memory
2019
+ // are related, not how their content is related. To compare two C
2020
+ // strings by content, use {ASSERT|EXPECT}_STR*().
2021
+ //
2022
+ // 3. {ASSERT|EXPECT}_EQ(v1, v2) is preferred to
2023
+ // {ASSERT|EXPECT}_TRUE(v1 == v2), as the former tells you
2024
+ // what the actual value is when it fails, and similarly for the
2025
+ // other comparisons.
2026
+ //
2027
+ // 4. Do not depend on the order in which {ASSERT|EXPECT}_??()
2028
+ // evaluate their arguments, which is undefined.
2029
+ //
2030
+ // 5. These macros evaluate their arguments exactly once.
2031
+ //
2032
+ // Examples:
2033
+ //
2034
+ // EXPECT_NE(Foo(), 5);
2035
+ // EXPECT_EQ(a_pointer, NULL);
2036
+ // ASSERT_LT(i, array_size);
2037
+ // ASSERT_GT(records.size(), 0) << "There is no record left.";
2038
+
2039
+ #define EXPECT_EQ(val1, val2) \
2040
+ EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
2041
+ #define EXPECT_NE(val1, val2) \
2042
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
2043
+ #define EXPECT_LE(val1, val2) \
2044
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)
2045
+ #define EXPECT_LT(val1, val2) \
2046
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)
2047
+ #define EXPECT_GE(val1, val2) \
2048
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
2049
+ #define EXPECT_GT(val1, val2) \
2050
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
2051
+
2052
+ #define GTEST_ASSERT_EQ(val1, val2) \
2053
+ ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
2054
+ #define GTEST_ASSERT_NE(val1, val2) \
2055
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2)
2056
+ #define GTEST_ASSERT_LE(val1, val2) \
2057
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2)
2058
+ #define GTEST_ASSERT_LT(val1, val2) \
2059
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2)
2060
+ #define GTEST_ASSERT_GE(val1, val2) \
2061
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
2062
+ #define GTEST_ASSERT_GT(val1, val2) \
2063
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
2064
+
2065
+ // Define macro GTEST_DONT_DEFINE_ASSERT_XY to 1 to omit the definition of
2066
+ // ASSERT_XY(), which clashes with some users' own code.
2067
+
2068
+ #if !GTEST_DONT_DEFINE_ASSERT_EQ
2069
+ # define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
2070
+ #endif
2071
+
2072
+ #if !GTEST_DONT_DEFINE_ASSERT_NE
2073
+ # define ASSERT_NE(val1, val2) GTEST_ASSERT_NE(val1, val2)
2074
+ #endif
2075
+
2076
+ #if !GTEST_DONT_DEFINE_ASSERT_LE
2077
+ # define ASSERT_LE(val1, val2) GTEST_ASSERT_LE(val1, val2)
2078
+ #endif
2079
+
2080
+ #if !GTEST_DONT_DEFINE_ASSERT_LT
2081
+ # define ASSERT_LT(val1, val2) GTEST_ASSERT_LT(val1, val2)
2082
+ #endif
2083
+
2084
+ #if !GTEST_DONT_DEFINE_ASSERT_GE
2085
+ # define ASSERT_GE(val1, val2) GTEST_ASSERT_GE(val1, val2)
2086
+ #endif
2087
+
2088
+ #if !GTEST_DONT_DEFINE_ASSERT_GT
2089
+ # define ASSERT_GT(val1, val2) GTEST_ASSERT_GT(val1, val2)
2090
+ #endif
2091
+
2092
+ // C-string Comparisons. All tests treat NULL and any non-NULL string
2093
+ // as different. Two NULLs are equal.
2094
+ //
2095
+ // * {ASSERT|EXPECT}_STREQ(s1, s2): Tests that s1 == s2
2096
+ // * {ASSERT|EXPECT}_STRNE(s1, s2): Tests that s1 != s2
2097
+ // * {ASSERT|EXPECT}_STRCASEEQ(s1, s2): Tests that s1 == s2, ignoring case
2098
+ // * {ASSERT|EXPECT}_STRCASENE(s1, s2): Tests that s1 != s2, ignoring case
2099
+ //
2100
+ // For wide or narrow string objects, you can use the
2101
+ // {ASSERT|EXPECT}_??() macros.
2102
+ //
2103
+ // Don't depend on the order in which the arguments are evaluated,
2104
+ // which is undefined.
2105
+ //
2106
+ // These macros evaluate their arguments exactly once.
2107
+
2108
+ #define EXPECT_STREQ(s1, s2) \
2109
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)
2110
+ #define EXPECT_STRNE(s1, s2) \
2111
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)
2112
+ #define EXPECT_STRCASEEQ(s1, s2) \
2113
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)
2114
+ #define EXPECT_STRCASENE(s1, s2)\
2115
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)
2116
+
2117
+ #define ASSERT_STREQ(s1, s2) \
2118
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2)
2119
+ #define ASSERT_STRNE(s1, s2) \
2120
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2)
2121
+ #define ASSERT_STRCASEEQ(s1, s2) \
2122
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2)
2123
+ #define ASSERT_STRCASENE(s1, s2)\
2124
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2)
2125
+
2126
+ // Macros for comparing floating-point numbers.
2127
+ //
2128
+ // * {ASSERT|EXPECT}_FLOAT_EQ(val1, val2):
2129
+ // Tests that two float values are almost equal.
2130
+ // * {ASSERT|EXPECT}_DOUBLE_EQ(val1, val2):
2131
+ // Tests that two double values are almost equal.
2132
+ // * {ASSERT|EXPECT}_NEAR(v1, v2, abs_error):
2133
+ // Tests that v1 and v2 are within the given distance to each other.
2134
+ //
2135
+ // Google Test uses ULP-based comparison to automatically pick a default
2136
+ // error bound that is appropriate for the operands. See the
2137
+ // FloatingPoint template class in gtest-internal.h if you are
2138
+ // interested in the implementation details.
2139
+
2140
+ #define EXPECT_FLOAT_EQ(val1, val2)\
2141
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<float>, \
2142
+ val1, val2)
2143
+
2144
+ #define EXPECT_DOUBLE_EQ(val1, val2)\
2145
+ EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<double>, \
2146
+ val1, val2)
2147
+
2148
+ #define ASSERT_FLOAT_EQ(val1, val2)\
2149
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<float>, \
2150
+ val1, val2)
2151
+
2152
+ #define ASSERT_DOUBLE_EQ(val1, val2)\
2153
+ ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ<double>, \
2154
+ val1, val2)
2155
+
2156
+ #define EXPECT_NEAR(val1, val2, abs_error)\
2157
+ EXPECT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \
2158
+ val1, val2, abs_error)
2159
+
2160
+ #define ASSERT_NEAR(val1, val2, abs_error)\
2161
+ ASSERT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \
2162
+ val1, val2, abs_error)
2163
+
2164
+ // These predicate format functions work on floating-point values, and
2165
+ // can be used in {ASSERT|EXPECT}_PRED_FORMAT2*(), e.g.
2166
+ //
2167
+ // EXPECT_PRED_FORMAT2(testing::DoubleLE, Foo(), 5.0);
2168
+
2169
+ // Asserts that val1 is less than, or almost equal to, val2. Fails
2170
+ // otherwise. In particular, it fails if either val1 or val2 is NaN.
2171
+ GTEST_API_ AssertionResult FloatLE(const char* expr1, const char* expr2,
2172
+ float val1, float val2);
2173
+ GTEST_API_ AssertionResult DoubleLE(const char* expr1, const char* expr2,
2174
+ double val1, double val2);
2175
+
2176
+
2177
+ #if GTEST_OS_WINDOWS
2178
+
2179
+ // Macros that test for HRESULT failure and success, these are only useful
2180
+ // on Windows, and rely on Windows SDK macros and APIs to compile.
2181
+ //
2182
+ // * {ASSERT|EXPECT}_HRESULT_{SUCCEEDED|FAILED}(expr)
2183
+ //
2184
+ // When expr unexpectedly fails or succeeds, Google Test prints the
2185
+ // expected result and the actual result with both a human-readable
2186
+ // string representation of the error, if available, as well as the
2187
+ // hex result code.
2188
+ # define EXPECT_HRESULT_SUCCEEDED(expr) \
2189
+ EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr))
2190
+
2191
+ # define ASSERT_HRESULT_SUCCEEDED(expr) \
2192
+ ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr))
2193
+
2194
+ # define EXPECT_HRESULT_FAILED(expr) \
2195
+ EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr))
2196
+
2197
+ # define ASSERT_HRESULT_FAILED(expr) \
2198
+ ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr))
2199
+
2200
+ #endif // GTEST_OS_WINDOWS
2201
+
2202
+ // Macros that execute statement and check that it doesn't generate new fatal
2203
+ // failures in the current thread.
2204
+ //
2205
+ // * {ASSERT|EXPECT}_NO_FATAL_FAILURE(statement);
2206
+ //
2207
+ // Examples:
2208
+ //
2209
+ // EXPECT_NO_FATAL_FAILURE(Process());
2210
+ // ASSERT_NO_FATAL_FAILURE(Process()) << "Process() failed";
2211
+ //
2212
+ #define ASSERT_NO_FATAL_FAILURE(statement) \
2213
+ GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_FATAL_FAILURE_)
2214
+ #define EXPECT_NO_FATAL_FAILURE(statement) \
2215
+ GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_NONFATAL_FAILURE_)
2216
+
2217
+ // Causes a trace (including the given source file path and line number,
2218
+ // and the given message) to be included in every test failure message generated
2219
+ // by code in the scope of the lifetime of an instance of this class. The effect
2220
+ // is undone with the destruction of the instance.
2221
+ //
2222
+ // The message argument can be anything streamable to std::ostream.
2223
+ //
2224
+ // Example:
2225
+ // testing::ScopedTrace trace("file.cc", 123, "message");
2226
+ //
2227
+ class GTEST_API_ ScopedTrace {
2228
+ public:
2229
+ // The c'tor pushes the given source file location and message onto
2230
+ // a trace stack maintained by Google Test.
2231
+
2232
+ // Template version. Uses Message() to convert the values into strings.
2233
+ // Slow, but flexible.
2234
+ template <typename T>
2235
+ ScopedTrace(const char* file, int line, const T& message) {
2236
+ PushTrace(file, line, (Message() << message).GetString());
2237
+ }
2238
+
2239
+ // Optimize for some known types.
2240
+ ScopedTrace(const char* file, int line, const char* message) {
2241
+ PushTrace(file, line, message ? message : "(null)");
2242
+ }
2243
+
2244
+ ScopedTrace(const char* file, int line, const std::string& message) {
2245
+ PushTrace(file, line, message);
2246
+ }
2247
+
2248
+ // The d'tor pops the info pushed by the c'tor.
2249
+ //
2250
+ // Note that the d'tor is not virtual in order to be efficient.
2251
+ // Don't inherit from ScopedTrace!
2252
+ ~ScopedTrace();
2253
+
2254
+ private:
2255
+ void PushTrace(const char* file, int line, std::string message);
2256
+
2257
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ScopedTrace);
2258
+ } GTEST_ATTRIBUTE_UNUSED_; // A ScopedTrace object does its job in its
2259
+ // c'tor and d'tor. Therefore it doesn't
2260
+ // need to be used otherwise.
2261
+
2262
+ // Causes a trace (including the source file path, the current line
2263
+ // number, and the given message) to be included in every test failure
2264
+ // message generated by code in the current scope. The effect is
2265
+ // undone when the control leaves the current scope.
2266
+ //
2267
+ // The message argument can be anything streamable to std::ostream.
2268
+ //
2269
+ // In the implementation, we include the current line number as part
2270
+ // of the dummy variable name, thus allowing multiple SCOPED_TRACE()s
2271
+ // to appear in the same block - as long as they are on different
2272
+ // lines.
2273
+ //
2274
+ // Assuming that each thread maintains its own stack of traces.
2275
+ // Therefore, a SCOPED_TRACE() would (correctly) only affect the
2276
+ // assertions in its own thread.
2277
+ #define SCOPED_TRACE(message) \
2278
+ ::testing::ScopedTrace GTEST_CONCAT_TOKEN_(gtest_trace_, __LINE__)(\
2279
+ __FILE__, __LINE__, (message))
2280
+
2281
+ // Compile-time assertion for type equality.
2282
+ // StaticAssertTypeEq<type1, type2>() compiles if and only if type1 and type2
2283
+ // are the same type. The value it returns is not interesting.
2284
+ //
2285
+ // Instead of making StaticAssertTypeEq a class template, we make it a
2286
+ // function template that invokes a helper class template. This
2287
+ // prevents a user from misusing StaticAssertTypeEq<T1, T2> by
2288
+ // defining objects of that type.
2289
+ //
2290
+ // CAVEAT:
2291
+ //
2292
+ // When used inside a method of a class template,
2293
+ // StaticAssertTypeEq<T1, T2>() is effective ONLY IF the method is
2294
+ // instantiated. For example, given:
2295
+ //
2296
+ // template <typename T> class Foo {
2297
+ // public:
2298
+ // void Bar() { testing::StaticAssertTypeEq<int, T>(); }
2299
+ // };
2300
+ //
2301
+ // the code:
2302
+ //
2303
+ // void Test1() { Foo<bool> foo; }
2304
+ //
2305
+ // will NOT generate a compiler error, as Foo<bool>::Bar() is never
2306
+ // actually instantiated. Instead, you need:
2307
+ //
2308
+ // void Test2() { Foo<bool> foo; foo.Bar(); }
2309
+ //
2310
+ // to cause a compiler error.
2311
+ template <typename T1, typename T2>
2312
+ constexpr bool StaticAssertTypeEq() noexcept {
2313
+ static_assert(std::is_same<T1, T2>::value, "T1 and T2 are not the same type");
2314
+ return true;
2315
+ }
2316
+
2317
+ // Defines a test.
2318
+ //
2319
+ // The first parameter is the name of the test suite, and the second
2320
+ // parameter is the name of the test within the test suite.
2321
+ //
2322
+ // The convention is to end the test suite name with "Test". For
2323
+ // example, a test suite for the Foo class can be named FooTest.
2324
+ //
2325
+ // Test code should appear between braces after an invocation of
2326
+ // this macro. Example:
2327
+ //
2328
+ // TEST(FooTest, InitializesCorrectly) {
2329
+ // Foo foo;
2330
+ // EXPECT_TRUE(foo.StatusIsOK());
2331
+ // }
2332
+
2333
+ // Note that we call GetTestTypeId() instead of GetTypeId<
2334
+ // ::testing::Test>() here to get the type ID of testing::Test. This
2335
+ // is to work around a suspected linker bug when using Google Test as
2336
+ // a framework on Mac OS X. The bug causes GetTypeId<
2337
+ // ::testing::Test>() to return different values depending on whether
2338
+ // the call is from the Google Test framework itself or from user test
2339
+ // code. GetTestTypeId() is guaranteed to always return the same
2340
+ // value, as it always calls GetTypeId<>() from the Google Test
2341
+ // framework.
2342
+ #define GTEST_TEST(test_suite_name, test_name) \
2343
+ GTEST_TEST_(test_suite_name, test_name, ::testing::Test, \
2344
+ ::testing::internal::GetTestTypeId())
2345
+
2346
+ // Define this macro to 1 to omit the definition of TEST(), which
2347
+ // is a generic name and clashes with some other libraries.
2348
+ #if !GTEST_DONT_DEFINE_TEST
2349
+ #define TEST(test_suite_name, test_name) GTEST_TEST(test_suite_name, test_name)
2350
+ #endif
2351
+
2352
+ // Defines a test that uses a test fixture.
2353
+ //
2354
+ // The first parameter is the name of the test fixture class, which
2355
+ // also doubles as the test suite name. The second parameter is the
2356
+ // name of the test within the test suite.
2357
+ //
2358
+ // A test fixture class must be declared earlier. The user should put
2359
+ // the test code between braces after using this macro. Example:
2360
+ //
2361
+ // class FooTest : public testing::Test {
2362
+ // protected:
2363
+ // void SetUp() override { b_.AddElement(3); }
2364
+ //
2365
+ // Foo a_;
2366
+ // Foo b_;
2367
+ // };
2368
+ //
2369
+ // TEST_F(FooTest, InitializesCorrectly) {
2370
+ // EXPECT_TRUE(a_.StatusIsOK());
2371
+ // }
2372
+ //
2373
+ // TEST_F(FooTest, ReturnsElementCountCorrectly) {
2374
+ // EXPECT_EQ(a_.size(), 0);
2375
+ // EXPECT_EQ(b_.size(), 1);
2376
+ // }
2377
+ //
2378
+ // GOOGLETEST_CM0011 DO NOT DELETE
2379
+ #if !GTEST_DONT_DEFINE_TEST
2380
+ #define TEST_F(test_fixture, test_name)\
2381
+ GTEST_TEST_(test_fixture, test_name, test_fixture, \
2382
+ ::testing::internal::GetTypeId<test_fixture>())
2383
+ #endif // !GTEST_DONT_DEFINE_TEST
2384
+
2385
+ // Returns a path to temporary directory.
2386
+ // Tries to determine an appropriate directory for the platform.
2387
+ GTEST_API_ std::string TempDir();
2388
+
2389
+ #ifdef _MSC_VER
2390
+ # pragma warning(pop)
2391
+ #endif
2392
+
2393
+ // Dynamically registers a test with the framework.
2394
+ //
2395
+ // This is an advanced API only to be used when the `TEST` macros are
2396
+ // insufficient. The macros should be preferred when possible, as they avoid
2397
+ // most of the complexity of calling this function.
2398
+ //
2399
+ // The `factory` argument is a factory callable (move-constructible) object or
2400
+ // function pointer that creates a new instance of the Test object. It
2401
+ // handles ownership to the caller. The signature of the callable is
2402
+ // `Fixture*()`, where `Fixture` is the test fixture class for the test. All
2403
+ // tests registered with the same `test_suite_name` must return the same
2404
+ // fixture type. This is checked at runtime.
2405
+ //
2406
+ // The framework will infer the fixture class from the factory and will call
2407
+ // the `SetUpTestSuite` and `TearDownTestSuite` for it.
2408
+ //
2409
+ // Must be called before `RUN_ALL_TESTS()` is invoked, otherwise behavior is
2410
+ // undefined.
2411
+ //
2412
+ // Use case example:
2413
+ //
2414
+ // class MyFixture : public ::testing::Test {
2415
+ // public:
2416
+ // // All of these optional, just like in regular macro usage.
2417
+ // static void SetUpTestSuite() { ... }
2418
+ // static void TearDownTestSuite() { ... }
2419
+ // void SetUp() override { ... }
2420
+ // void TearDown() override { ... }
2421
+ // };
2422
+ //
2423
+ // class MyTest : public MyFixture {
2424
+ // public:
2425
+ // explicit MyTest(int data) : data_(data) {}
2426
+ // void TestBody() override { ... }
2427
+ //
2428
+ // private:
2429
+ // int data_;
2430
+ // };
2431
+ //
2432
+ // void RegisterMyTests(const std::vector<int>& values) {
2433
+ // for (int v : values) {
2434
+ // ::testing::RegisterTest(
2435
+ // "MyFixture", ("Test" + std::to_string(v)).c_str(), nullptr,
2436
+ // std::to_string(v).c_str(),
2437
+ // __FILE__, __LINE__,
2438
+ // // Important to use the fixture type as the return type here.
2439
+ // [=]() -> MyFixture* { return new MyTest(v); });
2440
+ // }
2441
+ // }
2442
+ // ...
2443
+ // int main(int argc, char** argv) {
2444
+ // std::vector<int> values_to_test = LoadValuesFromConfig();
2445
+ // RegisterMyTests(values_to_test);
2446
+ // ...
2447
+ // return RUN_ALL_TESTS();
2448
+ // }
2449
+ //
2450
+ template <int&... ExplicitParameterBarrier, typename Factory>
2451
+ TestInfo* RegisterTest(const char* test_suite_name, const char* test_name,
2452
+ const char* type_param, const char* value_param,
2453
+ const char* file, int line, Factory factory) {
2454
+ using TestT = typename std::remove_pointer<decltype(factory())>::type;
2455
+
2456
+ class FactoryImpl : public internal::TestFactoryBase {
2457
+ public:
2458
+ explicit FactoryImpl(Factory f) : factory_(std::move(f)) {}
2459
+ Test* CreateTest() override { return factory_(); }
2460
+
2461
+ private:
2462
+ Factory factory_;
2463
+ };
2464
+
2465
+ return internal::MakeAndRegisterTestInfo(
2466
+ test_suite_name, test_name, type_param, value_param,
2467
+ internal::CodeLocation(file, line), internal::GetTypeId<TestT>(),
2468
+ internal::SuiteApiResolver<TestT>::GetSetUpCaseOrSuite(file, line),
2469
+ internal::SuiteApiResolver<TestT>::GetTearDownCaseOrSuite(file, line),
2470
+ new FactoryImpl{std::move(factory)});
2471
+ }
2472
+
2473
+ } // namespace testing
2474
+
2475
+ // Use this function in main() to run all tests. It returns 0 if all
2476
+ // tests are successful, or 1 otherwise.
2477
+ //
2478
+ // RUN_ALL_TESTS() should be invoked after the command line has been
2479
+ // parsed by InitGoogleTest().
2480
+ //
2481
+ // This function was formerly a macro; thus, it is in the global
2482
+ // namespace and has an all-caps name.
2483
+ int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_;
2484
+
2485
+ inline int RUN_ALL_TESTS() {
2486
+ return ::testing::UnitTest::GetInstance()->Run();
2487
+ }
2488
+
2489
+ GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251
2490
+
2491
+ #endif // GTEST_INCLUDE_GTEST_GTEST_H_