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,2371 @@
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
+ // Low-level types and utilities for porting Google Test to various
31
+ // platforms. All macros ending with _ and symbols defined in an
32
+ // internal namespace are subject to change without notice. Code
33
+ // outside Google Test MUST NOT USE THEM DIRECTLY. Macros that don't
34
+ // end with _ are part of Google Test's public API and can be used by
35
+ // code outside Google Test.
36
+ //
37
+ // This file is fundamental to Google Test. All other Google Test source
38
+ // files are expected to #include this. Therefore, it cannot #include
39
+ // any other Google Test header.
40
+
41
+ // GOOGLETEST_CM0001 DO NOT DELETE
42
+
43
+ #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_
44
+ #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_
45
+
46
+ // Environment-describing macros
47
+ // -----------------------------
48
+ //
49
+ // Google Test can be used in many different environments. Macros in
50
+ // this section tell Google Test what kind of environment it is being
51
+ // used in, such that Google Test can provide environment-specific
52
+ // features and implementations.
53
+ //
54
+ // Google Test tries to automatically detect the properties of its
55
+ // environment, so users usually don't need to worry about these
56
+ // macros. However, the automatic detection is not perfect.
57
+ // Sometimes it's necessary for a user to define some of the following
58
+ // macros in the build script to override Google Test's decisions.
59
+ //
60
+ // If the user doesn't define a macro in the list, Google Test will
61
+ // provide a default definition. After this header is #included, all
62
+ // macros in this list will be defined to either 1 or 0.
63
+ //
64
+ // Notes to maintainers:
65
+ // - Each macro here is a user-tweakable knob; do not grow the list
66
+ // lightly.
67
+ // - Use #if to key off these macros. Don't use #ifdef or "#if
68
+ // defined(...)", which will not work as these macros are ALWAYS
69
+ // defined.
70
+ //
71
+ // GTEST_HAS_CLONE - Define it to 1/0 to indicate that clone(2)
72
+ // is/isn't available.
73
+ // GTEST_HAS_EXCEPTIONS - Define it to 1/0 to indicate that exceptions
74
+ // are enabled.
75
+ // GTEST_HAS_POSIX_RE - Define it to 1/0 to indicate that POSIX regular
76
+ // expressions are/aren't available.
77
+ // GTEST_HAS_PTHREAD - Define it to 1/0 to indicate that <pthread.h>
78
+ // is/isn't available.
79
+ // GTEST_HAS_RTTI - Define it to 1/0 to indicate that RTTI is/isn't
80
+ // enabled.
81
+ // GTEST_HAS_STD_WSTRING - Define it to 1/0 to indicate that
82
+ // std::wstring does/doesn't work (Google Test can
83
+ // be used where std::wstring is unavailable).
84
+ // GTEST_HAS_SEH - Define it to 1/0 to indicate whether the
85
+ // compiler supports Microsoft's "Structured
86
+ // Exception Handling".
87
+ // GTEST_HAS_STREAM_REDIRECTION
88
+ // - Define it to 1/0 to indicate whether the
89
+ // platform supports I/O stream redirection using
90
+ // dup() and dup2().
91
+ // GTEST_LINKED_AS_SHARED_LIBRARY
92
+ // - Define to 1 when compiling tests that use
93
+ // Google Test as a shared library (known as
94
+ // DLL on Windows).
95
+ // GTEST_CREATE_SHARED_LIBRARY
96
+ // - Define to 1 when compiling Google Test itself
97
+ // as a shared library.
98
+ // GTEST_DEFAULT_DEATH_TEST_STYLE
99
+ // - The default value of --gtest_death_test_style.
100
+ // The legacy default has been "fast" in the open
101
+ // source version since 2008. The recommended value
102
+ // is "threadsafe", and can be set in
103
+ // custom/gtest-port.h.
104
+
105
+ // Platform-indicating macros
106
+ // --------------------------
107
+ //
108
+ // Macros indicating the platform on which Google Test is being used
109
+ // (a macro is defined to 1 if compiled on the given platform;
110
+ // otherwise UNDEFINED -- it's never defined to 0.). Google Test
111
+ // defines these macros automatically. Code outside Google Test MUST
112
+ // NOT define them.
113
+ //
114
+ // GTEST_OS_AIX - IBM AIX
115
+ // GTEST_OS_CYGWIN - Cygwin
116
+ // GTEST_OS_DRAGONFLY - DragonFlyBSD
117
+ // GTEST_OS_FREEBSD - FreeBSD
118
+ // GTEST_OS_FUCHSIA - Fuchsia
119
+ // GTEST_OS_GNU_KFREEBSD - GNU/kFreeBSD
120
+ // GTEST_OS_HAIKU - Haiku
121
+ // GTEST_OS_HPUX - HP-UX
122
+ // GTEST_OS_LINUX - Linux
123
+ // GTEST_OS_LINUX_ANDROID - Google Android
124
+ // GTEST_OS_MAC - Mac OS X
125
+ // GTEST_OS_IOS - iOS
126
+ // GTEST_OS_NACL - Google Native Client (NaCl)
127
+ // GTEST_OS_NETBSD - NetBSD
128
+ // GTEST_OS_OPENBSD - OpenBSD
129
+ // GTEST_OS_OS2 - OS/2
130
+ // GTEST_OS_QNX - QNX
131
+ // GTEST_OS_SOLARIS - Sun Solaris
132
+ // GTEST_OS_WINDOWS - Windows (Desktop, MinGW, or Mobile)
133
+ // GTEST_OS_WINDOWS_DESKTOP - Windows Desktop
134
+ // GTEST_OS_WINDOWS_MINGW - MinGW
135
+ // GTEST_OS_WINDOWS_MOBILE - Windows Mobile
136
+ // GTEST_OS_WINDOWS_PHONE - Windows Phone
137
+ // GTEST_OS_WINDOWS_RT - Windows Store App/WinRT
138
+ // GTEST_OS_ZOS - z/OS
139
+ //
140
+ // Among the platforms, Cygwin, Linux, Mac OS X, and Windows have the
141
+ // most stable support. Since core members of the Google Test project
142
+ // don't have access to other platforms, support for them may be less
143
+ // stable. If you notice any problems on your platform, please notify
144
+ // googletestframework@googlegroups.com (patches for fixing them are
145
+ // even more welcome!).
146
+ //
147
+ // It is possible that none of the GTEST_OS_* macros are defined.
148
+
149
+ // Feature-indicating macros
150
+ // -------------------------
151
+ //
152
+ // Macros indicating which Google Test features are available (a macro
153
+ // is defined to 1 if the corresponding feature is supported;
154
+ // otherwise UNDEFINED -- it's never defined to 0.). Google Test
155
+ // defines these macros automatically. Code outside Google Test MUST
156
+ // NOT define them.
157
+ //
158
+ // These macros are public so that portable tests can be written.
159
+ // Such tests typically surround code using a feature with an #if
160
+ // which controls that code. For example:
161
+ //
162
+ // #if GTEST_HAS_DEATH_TEST
163
+ // EXPECT_DEATH(DoSomethingDeadly());
164
+ // #endif
165
+ //
166
+ // GTEST_HAS_DEATH_TEST - death tests
167
+ // GTEST_HAS_TYPED_TEST - typed tests
168
+ // GTEST_HAS_TYPED_TEST_P - type-parameterized tests
169
+ // GTEST_IS_THREADSAFE - Google Test is thread-safe.
170
+ // GOOGLETEST_CM0007 DO NOT DELETE
171
+ // GTEST_USES_POSIX_RE - enhanced POSIX regex is used. Do not confuse with
172
+ // GTEST_HAS_POSIX_RE (see above) which users can
173
+ // define themselves.
174
+ // GTEST_USES_SIMPLE_RE - our own simple regex is used;
175
+ // the above RE\b(s) are mutually exclusive.
176
+
177
+ // Misc public macros
178
+ // ------------------
179
+ //
180
+ // GTEST_FLAG(flag_name) - references the variable corresponding to
181
+ // the given Google Test flag.
182
+
183
+ // Internal utilities
184
+ // ------------------
185
+ //
186
+ // The following macros and utilities are for Google Test's INTERNAL
187
+ // use only. Code outside Google Test MUST NOT USE THEM DIRECTLY.
188
+ //
189
+ // Macros for basic C++ coding:
190
+ // GTEST_AMBIGUOUS_ELSE_BLOCKER_ - for disabling a gcc warning.
191
+ // GTEST_ATTRIBUTE_UNUSED_ - declares that a class' instances or a
192
+ // variable don't have to be used.
193
+ // GTEST_DISALLOW_ASSIGN_ - disables copy operator=.
194
+ // GTEST_DISALLOW_COPY_AND_ASSIGN_ - disables copy ctor and operator=.
195
+ // GTEST_DISALLOW_MOVE_ASSIGN_ - disables move operator=.
196
+ // GTEST_DISALLOW_MOVE_AND_ASSIGN_ - disables move ctor and operator=.
197
+ // GTEST_MUST_USE_RESULT_ - declares that a function's result must be used.
198
+ // GTEST_INTENTIONAL_CONST_COND_PUSH_ - start code section where MSVC C4127 is
199
+ // suppressed (constant conditional).
200
+ // GTEST_INTENTIONAL_CONST_COND_POP_ - finish code section where MSVC C4127
201
+ // is suppressed.
202
+ // GTEST_INTERNAL_HAS_ANY - for enabling UniversalPrinter<std::any> or
203
+ // UniversalPrinter<absl::any> specializations.
204
+ // GTEST_INTERNAL_HAS_OPTIONAL - for enabling UniversalPrinter<std::optional>
205
+ // or
206
+ // UniversalPrinter<absl::optional>
207
+ // specializations.
208
+ // GTEST_INTERNAL_HAS_STRING_VIEW - for enabling Matcher<std::string_view> or
209
+ // Matcher<absl::string_view>
210
+ // specializations.
211
+ // GTEST_INTERNAL_HAS_VARIANT - for enabling UniversalPrinter<std::variant> or
212
+ // UniversalPrinter<absl::variant>
213
+ // specializations.
214
+ //
215
+ // Synchronization:
216
+ // Mutex, MutexLock, ThreadLocal, GetThreadCount()
217
+ // - synchronization primitives.
218
+ //
219
+ // Regular expressions:
220
+ // RE - a simple regular expression class using the POSIX
221
+ // Extended Regular Expression syntax on UNIX-like platforms
222
+ // GOOGLETEST_CM0008 DO NOT DELETE
223
+ // or a reduced regular exception syntax on other
224
+ // platforms, including Windows.
225
+ // Logging:
226
+ // GTEST_LOG_() - logs messages at the specified severity level.
227
+ // LogToStderr() - directs all log messages to stderr.
228
+ // FlushInfoLog() - flushes informational log messages.
229
+ //
230
+ // Stdout and stderr capturing:
231
+ // CaptureStdout() - starts capturing stdout.
232
+ // GetCapturedStdout() - stops capturing stdout and returns the captured
233
+ // string.
234
+ // CaptureStderr() - starts capturing stderr.
235
+ // GetCapturedStderr() - stops capturing stderr and returns the captured
236
+ // string.
237
+ //
238
+ // Integer types:
239
+ // TypeWithSize - maps an integer to a int type.
240
+ // TimeInMillis - integers of known sizes.
241
+ // BiggestInt - the biggest signed integer type.
242
+ //
243
+ // Command-line utilities:
244
+ // GTEST_DECLARE_*() - declares a flag.
245
+ // GTEST_DEFINE_*() - defines a flag.
246
+ // GetInjectableArgvs() - returns the command line as a vector of strings.
247
+ //
248
+ // Environment variable utilities:
249
+ // GetEnv() - gets the value of an environment variable.
250
+ // BoolFromGTestEnv() - parses a bool environment variable.
251
+ // Int32FromGTestEnv() - parses an int32_t environment variable.
252
+ // StringFromGTestEnv() - parses a string environment variable.
253
+ //
254
+ // Deprecation warnings:
255
+ // GTEST_INTERNAL_DEPRECATED(message) - attribute marking a function as
256
+ // deprecated; calling a marked function
257
+ // should generate a compiler warning
258
+
259
+ #include <ctype.h> // for isspace, etc
260
+ #include <stddef.h> // for ptrdiff_t
261
+ #include <stdio.h>
262
+ #include <stdlib.h>
263
+ #include <string.h>
264
+
265
+ #include <cerrno>
266
+ #include <cstdint>
267
+ #include <limits>
268
+ #include <type_traits>
269
+
270
+ #ifndef _WIN32_WCE
271
+ # include <sys/types.h>
272
+ # include <sys/stat.h>
273
+ #endif // !_WIN32_WCE
274
+
275
+ #if defined __APPLE__
276
+ # include <AvailabilityMacros.h>
277
+ # include <TargetConditionals.h>
278
+ #endif
279
+
280
+ #include <iostream> // NOLINT
281
+ #include <locale>
282
+ #include <memory>
283
+ #include <string> // NOLINT
284
+ #include <tuple>
285
+ #include <vector> // NOLINT
286
+
287
+ #include "gtest/internal/custom/gtest-port.h"
288
+ #include "gtest/internal/gtest-port-arch.h"
289
+
290
+ #if !defined(GTEST_DEV_EMAIL_)
291
+ # define GTEST_DEV_EMAIL_ "googletestframework@@googlegroups.com"
292
+ # define GTEST_FLAG_PREFIX_ "gtest_"
293
+ # define GTEST_FLAG_PREFIX_DASH_ "gtest-"
294
+ # define GTEST_FLAG_PREFIX_UPPER_ "GTEST_"
295
+ # define GTEST_NAME_ "Google Test"
296
+ # define GTEST_PROJECT_URL_ "https://github.com/google/googletest/"
297
+ #endif // !defined(GTEST_DEV_EMAIL_)
298
+
299
+ #if !defined(GTEST_INIT_GOOGLE_TEST_NAME_)
300
+ # define GTEST_INIT_GOOGLE_TEST_NAME_ "testing::InitGoogleTest"
301
+ #endif // !defined(GTEST_INIT_GOOGLE_TEST_NAME_)
302
+
303
+ // Determines the version of gcc that is used to compile this.
304
+ #ifdef __GNUC__
305
+ // 40302 means version 4.3.2.
306
+ # define GTEST_GCC_VER_ \
307
+ (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__)
308
+ #endif // __GNUC__
309
+
310
+ // Macros for disabling Microsoft Visual C++ warnings.
311
+ //
312
+ // GTEST_DISABLE_MSC_WARNINGS_PUSH_(4800 4385)
313
+ // /* code that triggers warnings C4800 and C4385 */
314
+ // GTEST_DISABLE_MSC_WARNINGS_POP_()
315
+ #if defined(_MSC_VER)
316
+ # define GTEST_DISABLE_MSC_WARNINGS_PUSH_(warnings) \
317
+ __pragma(warning(push)) \
318
+ __pragma(warning(disable: warnings))
319
+ # define GTEST_DISABLE_MSC_WARNINGS_POP_() \
320
+ __pragma(warning(pop))
321
+ #else
322
+ // Not all compilers are MSVC
323
+ # define GTEST_DISABLE_MSC_WARNINGS_PUSH_(warnings)
324
+ # define GTEST_DISABLE_MSC_WARNINGS_POP_()
325
+ #endif
326
+
327
+ // Clang on Windows does not understand MSVC's pragma warning.
328
+ // We need clang-specific way to disable function deprecation warning.
329
+ #ifdef __clang__
330
+ # define GTEST_DISABLE_MSC_DEPRECATED_PUSH_() \
331
+ _Pragma("clang diagnostic push") \
332
+ _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") \
333
+ _Pragma("clang diagnostic ignored \"-Wdeprecated-implementations\"")
334
+ #define GTEST_DISABLE_MSC_DEPRECATED_POP_() \
335
+ _Pragma("clang diagnostic pop")
336
+ #else
337
+ # define GTEST_DISABLE_MSC_DEPRECATED_PUSH_() \
338
+ GTEST_DISABLE_MSC_WARNINGS_PUSH_(4996)
339
+ # define GTEST_DISABLE_MSC_DEPRECATED_POP_() \
340
+ GTEST_DISABLE_MSC_WARNINGS_POP_()
341
+ #endif
342
+
343
+ // Brings in definitions for functions used in the testing::internal::posix
344
+ // namespace (read, write, close, chdir, isatty, stat). We do not currently
345
+ // use them on Windows Mobile.
346
+ #if GTEST_OS_WINDOWS
347
+ # if !GTEST_OS_WINDOWS_MOBILE
348
+ # include <direct.h>
349
+ # include <io.h>
350
+ # endif
351
+ // In order to avoid having to include <windows.h>, use forward declaration
352
+ #if GTEST_OS_WINDOWS_MINGW && !defined(__MINGW64_VERSION_MAJOR)
353
+ // MinGW defined _CRITICAL_SECTION and _RTL_CRITICAL_SECTION as two
354
+ // separate (equivalent) structs, instead of using typedef
355
+ typedef struct _CRITICAL_SECTION GTEST_CRITICAL_SECTION;
356
+ #else
357
+ // Assume CRITICAL_SECTION is a typedef of _RTL_CRITICAL_SECTION.
358
+ // This assumption is verified by
359
+ // WindowsTypesTest.CRITICAL_SECTIONIs_RTL_CRITICAL_SECTION.
360
+ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
361
+ #endif
362
+ #else
363
+ // This assumes that non-Windows OSes provide unistd.h. For OSes where this
364
+ // is not the case, we need to include headers that provide the functions
365
+ // mentioned above.
366
+ # include <unistd.h>
367
+ # include <strings.h>
368
+ #endif // GTEST_OS_WINDOWS
369
+
370
+ #if GTEST_OS_LINUX_ANDROID
371
+ // Used to define __ANDROID_API__ matching the target NDK API level.
372
+ # include <android/api-level.h> // NOLINT
373
+ #endif
374
+
375
+ // Defines this to true if and only if Google Test can use POSIX regular
376
+ // expressions.
377
+ #ifndef GTEST_HAS_POSIX_RE
378
+ # if GTEST_OS_LINUX_ANDROID
379
+ // On Android, <regex.h> is only available starting with Gingerbread.
380
+ # define GTEST_HAS_POSIX_RE (__ANDROID_API__ >= 9)
381
+ # else
382
+ # define GTEST_HAS_POSIX_RE (!GTEST_OS_WINDOWS)
383
+ # endif
384
+ #endif
385
+
386
+ #if GTEST_USES_PCRE
387
+ // The appropriate headers have already been included.
388
+
389
+ #elif GTEST_HAS_POSIX_RE
390
+
391
+ // On some platforms, <regex.h> needs someone to define size_t, and
392
+ // won't compile otherwise. We can #include it here as we already
393
+ // included <stdlib.h>, which is guaranteed to define size_t through
394
+ // <stddef.h>.
395
+ # include <regex.h> // NOLINT
396
+
397
+ # define GTEST_USES_POSIX_RE 1
398
+
399
+ #elif GTEST_OS_WINDOWS
400
+
401
+ // <regex.h> is not available on Windows. Use our own simple regex
402
+ // implementation instead.
403
+ # define GTEST_USES_SIMPLE_RE 1
404
+
405
+ #else
406
+
407
+ // <regex.h> may not be available on this platform. Use our own
408
+ // simple regex implementation instead.
409
+ # define GTEST_USES_SIMPLE_RE 1
410
+
411
+ #endif // GTEST_USES_PCRE
412
+
413
+ #ifndef GTEST_HAS_EXCEPTIONS
414
+ // The user didn't tell us whether exceptions are enabled, so we need
415
+ // to figure it out.
416
+ # if defined(_MSC_VER) && defined(_CPPUNWIND)
417
+ // MSVC defines _CPPUNWIND to 1 if and only if exceptions are enabled.
418
+ # define GTEST_HAS_EXCEPTIONS 1
419
+ # elif defined(__BORLANDC__)
420
+ // C++Builder's implementation of the STL uses the _HAS_EXCEPTIONS
421
+ // macro to enable exceptions, so we'll do the same.
422
+ // Assumes that exceptions are enabled by default.
423
+ # ifndef _HAS_EXCEPTIONS
424
+ # define _HAS_EXCEPTIONS 1
425
+ # endif // _HAS_EXCEPTIONS
426
+ # define GTEST_HAS_EXCEPTIONS _HAS_EXCEPTIONS
427
+ # elif defined(__clang__)
428
+ // clang defines __EXCEPTIONS if and only if exceptions are enabled before clang
429
+ // 220714, but if and only if cleanups are enabled after that. In Obj-C++ files,
430
+ // there can be cleanups for ObjC exceptions which also need cleanups, even if
431
+ // C++ exceptions are disabled. clang has __has_feature(cxx_exceptions) which
432
+ // checks for C++ exceptions starting at clang r206352, but which checked for
433
+ // cleanups prior to that. To reliably check for C++ exception availability with
434
+ // clang, check for
435
+ // __EXCEPTIONS && __has_feature(cxx_exceptions).
436
+ # define GTEST_HAS_EXCEPTIONS (__EXCEPTIONS && __has_feature(cxx_exceptions))
437
+ # elif defined(__GNUC__) && __EXCEPTIONS
438
+ // gcc defines __EXCEPTIONS to 1 if and only if exceptions are enabled.
439
+ # define GTEST_HAS_EXCEPTIONS 1
440
+ # elif defined(__SUNPRO_CC)
441
+ // Sun Pro CC supports exceptions. However, there is no compile-time way of
442
+ // detecting whether they are enabled or not. Therefore, we assume that
443
+ // they are enabled unless the user tells us otherwise.
444
+ # define GTEST_HAS_EXCEPTIONS 1
445
+ # elif defined(__IBMCPP__) && __EXCEPTIONS
446
+ // xlC defines __EXCEPTIONS to 1 if and only if exceptions are enabled.
447
+ # define GTEST_HAS_EXCEPTIONS 1
448
+ # elif defined(__HP_aCC)
449
+ // Exception handling is in effect by default in HP aCC compiler. It has to
450
+ // be turned of by +noeh compiler option if desired.
451
+ # define GTEST_HAS_EXCEPTIONS 1
452
+ # else
453
+ // For other compilers, we assume exceptions are disabled to be
454
+ // conservative.
455
+ # define GTEST_HAS_EXCEPTIONS 0
456
+ # endif // defined(_MSC_VER) || defined(__BORLANDC__)
457
+ #endif // GTEST_HAS_EXCEPTIONS
458
+
459
+ #ifndef GTEST_HAS_STD_WSTRING
460
+ // The user didn't tell us whether ::std::wstring is available, so we need
461
+ // to figure it out.
462
+ // Cygwin 1.7 and below doesn't support ::std::wstring.
463
+ // Solaris' libc++ doesn't support it either. Android has
464
+ // no support for it at least as recent as Froyo (2.2).
465
+ #define GTEST_HAS_STD_WSTRING \
466
+ (!(GTEST_OS_LINUX_ANDROID || GTEST_OS_CYGWIN || GTEST_OS_SOLARIS || \
467
+ GTEST_OS_HAIKU || GTEST_OS_ESP32 || GTEST_OS_ESP8266))
468
+
469
+ #endif // GTEST_HAS_STD_WSTRING
470
+
471
+ // Determines whether RTTI is available.
472
+ #ifndef GTEST_HAS_RTTI
473
+ // The user didn't tell us whether RTTI is enabled, so we need to
474
+ // figure it out.
475
+
476
+ # ifdef _MSC_VER
477
+
478
+ #ifdef _CPPRTTI // MSVC defines this macro if and only if RTTI is enabled.
479
+ # define GTEST_HAS_RTTI 1
480
+ # else
481
+ # define GTEST_HAS_RTTI 0
482
+ # endif
483
+
484
+ // Starting with version 4.3.2, gcc defines __GXX_RTTI if and only if RTTI is
485
+ // enabled.
486
+ # elif defined(__GNUC__)
487
+
488
+ # ifdef __GXX_RTTI
489
+ // When building against STLport with the Android NDK and with
490
+ // -frtti -fno-exceptions, the build fails at link time with undefined
491
+ // references to __cxa_bad_typeid. Note sure if STL or toolchain bug,
492
+ // so disable RTTI when detected.
493
+ # if GTEST_OS_LINUX_ANDROID && defined(_STLPORT_MAJOR) && \
494
+ !defined(__EXCEPTIONS)
495
+ # define GTEST_HAS_RTTI 0
496
+ # else
497
+ # define GTEST_HAS_RTTI 1
498
+ # endif // GTEST_OS_LINUX_ANDROID && __STLPORT_MAJOR && !__EXCEPTIONS
499
+ # else
500
+ # define GTEST_HAS_RTTI 0
501
+ # endif // __GXX_RTTI
502
+
503
+ // Clang defines __GXX_RTTI starting with version 3.0, but its manual recommends
504
+ // using has_feature instead. has_feature(cxx_rtti) is supported since 2.7, the
505
+ // first version with C++ support.
506
+ # elif defined(__clang__)
507
+
508
+ # define GTEST_HAS_RTTI __has_feature(cxx_rtti)
509
+
510
+ // Starting with version 9.0 IBM Visual Age defines __RTTI_ALL__ to 1 if
511
+ // both the typeid and dynamic_cast features are present.
512
+ # elif defined(__IBMCPP__) && (__IBMCPP__ >= 900)
513
+
514
+ # ifdef __RTTI_ALL__
515
+ # define GTEST_HAS_RTTI 1
516
+ # else
517
+ # define GTEST_HAS_RTTI 0
518
+ # endif
519
+
520
+ # else
521
+
522
+ // For all other compilers, we assume RTTI is enabled.
523
+ # define GTEST_HAS_RTTI 1
524
+
525
+ # endif // _MSC_VER
526
+
527
+ #endif // GTEST_HAS_RTTI
528
+
529
+ // It's this header's responsibility to #include <typeinfo> when RTTI
530
+ // is enabled.
531
+ #if GTEST_HAS_RTTI
532
+ # include <typeinfo>
533
+ #endif
534
+
535
+ // Determines whether Google Test can use the pthreads library.
536
+ #ifndef GTEST_HAS_PTHREAD
537
+ // The user didn't tell us explicitly, so we make reasonable assumptions about
538
+ // which platforms have pthreads support.
539
+ //
540
+ // To disable threading support in Google Test, add -DGTEST_HAS_PTHREAD=0
541
+ // to your compiler flags.
542
+ #define GTEST_HAS_PTHREAD \
543
+ (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_HPUX || GTEST_OS_QNX || \
544
+ GTEST_OS_FREEBSD || GTEST_OS_NACL || GTEST_OS_NETBSD || GTEST_OS_FUCHSIA || \
545
+ GTEST_OS_DRAGONFLY || GTEST_OS_GNU_KFREEBSD || GTEST_OS_OPENBSD || \
546
+ GTEST_OS_HAIKU)
547
+ #endif // GTEST_HAS_PTHREAD
548
+
549
+ #if GTEST_HAS_PTHREAD
550
+ // gtest-port.h guarantees to #include <pthread.h> when GTEST_HAS_PTHREAD is
551
+ // true.
552
+ # include <pthread.h> // NOLINT
553
+
554
+ // For timespec and nanosleep, used below.
555
+ # include <time.h> // NOLINT
556
+ #endif
557
+
558
+ // Determines whether clone(2) is supported.
559
+ // Usually it will only be available on Linux, excluding
560
+ // Linux on the Itanium architecture.
561
+ // Also see http://linux.die.net/man/2/clone.
562
+ #ifndef GTEST_HAS_CLONE
563
+ // The user didn't tell us, so we need to figure it out.
564
+
565
+ # if GTEST_OS_LINUX && !defined(__ia64__)
566
+ # if GTEST_OS_LINUX_ANDROID
567
+ // On Android, clone() became available at different API levels for each 32-bit
568
+ // architecture.
569
+ # if defined(__LP64__) || \
570
+ (defined(__arm__) && __ANDROID_API__ >= 9) || \
571
+ (defined(__mips__) && __ANDROID_API__ >= 12) || \
572
+ (defined(__i386__) && __ANDROID_API__ >= 17)
573
+ # define GTEST_HAS_CLONE 1
574
+ # else
575
+ # define GTEST_HAS_CLONE 0
576
+ # endif
577
+ # else
578
+ # define GTEST_HAS_CLONE 1
579
+ # endif
580
+ # else
581
+ # define GTEST_HAS_CLONE 0
582
+ # endif // GTEST_OS_LINUX && !defined(__ia64__)
583
+
584
+ #endif // GTEST_HAS_CLONE
585
+
586
+ // Determines whether to support stream redirection. This is used to test
587
+ // output correctness and to implement death tests.
588
+ #ifndef GTEST_HAS_STREAM_REDIRECTION
589
+ // By default, we assume that stream redirection is supported on all
590
+ // platforms except known mobile ones.
591
+ #if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_WINDOWS_PHONE || \
592
+ GTEST_OS_WINDOWS_RT || GTEST_OS_ESP8266
593
+ # define GTEST_HAS_STREAM_REDIRECTION 0
594
+ # else
595
+ # define GTEST_HAS_STREAM_REDIRECTION 1
596
+ # endif // !GTEST_OS_WINDOWS_MOBILE
597
+ #endif // GTEST_HAS_STREAM_REDIRECTION
598
+
599
+ // Determines whether to support death tests.
600
+ // pops up a dialog window that cannot be suppressed programmatically.
601
+ #if (GTEST_OS_LINUX || GTEST_OS_CYGWIN || GTEST_OS_SOLARIS || \
602
+ (GTEST_OS_MAC && !GTEST_OS_IOS) || \
603
+ (GTEST_OS_WINDOWS_DESKTOP && _MSC_VER) || GTEST_OS_WINDOWS_MINGW || \
604
+ GTEST_OS_AIX || GTEST_OS_HPUX || GTEST_OS_OPENBSD || GTEST_OS_QNX || \
605
+ GTEST_OS_FREEBSD || GTEST_OS_NETBSD || GTEST_OS_FUCHSIA || \
606
+ GTEST_OS_DRAGONFLY || GTEST_OS_GNU_KFREEBSD || GTEST_OS_HAIKU)
607
+ # define GTEST_HAS_DEATH_TEST 1
608
+ #endif
609
+
610
+ // Determines whether to support type-driven tests.
611
+
612
+ // Typed tests need <typeinfo> and variadic macros, which GCC, VC++ 8.0,
613
+ // Sun Pro CC, IBM Visual Age, and HP aCC support.
614
+ #if defined(__GNUC__) || defined(_MSC_VER) || defined(__SUNPRO_CC) || \
615
+ defined(__IBMCPP__) || defined(__HP_aCC)
616
+ # define GTEST_HAS_TYPED_TEST 1
617
+ # define GTEST_HAS_TYPED_TEST_P 1
618
+ #endif
619
+
620
+ // Determines whether the system compiler uses UTF-16 for encoding wide strings.
621
+ #define GTEST_WIDE_STRING_USES_UTF16_ \
622
+ (GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_AIX || GTEST_OS_OS2)
623
+
624
+ // Determines whether test results can be streamed to a socket.
625
+ #if GTEST_OS_LINUX || GTEST_OS_GNU_KFREEBSD || GTEST_OS_DRAGONFLY || \
626
+ GTEST_OS_FREEBSD || GTEST_OS_NETBSD || GTEST_OS_OPENBSD
627
+ # define GTEST_CAN_STREAM_RESULTS_ 1
628
+ #endif
629
+
630
+ // Defines some utility macros.
631
+
632
+ // The GNU compiler emits a warning if nested "if" statements are followed by
633
+ // an "else" statement and braces are not used to explicitly disambiguate the
634
+ // "else" binding. This leads to problems with code like:
635
+ //
636
+ // if (gate)
637
+ // ASSERT_*(condition) << "Some message";
638
+ //
639
+ // The "switch (0) case 0:" idiom is used to suppress this.
640
+ #ifdef __INTEL_COMPILER
641
+ # define GTEST_AMBIGUOUS_ELSE_BLOCKER_
642
+ #else
643
+ # define GTEST_AMBIGUOUS_ELSE_BLOCKER_ switch (0) case 0: default: // NOLINT
644
+ #endif
645
+
646
+ // Use this annotation at the end of a struct/class definition to
647
+ // prevent the compiler from optimizing away instances that are never
648
+ // used. This is useful when all interesting logic happens inside the
649
+ // c'tor and / or d'tor. Example:
650
+ //
651
+ // struct Foo {
652
+ // Foo() { ... }
653
+ // } GTEST_ATTRIBUTE_UNUSED_;
654
+ //
655
+ // Also use it after a variable or parameter declaration to tell the
656
+ // compiler the variable/parameter does not have to be used.
657
+ #if defined(__GNUC__) && !defined(COMPILER_ICC)
658
+ # define GTEST_ATTRIBUTE_UNUSED_ __attribute__ ((unused))
659
+ #elif defined(__clang__)
660
+ # if __has_attribute(unused)
661
+ # define GTEST_ATTRIBUTE_UNUSED_ __attribute__ ((unused))
662
+ # endif
663
+ #endif
664
+ #ifndef GTEST_ATTRIBUTE_UNUSED_
665
+ # define GTEST_ATTRIBUTE_UNUSED_
666
+ #endif
667
+
668
+ // Use this annotation before a function that takes a printf format string.
669
+ #if (defined(__GNUC__) || defined(__clang__)) && !defined(COMPILER_ICC)
670
+ # if defined(__MINGW_PRINTF_FORMAT)
671
+ // MinGW has two different printf implementations. Ensure the format macro
672
+ // matches the selected implementation. See
673
+ // https://sourceforge.net/p/mingw-w64/wiki2/gnu%20printf/.
674
+ # define GTEST_ATTRIBUTE_PRINTF_(string_index, first_to_check) \
675
+ __attribute__((__format__(__MINGW_PRINTF_FORMAT, string_index, \
676
+ first_to_check)))
677
+ # else
678
+ # define GTEST_ATTRIBUTE_PRINTF_(string_index, first_to_check) \
679
+ __attribute__((__format__(__printf__, string_index, first_to_check)))
680
+ # endif
681
+ #else
682
+ # define GTEST_ATTRIBUTE_PRINTF_(string_index, first_to_check)
683
+ #endif
684
+
685
+
686
+ // A macro to disallow copy operator=
687
+ // This should be used in the private: declarations for a class.
688
+ #define GTEST_DISALLOW_ASSIGN_(type) \
689
+ type& operator=(type const &) = delete
690
+
691
+ // A macro to disallow copy constructor and operator=
692
+ // This should be used in the private: declarations for a class.
693
+ #define GTEST_DISALLOW_COPY_AND_ASSIGN_(type) \
694
+ type(type const&) = delete; \
695
+ type& operator=(type const&) = delete
696
+
697
+ // A macro to disallow move operator=
698
+ // This should be used in the private: declarations for a class.
699
+ #define GTEST_DISALLOW_MOVE_ASSIGN_(type) \
700
+ type& operator=(type &&) noexcept = delete
701
+
702
+ // A macro to disallow move constructor and operator=
703
+ // This should be used in the private: declarations for a class.
704
+ #define GTEST_DISALLOW_MOVE_AND_ASSIGN_(type) \
705
+ type(type&&) noexcept = delete; \
706
+ type& operator=(type&&) noexcept = delete
707
+
708
+ // Tell the compiler to warn about unused return values for functions declared
709
+ // with this macro. The macro should be used on function declarations
710
+ // following the argument list:
711
+ //
712
+ // Sprocket* AllocateSprocket() GTEST_MUST_USE_RESULT_;
713
+ #if defined(__GNUC__) && !defined(COMPILER_ICC)
714
+ # define GTEST_MUST_USE_RESULT_ __attribute__ ((warn_unused_result))
715
+ #else
716
+ # define GTEST_MUST_USE_RESULT_
717
+ #endif // __GNUC__ && !COMPILER_ICC
718
+
719
+ // MS C++ compiler emits warning when a conditional expression is compile time
720
+ // constant. In some contexts this warning is false positive and needs to be
721
+ // suppressed. Use the following two macros in such cases:
722
+ //
723
+ // GTEST_INTENTIONAL_CONST_COND_PUSH_()
724
+ // while (true) {
725
+ // GTEST_INTENTIONAL_CONST_COND_POP_()
726
+ // }
727
+ # define GTEST_INTENTIONAL_CONST_COND_PUSH_() \
728
+ GTEST_DISABLE_MSC_WARNINGS_PUSH_(4127)
729
+ # define GTEST_INTENTIONAL_CONST_COND_POP_() \
730
+ GTEST_DISABLE_MSC_WARNINGS_POP_()
731
+
732
+ // Determine whether the compiler supports Microsoft's Structured Exception
733
+ // Handling. This is supported by several Windows compilers but generally
734
+ // does not exist on any other system.
735
+ #ifndef GTEST_HAS_SEH
736
+ // The user didn't tell us, so we need to figure it out.
737
+
738
+ # if defined(_MSC_VER) || defined(__BORLANDC__)
739
+ // These two compilers are known to support SEH.
740
+ # define GTEST_HAS_SEH 1
741
+ # else
742
+ // Assume no SEH.
743
+ # define GTEST_HAS_SEH 0
744
+ # endif
745
+
746
+ #endif // GTEST_HAS_SEH
747
+
748
+ #ifndef GTEST_IS_THREADSAFE
749
+
750
+ #define GTEST_IS_THREADSAFE \
751
+ (GTEST_HAS_MUTEX_AND_THREAD_LOCAL_ || \
752
+ (GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT) || \
753
+ GTEST_HAS_PTHREAD)
754
+
755
+ #endif // GTEST_IS_THREADSAFE
756
+
757
+ // GTEST_API_ qualifies all symbols that must be exported. The definitions below
758
+ // are guarded by #ifndef to give embedders a chance to define GTEST_API_ in
759
+ // gtest/internal/custom/gtest-port.h
760
+ #ifndef GTEST_API_
761
+
762
+ #ifdef _MSC_VER
763
+ # if GTEST_LINKED_AS_SHARED_LIBRARY
764
+ # define GTEST_API_ __declspec(dllimport)
765
+ # elif GTEST_CREATE_SHARED_LIBRARY
766
+ # define GTEST_API_ __declspec(dllexport)
767
+ # endif
768
+ #elif __GNUC__ >= 4 || defined(__clang__)
769
+ # define GTEST_API_ __attribute__((visibility ("default")))
770
+ #endif // _MSC_VER
771
+
772
+ #endif // GTEST_API_
773
+
774
+ #ifndef GTEST_API_
775
+ # define GTEST_API_
776
+ #endif // GTEST_API_
777
+
778
+ #ifndef GTEST_DEFAULT_DEATH_TEST_STYLE
779
+ # define GTEST_DEFAULT_DEATH_TEST_STYLE "fast"
780
+ #endif // GTEST_DEFAULT_DEATH_TEST_STYLE
781
+
782
+ #ifdef __GNUC__
783
+ // Ask the compiler to never inline a given function.
784
+ # define GTEST_NO_INLINE_ __attribute__((noinline))
785
+ #else
786
+ # define GTEST_NO_INLINE_
787
+ #endif
788
+
789
+ // _LIBCPP_VERSION is defined by the libc++ library from the LLVM project.
790
+ #if !defined(GTEST_HAS_CXXABI_H_)
791
+ # if defined(__GLIBCXX__) || (defined(_LIBCPP_VERSION) && !defined(_MSC_VER))
792
+ # define GTEST_HAS_CXXABI_H_ 1
793
+ # else
794
+ # define GTEST_HAS_CXXABI_H_ 0
795
+ # endif
796
+ #endif
797
+
798
+ // A function level attribute to disable checking for use of uninitialized
799
+ // memory when built with MemorySanitizer.
800
+ #if defined(__clang__)
801
+ # if __has_feature(memory_sanitizer)
802
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_ \
803
+ __attribute__((no_sanitize_memory))
804
+ # else
805
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
806
+ # endif // __has_feature(memory_sanitizer)
807
+ #else
808
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
809
+ #endif // __clang__
810
+
811
+ // A function level attribute to disable AddressSanitizer instrumentation.
812
+ #if defined(__clang__)
813
+ # if __has_feature(address_sanitizer)
814
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_ \
815
+ __attribute__((no_sanitize_address))
816
+ # else
817
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
818
+ # endif // __has_feature(address_sanitizer)
819
+ #else
820
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
821
+ #endif // __clang__
822
+
823
+ // A function level attribute to disable HWAddressSanitizer instrumentation.
824
+ #if defined(__clang__)
825
+ # if __has_feature(hwaddress_sanitizer)
826
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_ \
827
+ __attribute__((no_sanitize("hwaddress")))
828
+ # else
829
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_
830
+ # endif // __has_feature(hwaddress_sanitizer)
831
+ #else
832
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_
833
+ #endif // __clang__
834
+
835
+ // A function level attribute to disable ThreadSanitizer instrumentation.
836
+ #if defined(__clang__)
837
+ # if __has_feature(thread_sanitizer)
838
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_ \
839
+ __attribute__((no_sanitize_thread))
840
+ # else
841
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
842
+ # endif // __has_feature(thread_sanitizer)
843
+ #else
844
+ # define GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
845
+ #endif // __clang__
846
+
847
+ namespace testing {
848
+
849
+ class Message;
850
+
851
+ // Legacy imports for backwards compatibility.
852
+ // New code should use std:: names directly.
853
+ using std::get;
854
+ using std::make_tuple;
855
+ using std::tuple;
856
+ using std::tuple_element;
857
+ using std::tuple_size;
858
+
859
+ namespace internal {
860
+
861
+ // A secret type that Google Test users don't know about. It has no
862
+ // definition on purpose. Therefore it's impossible to create a
863
+ // Secret object, which is what we want.
864
+ class Secret;
865
+
866
+ // The GTEST_COMPILE_ASSERT_ is a legacy macro used to verify that a compile
867
+ // time expression is true (in new code, use static_assert instead). For
868
+ // example, you could use it to verify the size of a static array:
869
+ //
870
+ // GTEST_COMPILE_ASSERT_(GTEST_ARRAY_SIZE_(names) == NUM_NAMES,
871
+ // names_incorrect_size);
872
+ //
873
+ // The second argument to the macro must be a valid C++ identifier. If the
874
+ // expression is false, compiler will issue an error containing this identifier.
875
+ #define GTEST_COMPILE_ASSERT_(expr, msg) static_assert(expr, #msg)
876
+
877
+ // A helper for suppressing warnings on constant condition. It just
878
+ // returns 'condition'.
879
+ GTEST_API_ bool IsTrue(bool condition);
880
+
881
+ // Defines RE.
882
+
883
+ #if GTEST_USES_PCRE
884
+ // if used, PCRE is injected by custom/gtest-port.h
885
+ #elif GTEST_USES_POSIX_RE || GTEST_USES_SIMPLE_RE
886
+
887
+ // A simple C++ wrapper for <regex.h>. It uses the POSIX Extended
888
+ // Regular Expression syntax.
889
+ class GTEST_API_ RE {
890
+ public:
891
+ // A copy constructor is required by the Standard to initialize object
892
+ // references from r-values.
893
+ RE(const RE& other) { Init(other.pattern()); }
894
+
895
+ // Constructs an RE from a string.
896
+ RE(const ::std::string& regex) { Init(regex.c_str()); } // NOLINT
897
+
898
+ RE(const char* regex) { Init(regex); } // NOLINT
899
+ ~RE();
900
+
901
+ // Returns the string representation of the regex.
902
+ const char* pattern() const { return pattern_; }
903
+
904
+ // FullMatch(str, re) returns true if and only if regular expression re
905
+ // matches the entire str.
906
+ // PartialMatch(str, re) returns true if and only if regular expression re
907
+ // matches a substring of str (including str itself).
908
+ static bool FullMatch(const ::std::string& str, const RE& re) {
909
+ return FullMatch(str.c_str(), re);
910
+ }
911
+ static bool PartialMatch(const ::std::string& str, const RE& re) {
912
+ return PartialMatch(str.c_str(), re);
913
+ }
914
+
915
+ static bool FullMatch(const char* str, const RE& re);
916
+ static bool PartialMatch(const char* str, const RE& re);
917
+
918
+ private:
919
+ void Init(const char* regex);
920
+ const char* pattern_;
921
+ bool is_valid_;
922
+
923
+ # if GTEST_USES_POSIX_RE
924
+
925
+ regex_t full_regex_; // For FullMatch().
926
+ regex_t partial_regex_; // For PartialMatch().
927
+
928
+ # else // GTEST_USES_SIMPLE_RE
929
+
930
+ const char* full_pattern_; // For FullMatch();
931
+
932
+ # endif
933
+ };
934
+
935
+ #endif // GTEST_USES_PCRE
936
+
937
+ // Formats a source file path and a line number as they would appear
938
+ // in an error message from the compiler used to compile this code.
939
+ GTEST_API_ ::std::string FormatFileLocation(const char* file, int line);
940
+
941
+ // Formats a file location for compiler-independent XML output.
942
+ // Although this function is not platform dependent, we put it next to
943
+ // FormatFileLocation in order to contrast the two functions.
944
+ GTEST_API_ ::std::string FormatCompilerIndependentFileLocation(const char* file,
945
+ int line);
946
+
947
+ // Defines logging utilities:
948
+ // GTEST_LOG_(severity) - logs messages at the specified severity level. The
949
+ // message itself is streamed into the macro.
950
+ // LogToStderr() - directs all log messages to stderr.
951
+ // FlushInfoLog() - flushes informational log messages.
952
+
953
+ enum GTestLogSeverity {
954
+ GTEST_INFO,
955
+ GTEST_WARNING,
956
+ GTEST_ERROR,
957
+ GTEST_FATAL
958
+ };
959
+
960
+ // Formats log entry severity, provides a stream object for streaming the
961
+ // log message, and terminates the message with a newline when going out of
962
+ // scope.
963
+ class GTEST_API_ GTestLog {
964
+ public:
965
+ GTestLog(GTestLogSeverity severity, const char* file, int line);
966
+
967
+ // Flushes the buffers and, if severity is GTEST_FATAL, aborts the program.
968
+ ~GTestLog();
969
+
970
+ ::std::ostream& GetStream() { return ::std::cerr; }
971
+
972
+ private:
973
+ const GTestLogSeverity severity_;
974
+
975
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(GTestLog);
976
+ };
977
+
978
+ #if !defined(GTEST_LOG_)
979
+
980
+ # define GTEST_LOG_(severity) \
981
+ ::testing::internal::GTestLog(::testing::internal::GTEST_##severity, \
982
+ __FILE__, __LINE__).GetStream()
983
+
984
+ inline void LogToStderr() {}
985
+ inline void FlushInfoLog() { fflush(nullptr); }
986
+
987
+ #endif // !defined(GTEST_LOG_)
988
+
989
+ #if !defined(GTEST_CHECK_)
990
+ // INTERNAL IMPLEMENTATION - DO NOT USE.
991
+ //
992
+ // GTEST_CHECK_ is an all-mode assert. It aborts the program if the condition
993
+ // is not satisfied.
994
+ // Synopsys:
995
+ // GTEST_CHECK_(boolean_condition);
996
+ // or
997
+ // GTEST_CHECK_(boolean_condition) << "Additional message";
998
+ //
999
+ // This checks the condition and if the condition is not satisfied
1000
+ // it prints message about the condition violation, including the
1001
+ // condition itself, plus additional message streamed into it, if any,
1002
+ // and then it aborts the program. It aborts the program irrespective of
1003
+ // whether it is built in the debug mode or not.
1004
+ # define GTEST_CHECK_(condition) \
1005
+ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
1006
+ if (::testing::internal::IsTrue(condition)) \
1007
+ ; \
1008
+ else \
1009
+ GTEST_LOG_(FATAL) << "Condition " #condition " failed. "
1010
+ #endif // !defined(GTEST_CHECK_)
1011
+
1012
+ // An all-mode assert to verify that the given POSIX-style function
1013
+ // call returns 0 (indicating success). Known limitation: this
1014
+ // doesn't expand to a balanced 'if' statement, so enclose the macro
1015
+ // in {} if you need to use it as the only statement in an 'if'
1016
+ // branch.
1017
+ #define GTEST_CHECK_POSIX_SUCCESS_(posix_call) \
1018
+ if (const int gtest_error = (posix_call)) \
1019
+ GTEST_LOG_(FATAL) << #posix_call << "failed with error " \
1020
+ << gtest_error
1021
+
1022
+ // Transforms "T" into "const T&" according to standard reference collapsing
1023
+ // rules (this is only needed as a backport for C++98 compilers that do not
1024
+ // support reference collapsing). Specifically, it transforms:
1025
+ //
1026
+ // char ==> const char&
1027
+ // const char ==> const char&
1028
+ // char& ==> char&
1029
+ // const char& ==> const char&
1030
+ //
1031
+ // Note that the non-const reference will not have "const" added. This is
1032
+ // standard, and necessary so that "T" can always bind to "const T&".
1033
+ template <typename T>
1034
+ struct ConstRef { typedef const T& type; };
1035
+ template <typename T>
1036
+ struct ConstRef<T&> { typedef T& type; };
1037
+
1038
+ // The argument T must depend on some template parameters.
1039
+ #define GTEST_REFERENCE_TO_CONST_(T) \
1040
+ typename ::testing::internal::ConstRef<T>::type
1041
+
1042
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
1043
+ //
1044
+ // Use ImplicitCast_ as a safe version of static_cast for upcasting in
1045
+ // the type hierarchy (e.g. casting a Foo* to a SuperclassOfFoo* or a
1046
+ // const Foo*). When you use ImplicitCast_, the compiler checks that
1047
+ // the cast is safe. Such explicit ImplicitCast_s are necessary in
1048
+ // surprisingly many situations where C++ demands an exact type match
1049
+ // instead of an argument type convertable to a target type.
1050
+ //
1051
+ // The syntax for using ImplicitCast_ is the same as for static_cast:
1052
+ //
1053
+ // ImplicitCast_<ToType>(expr)
1054
+ //
1055
+ // ImplicitCast_ would have been part of the C++ standard library,
1056
+ // but the proposal was submitted too late. It will probably make
1057
+ // its way into the language in the future.
1058
+ //
1059
+ // This relatively ugly name is intentional. It prevents clashes with
1060
+ // similar functions users may have (e.g., implicit_cast). The internal
1061
+ // namespace alone is not enough because the function can be found by ADL.
1062
+ template<typename To>
1063
+ inline To ImplicitCast_(To x) { return x; }
1064
+
1065
+ // When you upcast (that is, cast a pointer from type Foo to type
1066
+ // SuperclassOfFoo), it's fine to use ImplicitCast_<>, since upcasts
1067
+ // always succeed. When you downcast (that is, cast a pointer from
1068
+ // type Foo to type SubclassOfFoo), static_cast<> isn't safe, because
1069
+ // how do you know the pointer is really of type SubclassOfFoo? It
1070
+ // could be a bare Foo, or of type DifferentSubclassOfFoo. Thus,
1071
+ // when you downcast, you should use this macro. In debug mode, we
1072
+ // use dynamic_cast<> to double-check the downcast is legal (we die
1073
+ // if it's not). In normal mode, we do the efficient static_cast<>
1074
+ // instead. Thus, it's important to test in debug mode to make sure
1075
+ // the cast is legal!
1076
+ // This is the only place in the code we should use dynamic_cast<>.
1077
+ // In particular, you SHOULDN'T be using dynamic_cast<> in order to
1078
+ // do RTTI (eg code like this:
1079
+ // if (dynamic_cast<Subclass1>(foo)) HandleASubclass1Object(foo);
1080
+ // if (dynamic_cast<Subclass2>(foo)) HandleASubclass2Object(foo);
1081
+ // You should design the code some other way not to need this.
1082
+ //
1083
+ // This relatively ugly name is intentional. It prevents clashes with
1084
+ // similar functions users may have (e.g., down_cast). The internal
1085
+ // namespace alone is not enough because the function can be found by ADL.
1086
+ template<typename To, typename From> // use like this: DownCast_<T*>(foo);
1087
+ inline To DownCast_(From* f) { // so we only accept pointers
1088
+ // Ensures that To is a sub-type of From *. This test is here only
1089
+ // for compile-time type checking, and has no overhead in an
1090
+ // optimized build at run-time, as it will be optimized away
1091
+ // completely.
1092
+ GTEST_INTENTIONAL_CONST_COND_PUSH_()
1093
+ if (false) {
1094
+ GTEST_INTENTIONAL_CONST_COND_POP_()
1095
+ const To to = nullptr;
1096
+ ::testing::internal::ImplicitCast_<From*>(to);
1097
+ }
1098
+
1099
+ #if GTEST_HAS_RTTI
1100
+ // RTTI: debug mode only!
1101
+ GTEST_CHECK_(f == nullptr || dynamic_cast<To>(f) != nullptr);
1102
+ #endif
1103
+ return static_cast<To>(f);
1104
+ }
1105
+
1106
+ // Downcasts the pointer of type Base to Derived.
1107
+ // Derived must be a subclass of Base. The parameter MUST
1108
+ // point to a class of type Derived, not any subclass of it.
1109
+ // When RTTI is available, the function performs a runtime
1110
+ // check to enforce this.
1111
+ template <class Derived, class Base>
1112
+ Derived* CheckedDowncastToActualType(Base* base) {
1113
+ #if GTEST_HAS_RTTI
1114
+ GTEST_CHECK_(typeid(*base) == typeid(Derived));
1115
+ #endif
1116
+
1117
+ #if GTEST_HAS_DOWNCAST_
1118
+ return ::down_cast<Derived*>(base);
1119
+ #elif GTEST_HAS_RTTI
1120
+ return dynamic_cast<Derived*>(base); // NOLINT
1121
+ #else
1122
+ return static_cast<Derived*>(base); // Poor man's downcast.
1123
+ #endif
1124
+ }
1125
+
1126
+ #if GTEST_HAS_STREAM_REDIRECTION
1127
+
1128
+ // Defines the stderr capturer:
1129
+ // CaptureStdout - starts capturing stdout.
1130
+ // GetCapturedStdout - stops capturing stdout and returns the captured string.
1131
+ // CaptureStderr - starts capturing stderr.
1132
+ // GetCapturedStderr - stops capturing stderr and returns the captured string.
1133
+ //
1134
+ GTEST_API_ void CaptureStdout();
1135
+ GTEST_API_ std::string GetCapturedStdout();
1136
+ GTEST_API_ void CaptureStderr();
1137
+ GTEST_API_ std::string GetCapturedStderr();
1138
+
1139
+ #endif // GTEST_HAS_STREAM_REDIRECTION
1140
+ // Returns the size (in bytes) of a file.
1141
+ GTEST_API_ size_t GetFileSize(FILE* file);
1142
+
1143
+ // Reads the entire content of a file as a string.
1144
+ GTEST_API_ std::string ReadEntireFile(FILE* file);
1145
+
1146
+ // All command line arguments.
1147
+ GTEST_API_ std::vector<std::string> GetArgvs();
1148
+
1149
+ #if GTEST_HAS_DEATH_TEST
1150
+
1151
+ std::vector<std::string> GetInjectableArgvs();
1152
+ // Deprecated: pass the args vector by value instead.
1153
+ void SetInjectableArgvs(const std::vector<std::string>* new_argvs);
1154
+ void SetInjectableArgvs(const std::vector<std::string>& new_argvs);
1155
+ void ClearInjectableArgvs();
1156
+
1157
+ #endif // GTEST_HAS_DEATH_TEST
1158
+
1159
+ // Defines synchronization primitives.
1160
+ #if GTEST_IS_THREADSAFE
1161
+ # if GTEST_HAS_PTHREAD
1162
+ // Sleeps for (roughly) n milliseconds. This function is only for testing
1163
+ // Google Test's own constructs. Don't use it in user tests, either
1164
+ // directly or indirectly.
1165
+ inline void SleepMilliseconds(int n) {
1166
+ const timespec time = {
1167
+ 0, // 0 seconds.
1168
+ n * 1000L * 1000L, // And n ms.
1169
+ };
1170
+ nanosleep(&time, nullptr);
1171
+ }
1172
+ # endif // GTEST_HAS_PTHREAD
1173
+
1174
+ # if GTEST_HAS_NOTIFICATION_
1175
+ // Notification has already been imported into the namespace.
1176
+ // Nothing to do here.
1177
+
1178
+ # elif GTEST_HAS_PTHREAD
1179
+ // Allows a controller thread to pause execution of newly created
1180
+ // threads until notified. Instances of this class must be created
1181
+ // and destroyed in the controller thread.
1182
+ //
1183
+ // This class is only for testing Google Test's own constructs. Do not
1184
+ // use it in user tests, either directly or indirectly.
1185
+ class Notification {
1186
+ public:
1187
+ Notification() : notified_(false) {
1188
+ GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_init(&mutex_, nullptr));
1189
+ }
1190
+ ~Notification() {
1191
+ pthread_mutex_destroy(&mutex_);
1192
+ }
1193
+
1194
+ // Notifies all threads created with this notification to start. Must
1195
+ // be called from the controller thread.
1196
+ void Notify() {
1197
+ pthread_mutex_lock(&mutex_);
1198
+ notified_ = true;
1199
+ pthread_mutex_unlock(&mutex_);
1200
+ }
1201
+
1202
+ // Blocks until the controller thread notifies. Must be called from a test
1203
+ // thread.
1204
+ void WaitForNotification() {
1205
+ for (;;) {
1206
+ pthread_mutex_lock(&mutex_);
1207
+ const bool notified = notified_;
1208
+ pthread_mutex_unlock(&mutex_);
1209
+ if (notified)
1210
+ break;
1211
+ SleepMilliseconds(10);
1212
+ }
1213
+ }
1214
+
1215
+ private:
1216
+ pthread_mutex_t mutex_;
1217
+ bool notified_;
1218
+
1219
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(Notification);
1220
+ };
1221
+
1222
+ # elif GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT
1223
+
1224
+ GTEST_API_ void SleepMilliseconds(int n);
1225
+
1226
+ // Provides leak-safe Windows kernel handle ownership.
1227
+ // Used in death tests and in threading support.
1228
+ class GTEST_API_ AutoHandle {
1229
+ public:
1230
+ // Assume that Win32 HANDLE type is equivalent to void*. Doing so allows us to
1231
+ // avoid including <windows.h> in this header file. Including <windows.h> is
1232
+ // undesirable because it defines a lot of symbols and macros that tend to
1233
+ // conflict with client code. This assumption is verified by
1234
+ // WindowsTypesTest.HANDLEIsVoidStar.
1235
+ typedef void* Handle;
1236
+ AutoHandle();
1237
+ explicit AutoHandle(Handle handle);
1238
+
1239
+ ~AutoHandle();
1240
+
1241
+ Handle Get() const;
1242
+ void Reset();
1243
+ void Reset(Handle handle);
1244
+
1245
+ private:
1246
+ // Returns true if and only if the handle is a valid handle object that can be
1247
+ // closed.
1248
+ bool IsCloseable() const;
1249
+
1250
+ Handle handle_;
1251
+
1252
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(AutoHandle);
1253
+ };
1254
+
1255
+ // Allows a controller thread to pause execution of newly created
1256
+ // threads until notified. Instances of this class must be created
1257
+ // and destroyed in the controller thread.
1258
+ //
1259
+ // This class is only for testing Google Test's own constructs. Do not
1260
+ // use it in user tests, either directly or indirectly.
1261
+ class GTEST_API_ Notification {
1262
+ public:
1263
+ Notification();
1264
+ void Notify();
1265
+ void WaitForNotification();
1266
+
1267
+ private:
1268
+ AutoHandle event_;
1269
+
1270
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(Notification);
1271
+ };
1272
+ # endif // GTEST_HAS_NOTIFICATION_
1273
+
1274
+ // On MinGW, we can have both GTEST_OS_WINDOWS and GTEST_HAS_PTHREAD
1275
+ // defined, but we don't want to use MinGW's pthreads implementation, which
1276
+ // has conformance problems with some versions of the POSIX standard.
1277
+ # if GTEST_HAS_PTHREAD && !GTEST_OS_WINDOWS_MINGW
1278
+
1279
+ // As a C-function, ThreadFuncWithCLinkage cannot be templated itself.
1280
+ // Consequently, it cannot select a correct instantiation of ThreadWithParam
1281
+ // in order to call its Run(). Introducing ThreadWithParamBase as a
1282
+ // non-templated base class for ThreadWithParam allows us to bypass this
1283
+ // problem.
1284
+ class ThreadWithParamBase {
1285
+ public:
1286
+ virtual ~ThreadWithParamBase() {}
1287
+ virtual void Run() = 0;
1288
+ };
1289
+
1290
+ // pthread_create() accepts a pointer to a function type with the C linkage.
1291
+ // According to the Standard (7.5/1), function types with different linkages
1292
+ // are different even if they are otherwise identical. Some compilers (for
1293
+ // example, SunStudio) treat them as different types. Since class methods
1294
+ // cannot be defined with C-linkage we need to define a free C-function to
1295
+ // pass into pthread_create().
1296
+ extern "C" inline void* ThreadFuncWithCLinkage(void* thread) {
1297
+ static_cast<ThreadWithParamBase*>(thread)->Run();
1298
+ return nullptr;
1299
+ }
1300
+
1301
+ // Helper class for testing Google Test's multi-threading constructs.
1302
+ // To use it, write:
1303
+ //
1304
+ // void ThreadFunc(int param) { /* Do things with param */ }
1305
+ // Notification thread_can_start;
1306
+ // ...
1307
+ // // The thread_can_start parameter is optional; you can supply NULL.
1308
+ // ThreadWithParam<int> thread(&ThreadFunc, 5, &thread_can_start);
1309
+ // thread_can_start.Notify();
1310
+ //
1311
+ // These classes are only for testing Google Test's own constructs. Do
1312
+ // not use them in user tests, either directly or indirectly.
1313
+ template <typename T>
1314
+ class ThreadWithParam : public ThreadWithParamBase {
1315
+ public:
1316
+ typedef void UserThreadFunc(T);
1317
+
1318
+ ThreadWithParam(UserThreadFunc* func, T param, Notification* thread_can_start)
1319
+ : func_(func),
1320
+ param_(param),
1321
+ thread_can_start_(thread_can_start),
1322
+ finished_(false) {
1323
+ ThreadWithParamBase* const base = this;
1324
+ // The thread can be created only after all fields except thread_
1325
+ // have been initialized.
1326
+ GTEST_CHECK_POSIX_SUCCESS_(
1327
+ pthread_create(&thread_, nullptr, &ThreadFuncWithCLinkage, base));
1328
+ }
1329
+ ~ThreadWithParam() override { Join(); }
1330
+
1331
+ void Join() {
1332
+ if (!finished_) {
1333
+ GTEST_CHECK_POSIX_SUCCESS_(pthread_join(thread_, nullptr));
1334
+ finished_ = true;
1335
+ }
1336
+ }
1337
+
1338
+ void Run() override {
1339
+ if (thread_can_start_ != nullptr) thread_can_start_->WaitForNotification();
1340
+ func_(param_);
1341
+ }
1342
+
1343
+ private:
1344
+ UserThreadFunc* const func_; // User-supplied thread function.
1345
+ const T param_; // User-supplied parameter to the thread function.
1346
+ // When non-NULL, used to block execution until the controller thread
1347
+ // notifies.
1348
+ Notification* const thread_can_start_;
1349
+ bool finished_; // true if and only if we know that the thread function has
1350
+ // finished.
1351
+ pthread_t thread_; // The native thread object.
1352
+
1353
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadWithParam);
1354
+ };
1355
+ # endif // !GTEST_OS_WINDOWS && GTEST_HAS_PTHREAD ||
1356
+ // GTEST_HAS_MUTEX_AND_THREAD_LOCAL_
1357
+
1358
+ # if GTEST_HAS_MUTEX_AND_THREAD_LOCAL_
1359
+ // Mutex and ThreadLocal have already been imported into the namespace.
1360
+ // Nothing to do here.
1361
+
1362
+ # elif GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT
1363
+
1364
+ // Mutex implements mutex on Windows platforms. It is used in conjunction
1365
+ // with class MutexLock:
1366
+ //
1367
+ // Mutex mutex;
1368
+ // ...
1369
+ // MutexLock lock(&mutex); // Acquires the mutex and releases it at the
1370
+ // // end of the current scope.
1371
+ //
1372
+ // A static Mutex *must* be defined or declared using one of the following
1373
+ // macros:
1374
+ // GTEST_DEFINE_STATIC_MUTEX_(g_some_mutex);
1375
+ // GTEST_DECLARE_STATIC_MUTEX_(g_some_mutex);
1376
+ //
1377
+ // (A non-static Mutex is defined/declared in the usual way).
1378
+ class GTEST_API_ Mutex {
1379
+ public:
1380
+ enum MutexType { kStatic = 0, kDynamic = 1 };
1381
+ // We rely on kStaticMutex being 0 as it is to what the linker initializes
1382
+ // type_ in static mutexes. critical_section_ will be initialized lazily
1383
+ // in ThreadSafeLazyInit().
1384
+ enum StaticConstructorSelector { kStaticMutex = 0 };
1385
+
1386
+ // This constructor intentionally does nothing. It relies on type_ being
1387
+ // statically initialized to 0 (effectively setting it to kStatic) and on
1388
+ // ThreadSafeLazyInit() to lazily initialize the rest of the members.
1389
+ explicit Mutex(StaticConstructorSelector /*dummy*/) {}
1390
+
1391
+ Mutex();
1392
+ ~Mutex();
1393
+
1394
+ void Lock();
1395
+
1396
+ void Unlock();
1397
+
1398
+ // Does nothing if the current thread holds the mutex. Otherwise, crashes
1399
+ // with high probability.
1400
+ void AssertHeld();
1401
+
1402
+ private:
1403
+ // Initializes owner_thread_id_ and critical_section_ in static mutexes.
1404
+ void ThreadSafeLazyInit();
1405
+
1406
+ // Per https://blogs.msdn.microsoft.com/oldnewthing/20040223-00/?p=40503,
1407
+ // we assume that 0 is an invalid value for thread IDs.
1408
+ unsigned int owner_thread_id_;
1409
+
1410
+ // For static mutexes, we rely on these members being initialized to zeros
1411
+ // by the linker.
1412
+ MutexType type_;
1413
+ long critical_section_init_phase_; // NOLINT
1414
+ GTEST_CRITICAL_SECTION* critical_section_;
1415
+
1416
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(Mutex);
1417
+ };
1418
+
1419
+ # define GTEST_DECLARE_STATIC_MUTEX_(mutex) \
1420
+ extern ::testing::internal::Mutex mutex
1421
+
1422
+ # define GTEST_DEFINE_STATIC_MUTEX_(mutex) \
1423
+ ::testing::internal::Mutex mutex(::testing::internal::Mutex::kStaticMutex)
1424
+
1425
+ // We cannot name this class MutexLock because the ctor declaration would
1426
+ // conflict with a macro named MutexLock, which is defined on some
1427
+ // platforms. That macro is used as a defensive measure to prevent against
1428
+ // inadvertent misuses of MutexLock like "MutexLock(&mu)" rather than
1429
+ // "MutexLock l(&mu)". Hence the typedef trick below.
1430
+ class GTestMutexLock {
1431
+ public:
1432
+ explicit GTestMutexLock(Mutex* mutex)
1433
+ : mutex_(mutex) { mutex_->Lock(); }
1434
+
1435
+ ~GTestMutexLock() { mutex_->Unlock(); }
1436
+
1437
+ private:
1438
+ Mutex* const mutex_;
1439
+
1440
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(GTestMutexLock);
1441
+ };
1442
+
1443
+ typedef GTestMutexLock MutexLock;
1444
+
1445
+ // Base class for ValueHolder<T>. Allows a caller to hold and delete a value
1446
+ // without knowing its type.
1447
+ class ThreadLocalValueHolderBase {
1448
+ public:
1449
+ virtual ~ThreadLocalValueHolderBase() {}
1450
+ };
1451
+
1452
+ // Provides a way for a thread to send notifications to a ThreadLocal
1453
+ // regardless of its parameter type.
1454
+ class ThreadLocalBase {
1455
+ public:
1456
+ // Creates a new ValueHolder<T> object holding a default value passed to
1457
+ // this ThreadLocal<T>'s constructor and returns it. It is the caller's
1458
+ // responsibility not to call this when the ThreadLocal<T> instance already
1459
+ // has a value on the current thread.
1460
+ virtual ThreadLocalValueHolderBase* NewValueForCurrentThread() const = 0;
1461
+
1462
+ protected:
1463
+ ThreadLocalBase() {}
1464
+ virtual ~ThreadLocalBase() {}
1465
+
1466
+ private:
1467
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocalBase);
1468
+ };
1469
+
1470
+ // Maps a thread to a set of ThreadLocals that have values instantiated on that
1471
+ // thread and notifies them when the thread exits. A ThreadLocal instance is
1472
+ // expected to persist until all threads it has values on have terminated.
1473
+ class GTEST_API_ ThreadLocalRegistry {
1474
+ public:
1475
+ // Registers thread_local_instance as having value on the current thread.
1476
+ // Returns a value that can be used to identify the thread from other threads.
1477
+ static ThreadLocalValueHolderBase* GetValueOnCurrentThread(
1478
+ const ThreadLocalBase* thread_local_instance);
1479
+
1480
+ // Invoked when a ThreadLocal instance is destroyed.
1481
+ static void OnThreadLocalDestroyed(
1482
+ const ThreadLocalBase* thread_local_instance);
1483
+ };
1484
+
1485
+ class GTEST_API_ ThreadWithParamBase {
1486
+ public:
1487
+ void Join();
1488
+
1489
+ protected:
1490
+ class Runnable {
1491
+ public:
1492
+ virtual ~Runnable() {}
1493
+ virtual void Run() = 0;
1494
+ };
1495
+
1496
+ ThreadWithParamBase(Runnable *runnable, Notification* thread_can_start);
1497
+ virtual ~ThreadWithParamBase();
1498
+
1499
+ private:
1500
+ AutoHandle thread_;
1501
+ };
1502
+
1503
+ // Helper class for testing Google Test's multi-threading constructs.
1504
+ template <typename T>
1505
+ class ThreadWithParam : public ThreadWithParamBase {
1506
+ public:
1507
+ typedef void UserThreadFunc(T);
1508
+
1509
+ ThreadWithParam(UserThreadFunc* func, T param, Notification* thread_can_start)
1510
+ : ThreadWithParamBase(new RunnableImpl(func, param), thread_can_start) {
1511
+ }
1512
+ virtual ~ThreadWithParam() {}
1513
+
1514
+ private:
1515
+ class RunnableImpl : public Runnable {
1516
+ public:
1517
+ RunnableImpl(UserThreadFunc* func, T param)
1518
+ : func_(func),
1519
+ param_(param) {
1520
+ }
1521
+ virtual ~RunnableImpl() {}
1522
+ virtual void Run() {
1523
+ func_(param_);
1524
+ }
1525
+
1526
+ private:
1527
+ UserThreadFunc* const func_;
1528
+ const T param_;
1529
+
1530
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(RunnableImpl);
1531
+ };
1532
+
1533
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadWithParam);
1534
+ };
1535
+
1536
+ // Implements thread-local storage on Windows systems.
1537
+ //
1538
+ // // Thread 1
1539
+ // ThreadLocal<int> tl(100); // 100 is the default value for each thread.
1540
+ //
1541
+ // // Thread 2
1542
+ // tl.set(150); // Changes the value for thread 2 only.
1543
+ // EXPECT_EQ(150, tl.get());
1544
+ //
1545
+ // // Thread 1
1546
+ // EXPECT_EQ(100, tl.get()); // In thread 1, tl has the original value.
1547
+ // tl.set(200);
1548
+ // EXPECT_EQ(200, tl.get());
1549
+ //
1550
+ // The template type argument T must have a public copy constructor.
1551
+ // In addition, the default ThreadLocal constructor requires T to have
1552
+ // a public default constructor.
1553
+ //
1554
+ // The users of a TheadLocal instance have to make sure that all but one
1555
+ // threads (including the main one) using that instance have exited before
1556
+ // destroying it. Otherwise, the per-thread objects managed for them by the
1557
+ // ThreadLocal instance are not guaranteed to be destroyed on all platforms.
1558
+ //
1559
+ // Google Test only uses global ThreadLocal objects. That means they
1560
+ // will die after main() has returned. Therefore, no per-thread
1561
+ // object managed by Google Test will be leaked as long as all threads
1562
+ // using Google Test have exited when main() returns.
1563
+ template <typename T>
1564
+ class ThreadLocal : public ThreadLocalBase {
1565
+ public:
1566
+ ThreadLocal() : default_factory_(new DefaultValueHolderFactory()) {}
1567
+ explicit ThreadLocal(const T& value)
1568
+ : default_factory_(new InstanceValueHolderFactory(value)) {}
1569
+
1570
+ ~ThreadLocal() { ThreadLocalRegistry::OnThreadLocalDestroyed(this); }
1571
+
1572
+ T* pointer() { return GetOrCreateValue(); }
1573
+ const T* pointer() const { return GetOrCreateValue(); }
1574
+ const T& get() const { return *pointer(); }
1575
+ void set(const T& value) { *pointer() = value; }
1576
+
1577
+ private:
1578
+ // Holds a value of T. Can be deleted via its base class without the caller
1579
+ // knowing the type of T.
1580
+ class ValueHolder : public ThreadLocalValueHolderBase {
1581
+ public:
1582
+ ValueHolder() : value_() {}
1583
+ explicit ValueHolder(const T& value) : value_(value) {}
1584
+
1585
+ T* pointer() { return &value_; }
1586
+
1587
+ private:
1588
+ T value_;
1589
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolder);
1590
+ };
1591
+
1592
+
1593
+ T* GetOrCreateValue() const {
1594
+ return static_cast<ValueHolder*>(
1595
+ ThreadLocalRegistry::GetValueOnCurrentThread(this))->pointer();
1596
+ }
1597
+
1598
+ virtual ThreadLocalValueHolderBase* NewValueForCurrentThread() const {
1599
+ return default_factory_->MakeNewHolder();
1600
+ }
1601
+
1602
+ class ValueHolderFactory {
1603
+ public:
1604
+ ValueHolderFactory() {}
1605
+ virtual ~ValueHolderFactory() {}
1606
+ virtual ValueHolder* MakeNewHolder() const = 0;
1607
+
1608
+ private:
1609
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolderFactory);
1610
+ };
1611
+
1612
+ class DefaultValueHolderFactory : public ValueHolderFactory {
1613
+ public:
1614
+ DefaultValueHolderFactory() {}
1615
+ ValueHolder* MakeNewHolder() const override { return new ValueHolder(); }
1616
+
1617
+ private:
1618
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(DefaultValueHolderFactory);
1619
+ };
1620
+
1621
+ class InstanceValueHolderFactory : public ValueHolderFactory {
1622
+ public:
1623
+ explicit InstanceValueHolderFactory(const T& value) : value_(value) {}
1624
+ ValueHolder* MakeNewHolder() const override {
1625
+ return new ValueHolder(value_);
1626
+ }
1627
+
1628
+ private:
1629
+ const T value_; // The value for each thread.
1630
+
1631
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(InstanceValueHolderFactory);
1632
+ };
1633
+
1634
+ std::unique_ptr<ValueHolderFactory> default_factory_;
1635
+
1636
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocal);
1637
+ };
1638
+
1639
+ # elif GTEST_HAS_PTHREAD
1640
+
1641
+ // MutexBase and Mutex implement mutex on pthreads-based platforms.
1642
+ class MutexBase {
1643
+ public:
1644
+ // Acquires this mutex.
1645
+ void Lock() {
1646
+ GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_lock(&mutex_));
1647
+ owner_ = pthread_self();
1648
+ has_owner_ = true;
1649
+ }
1650
+
1651
+ // Releases this mutex.
1652
+ void Unlock() {
1653
+ // Since the lock is being released the owner_ field should no longer be
1654
+ // considered valid. We don't protect writing to has_owner_ here, as it's
1655
+ // the caller's responsibility to ensure that the current thread holds the
1656
+ // mutex when this is called.
1657
+ has_owner_ = false;
1658
+ GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_unlock(&mutex_));
1659
+ }
1660
+
1661
+ // Does nothing if the current thread holds the mutex. Otherwise, crashes
1662
+ // with high probability.
1663
+ void AssertHeld() const {
1664
+ GTEST_CHECK_(has_owner_ && pthread_equal(owner_, pthread_self()))
1665
+ << "The current thread is not holding the mutex @" << this;
1666
+ }
1667
+
1668
+ // A static mutex may be used before main() is entered. It may even
1669
+ // be used before the dynamic initialization stage. Therefore we
1670
+ // must be able to initialize a static mutex object at link time.
1671
+ // This means MutexBase has to be a POD and its member variables
1672
+ // have to be public.
1673
+ public:
1674
+ pthread_mutex_t mutex_; // The underlying pthread mutex.
1675
+ // has_owner_ indicates whether the owner_ field below contains a valid thread
1676
+ // ID and is therefore safe to inspect (e.g., to use in pthread_equal()). All
1677
+ // accesses to the owner_ field should be protected by a check of this field.
1678
+ // An alternative might be to memset() owner_ to all zeros, but there's no
1679
+ // guarantee that a zero'd pthread_t is necessarily invalid or even different
1680
+ // from pthread_self().
1681
+ bool has_owner_;
1682
+ pthread_t owner_; // The thread holding the mutex.
1683
+ };
1684
+
1685
+ // Forward-declares a static mutex.
1686
+ # define GTEST_DECLARE_STATIC_MUTEX_(mutex) \
1687
+ extern ::testing::internal::MutexBase mutex
1688
+
1689
+ // Defines and statically (i.e. at link time) initializes a static mutex.
1690
+ // The initialization list here does not explicitly initialize each field,
1691
+ // instead relying on default initialization for the unspecified fields. In
1692
+ // particular, the owner_ field (a pthread_t) is not explicitly initialized.
1693
+ // This allows initialization to work whether pthread_t is a scalar or struct.
1694
+ // The flag -Wmissing-field-initializers must not be specified for this to work.
1695
+ #define GTEST_DEFINE_STATIC_MUTEX_(mutex) \
1696
+ ::testing::internal::MutexBase mutex = {PTHREAD_MUTEX_INITIALIZER, false, 0}
1697
+
1698
+ // The Mutex class can only be used for mutexes created at runtime. It
1699
+ // shares its API with MutexBase otherwise.
1700
+ class Mutex : public MutexBase {
1701
+ public:
1702
+ Mutex() {
1703
+ GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_init(&mutex_, nullptr));
1704
+ has_owner_ = false;
1705
+ }
1706
+ ~Mutex() {
1707
+ GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_destroy(&mutex_));
1708
+ }
1709
+
1710
+ private:
1711
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(Mutex);
1712
+ };
1713
+
1714
+ // We cannot name this class MutexLock because the ctor declaration would
1715
+ // conflict with a macro named MutexLock, which is defined on some
1716
+ // platforms. That macro is used as a defensive measure to prevent against
1717
+ // inadvertent misuses of MutexLock like "MutexLock(&mu)" rather than
1718
+ // "MutexLock l(&mu)". Hence the typedef trick below.
1719
+ class GTestMutexLock {
1720
+ public:
1721
+ explicit GTestMutexLock(MutexBase* mutex)
1722
+ : mutex_(mutex) { mutex_->Lock(); }
1723
+
1724
+ ~GTestMutexLock() { mutex_->Unlock(); }
1725
+
1726
+ private:
1727
+ MutexBase* const mutex_;
1728
+
1729
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(GTestMutexLock);
1730
+ };
1731
+
1732
+ typedef GTestMutexLock MutexLock;
1733
+
1734
+ // Helpers for ThreadLocal.
1735
+
1736
+ // pthread_key_create() requires DeleteThreadLocalValue() to have
1737
+ // C-linkage. Therefore it cannot be templatized to access
1738
+ // ThreadLocal<T>. Hence the need for class
1739
+ // ThreadLocalValueHolderBase.
1740
+ class ThreadLocalValueHolderBase {
1741
+ public:
1742
+ virtual ~ThreadLocalValueHolderBase() {}
1743
+ };
1744
+
1745
+ // Called by pthread to delete thread-local data stored by
1746
+ // pthread_setspecific().
1747
+ extern "C" inline void DeleteThreadLocalValue(void* value_holder) {
1748
+ delete static_cast<ThreadLocalValueHolderBase*>(value_holder);
1749
+ }
1750
+
1751
+ // Implements thread-local storage on pthreads-based systems.
1752
+ template <typename T>
1753
+ class GTEST_API_ ThreadLocal {
1754
+ public:
1755
+ ThreadLocal()
1756
+ : key_(CreateKey()), default_factory_(new DefaultValueHolderFactory()) {}
1757
+ explicit ThreadLocal(const T& value)
1758
+ : key_(CreateKey()),
1759
+ default_factory_(new InstanceValueHolderFactory(value)) {}
1760
+
1761
+ ~ThreadLocal() {
1762
+ // Destroys the managed object for the current thread, if any.
1763
+ DeleteThreadLocalValue(pthread_getspecific(key_));
1764
+
1765
+ // Releases resources associated with the key. This will *not*
1766
+ // delete managed objects for other threads.
1767
+ GTEST_CHECK_POSIX_SUCCESS_(pthread_key_delete(key_));
1768
+ }
1769
+
1770
+ T* pointer() { return GetOrCreateValue(); }
1771
+ const T* pointer() const { return GetOrCreateValue(); }
1772
+ const T& get() const { return *pointer(); }
1773
+ void set(const T& value) { *pointer() = value; }
1774
+
1775
+ private:
1776
+ // Holds a value of type T.
1777
+ class ValueHolder : public ThreadLocalValueHolderBase {
1778
+ public:
1779
+ ValueHolder() : value_() {}
1780
+ explicit ValueHolder(const T& value) : value_(value) {}
1781
+
1782
+ T* pointer() { return &value_; }
1783
+
1784
+ private:
1785
+ T value_;
1786
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolder);
1787
+ };
1788
+
1789
+ static pthread_key_t CreateKey() {
1790
+ pthread_key_t key;
1791
+ // When a thread exits, DeleteThreadLocalValue() will be called on
1792
+ // the object managed for that thread.
1793
+ GTEST_CHECK_POSIX_SUCCESS_(
1794
+ pthread_key_create(&key, &DeleteThreadLocalValue));
1795
+ return key;
1796
+ }
1797
+
1798
+ T* GetOrCreateValue() const {
1799
+ ThreadLocalValueHolderBase* const holder =
1800
+ static_cast<ThreadLocalValueHolderBase*>(pthread_getspecific(key_));
1801
+ if (holder != nullptr) {
1802
+ return CheckedDowncastToActualType<ValueHolder>(holder)->pointer();
1803
+ }
1804
+
1805
+ ValueHolder* const new_holder = default_factory_->MakeNewHolder();
1806
+ ThreadLocalValueHolderBase* const holder_base = new_holder;
1807
+ GTEST_CHECK_POSIX_SUCCESS_(pthread_setspecific(key_, holder_base));
1808
+ return new_holder->pointer();
1809
+ }
1810
+
1811
+ class ValueHolderFactory {
1812
+ public:
1813
+ ValueHolderFactory() {}
1814
+ virtual ~ValueHolderFactory() {}
1815
+ virtual ValueHolder* MakeNewHolder() const = 0;
1816
+
1817
+ private:
1818
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolderFactory);
1819
+ };
1820
+
1821
+ class DefaultValueHolderFactory : public ValueHolderFactory {
1822
+ public:
1823
+ DefaultValueHolderFactory() {}
1824
+ ValueHolder* MakeNewHolder() const override { return new ValueHolder(); }
1825
+
1826
+ private:
1827
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(DefaultValueHolderFactory);
1828
+ };
1829
+
1830
+ class InstanceValueHolderFactory : public ValueHolderFactory {
1831
+ public:
1832
+ explicit InstanceValueHolderFactory(const T& value) : value_(value) {}
1833
+ ValueHolder* MakeNewHolder() const override {
1834
+ return new ValueHolder(value_);
1835
+ }
1836
+
1837
+ private:
1838
+ const T value_; // The value for each thread.
1839
+
1840
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(InstanceValueHolderFactory);
1841
+ };
1842
+
1843
+ // A key pthreads uses for looking up per-thread values.
1844
+ const pthread_key_t key_;
1845
+ std::unique_ptr<ValueHolderFactory> default_factory_;
1846
+
1847
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocal);
1848
+ };
1849
+
1850
+ # endif // GTEST_HAS_MUTEX_AND_THREAD_LOCAL_
1851
+
1852
+ #else // GTEST_IS_THREADSAFE
1853
+
1854
+ // A dummy implementation of synchronization primitives (mutex, lock,
1855
+ // and thread-local variable). Necessary for compiling Google Test where
1856
+ // mutex is not supported - using Google Test in multiple threads is not
1857
+ // supported on such platforms.
1858
+
1859
+ class Mutex {
1860
+ public:
1861
+ Mutex() {}
1862
+ void Lock() {}
1863
+ void Unlock() {}
1864
+ void AssertHeld() const {}
1865
+ };
1866
+
1867
+ # define GTEST_DECLARE_STATIC_MUTEX_(mutex) \
1868
+ extern ::testing::internal::Mutex mutex
1869
+
1870
+ # define GTEST_DEFINE_STATIC_MUTEX_(mutex) ::testing::internal::Mutex mutex
1871
+
1872
+ // We cannot name this class MutexLock because the ctor declaration would
1873
+ // conflict with a macro named MutexLock, which is defined on some
1874
+ // platforms. That macro is used as a defensive measure to prevent against
1875
+ // inadvertent misuses of MutexLock like "MutexLock(&mu)" rather than
1876
+ // "MutexLock l(&mu)". Hence the typedef trick below.
1877
+ class GTestMutexLock {
1878
+ public:
1879
+ explicit GTestMutexLock(Mutex*) {} // NOLINT
1880
+ };
1881
+
1882
+ typedef GTestMutexLock MutexLock;
1883
+
1884
+ template <typename T>
1885
+ class GTEST_API_ ThreadLocal {
1886
+ public:
1887
+ ThreadLocal() : value_() {}
1888
+ explicit ThreadLocal(const T& value) : value_(value) {}
1889
+ T* pointer() { return &value_; }
1890
+ const T* pointer() const { return &value_; }
1891
+ const T& get() const { return value_; }
1892
+ void set(const T& value) { value_ = value; }
1893
+ private:
1894
+ T value_;
1895
+ };
1896
+
1897
+ #endif // GTEST_IS_THREADSAFE
1898
+
1899
+ // Returns the number of threads running in the process, or 0 to indicate that
1900
+ // we cannot detect it.
1901
+ GTEST_API_ size_t GetThreadCount();
1902
+
1903
+ #if GTEST_OS_WINDOWS
1904
+ # define GTEST_PATH_SEP_ "\\"
1905
+ # define GTEST_HAS_ALT_PATH_SEP_ 1
1906
+ #else
1907
+ # define GTEST_PATH_SEP_ "/"
1908
+ # define GTEST_HAS_ALT_PATH_SEP_ 0
1909
+ #endif // GTEST_OS_WINDOWS
1910
+
1911
+ // Utilities for char.
1912
+
1913
+ // isspace(int ch) and friends accept an unsigned char or EOF. char
1914
+ // may be signed, depending on the compiler (or compiler flags).
1915
+ // Therefore we need to cast a char to unsigned char before calling
1916
+ // isspace(), etc.
1917
+
1918
+ inline bool IsAlpha(char ch) {
1919
+ return isalpha(static_cast<unsigned char>(ch)) != 0;
1920
+ }
1921
+ inline bool IsAlNum(char ch) {
1922
+ return isalnum(static_cast<unsigned char>(ch)) != 0;
1923
+ }
1924
+ inline bool IsDigit(char ch) {
1925
+ return isdigit(static_cast<unsigned char>(ch)) != 0;
1926
+ }
1927
+ inline bool IsLower(char ch) {
1928
+ return islower(static_cast<unsigned char>(ch)) != 0;
1929
+ }
1930
+ inline bool IsSpace(char ch) {
1931
+ return isspace(static_cast<unsigned char>(ch)) != 0;
1932
+ }
1933
+ inline bool IsUpper(char ch) {
1934
+ return isupper(static_cast<unsigned char>(ch)) != 0;
1935
+ }
1936
+ inline bool IsXDigit(char ch) {
1937
+ return isxdigit(static_cast<unsigned char>(ch)) != 0;
1938
+ }
1939
+ inline bool IsXDigit(wchar_t ch) {
1940
+ const unsigned char low_byte = static_cast<unsigned char>(ch);
1941
+ return ch == low_byte && isxdigit(low_byte) != 0;
1942
+ }
1943
+
1944
+ inline char ToLower(char ch) {
1945
+ return static_cast<char>(tolower(static_cast<unsigned char>(ch)));
1946
+ }
1947
+ inline char ToUpper(char ch) {
1948
+ return static_cast<char>(toupper(static_cast<unsigned char>(ch)));
1949
+ }
1950
+
1951
+ inline std::string StripTrailingSpaces(std::string str) {
1952
+ std::string::iterator it = str.end();
1953
+ while (it != str.begin() && IsSpace(*--it))
1954
+ it = str.erase(it);
1955
+ return str;
1956
+ }
1957
+
1958
+ // The testing::internal::posix namespace holds wrappers for common
1959
+ // POSIX functions. These wrappers hide the differences between
1960
+ // Windows/MSVC and POSIX systems. Since some compilers define these
1961
+ // standard functions as macros, the wrapper cannot have the same name
1962
+ // as the wrapped function.
1963
+
1964
+ namespace posix {
1965
+
1966
+ // Functions with a different name on Windows.
1967
+
1968
+ #if GTEST_OS_WINDOWS
1969
+
1970
+ typedef struct _stat StatStruct;
1971
+
1972
+ # ifdef __BORLANDC__
1973
+ inline int DoIsATTY(int fd) { return isatty(fd); }
1974
+ inline int StrCaseCmp(const char* s1, const char* s2) {
1975
+ return stricmp(s1, s2);
1976
+ }
1977
+ inline char* StrDup(const char* src) { return strdup(src); }
1978
+ # else // !__BORLANDC__
1979
+ # if GTEST_OS_WINDOWS_MOBILE
1980
+ inline int DoIsATTY(int /* fd */) { return 0; }
1981
+ # else
1982
+ inline int DoIsATTY(int fd) { return _isatty(fd); }
1983
+ # endif // GTEST_OS_WINDOWS_MOBILE
1984
+ inline int StrCaseCmp(const char* s1, const char* s2) {
1985
+ return _stricmp(s1, s2);
1986
+ }
1987
+ inline char* StrDup(const char* src) { return _strdup(src); }
1988
+ # endif // __BORLANDC__
1989
+
1990
+ # if GTEST_OS_WINDOWS_MOBILE
1991
+ inline int FileNo(FILE* file) { return reinterpret_cast<int>(_fileno(file)); }
1992
+ // Stat(), RmDir(), and IsDir() are not needed on Windows CE at this
1993
+ // time and thus not defined there.
1994
+ # else
1995
+ inline int FileNo(FILE* file) { return _fileno(file); }
1996
+ inline int Stat(const char* path, StatStruct* buf) { return _stat(path, buf); }
1997
+ inline int RmDir(const char* dir) { return _rmdir(dir); }
1998
+ inline bool IsDir(const StatStruct& st) {
1999
+ return (_S_IFDIR & st.st_mode) != 0;
2000
+ }
2001
+ # endif // GTEST_OS_WINDOWS_MOBILE
2002
+
2003
+ #elif GTEST_OS_ESP8266
2004
+ typedef struct stat StatStruct;
2005
+
2006
+ inline int FileNo(FILE* file) { return fileno(file); }
2007
+ inline int DoIsATTY(int fd) { return isatty(fd); }
2008
+ inline int Stat(const char* path, StatStruct* buf) {
2009
+ // stat function not implemented on ESP8266
2010
+ return 0;
2011
+ }
2012
+ inline int StrCaseCmp(const char* s1, const char* s2) {
2013
+ return strcasecmp(s1, s2);
2014
+ }
2015
+ inline char* StrDup(const char* src) { return strdup(src); }
2016
+ inline int RmDir(const char* dir) { return rmdir(dir); }
2017
+ inline bool IsDir(const StatStruct& st) { return S_ISDIR(st.st_mode); }
2018
+
2019
+ #else
2020
+
2021
+ typedef struct stat StatStruct;
2022
+
2023
+ inline int FileNo(FILE* file) { return fileno(file); }
2024
+ inline int DoIsATTY(int fd) { return isatty(fd); }
2025
+ inline int Stat(const char* path, StatStruct* buf) { return stat(path, buf); }
2026
+ inline int StrCaseCmp(const char* s1, const char* s2) {
2027
+ return strcasecmp(s1, s2);
2028
+ }
2029
+ inline char* StrDup(const char* src) { return strdup(src); }
2030
+ inline int RmDir(const char* dir) { return rmdir(dir); }
2031
+ inline bool IsDir(const StatStruct& st) { return S_ISDIR(st.st_mode); }
2032
+
2033
+ #endif // GTEST_OS_WINDOWS
2034
+
2035
+ inline int IsATTY(int fd) {
2036
+ // DoIsATTY might change errno (for example ENOTTY in case you redirect stdout
2037
+ // to a file on Linux), which is unexpected, so save the previous value, and
2038
+ // restore it after the call.
2039
+ int savedErrno = errno;
2040
+ int isAttyValue = DoIsATTY(fd);
2041
+ errno = savedErrno;
2042
+
2043
+ return isAttyValue;
2044
+ }
2045
+
2046
+ // Functions deprecated by MSVC 8.0.
2047
+
2048
+ GTEST_DISABLE_MSC_DEPRECATED_PUSH_()
2049
+
2050
+ // ChDir(), FReopen(), FDOpen(), Read(), Write(), Close(), and
2051
+ // StrError() aren't needed on Windows CE at this time and thus not
2052
+ // defined there.
2053
+
2054
+ #if !GTEST_OS_WINDOWS_MOBILE && !GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT
2055
+ inline int ChDir(const char* dir) { return chdir(dir); }
2056
+ #endif
2057
+ inline FILE* FOpen(const char* path, const char* mode) {
2058
+ #if GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MINGW
2059
+ struct wchar_codecvt : public std::codecvt<wchar_t, char, std::mbstate_t> {};
2060
+ std::wstring_convert<wchar_codecvt> converter;
2061
+ std::wstring wide_path = converter.from_bytes(path);
2062
+ std::wstring wide_mode = converter.from_bytes(mode);
2063
+ return _wfopen(wide_path.c_str(), wide_mode.c_str());
2064
+ #else // GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MINGW
2065
+ return fopen(path, mode);
2066
+ #endif // GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MINGW
2067
+ }
2068
+ #if !GTEST_OS_WINDOWS_MOBILE
2069
+ inline FILE *FReopen(const char* path, const char* mode, FILE* stream) {
2070
+ return freopen(path, mode, stream);
2071
+ }
2072
+ inline FILE* FDOpen(int fd, const char* mode) { return fdopen(fd, mode); }
2073
+ #endif
2074
+ inline int FClose(FILE* fp) { return fclose(fp); }
2075
+ #if !GTEST_OS_WINDOWS_MOBILE
2076
+ inline int Read(int fd, void* buf, unsigned int count) {
2077
+ return static_cast<int>(read(fd, buf, count));
2078
+ }
2079
+ inline int Write(int fd, const void* buf, unsigned int count) {
2080
+ return static_cast<int>(write(fd, buf, count));
2081
+ }
2082
+ inline int Close(int fd) { return close(fd); }
2083
+ inline const char* StrError(int errnum) { return strerror(errnum); }
2084
+ #endif
2085
+ inline const char* GetEnv(const char* name) {
2086
+ #if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_WINDOWS_PHONE || \
2087
+ GTEST_OS_WINDOWS_RT || GTEST_OS_ESP8266
2088
+ // We are on an embedded platform, which has no environment variables.
2089
+ static_cast<void>(name); // To prevent 'unused argument' warning.
2090
+ return nullptr;
2091
+ #elif defined(__BORLANDC__) || defined(__SunOS_5_8) || defined(__SunOS_5_9)
2092
+ // Environment variables which we programmatically clear will be set to the
2093
+ // empty string rather than unset (NULL). Handle that case.
2094
+ const char* const env = getenv(name);
2095
+ return (env != nullptr && env[0] != '\0') ? env : nullptr;
2096
+ #else
2097
+ return getenv(name);
2098
+ #endif
2099
+ }
2100
+
2101
+ GTEST_DISABLE_MSC_DEPRECATED_POP_()
2102
+
2103
+ #if GTEST_OS_WINDOWS_MOBILE
2104
+ // Windows CE has no C library. The abort() function is used in
2105
+ // several places in Google Test. This implementation provides a reasonable
2106
+ // imitation of standard behaviour.
2107
+ [[noreturn]] void Abort();
2108
+ #else
2109
+ [[noreturn]] inline void Abort() { abort(); }
2110
+ #endif // GTEST_OS_WINDOWS_MOBILE
2111
+
2112
+ } // namespace posix
2113
+
2114
+ // MSVC "deprecates" snprintf and issues warnings wherever it is used. In
2115
+ // order to avoid these warnings, we need to use _snprintf or _snprintf_s on
2116
+ // MSVC-based platforms. We map the GTEST_SNPRINTF_ macro to the appropriate
2117
+ // function in order to achieve that. We use macro definition here because
2118
+ // snprintf is a variadic function.
2119
+ #if _MSC_VER && !GTEST_OS_WINDOWS_MOBILE
2120
+ // MSVC 2005 and above support variadic macros.
2121
+ # define GTEST_SNPRINTF_(buffer, size, format, ...) \
2122
+ _snprintf_s(buffer, size, size, format, __VA_ARGS__)
2123
+ #elif defined(_MSC_VER)
2124
+ // Windows CE does not define _snprintf_s
2125
+ # define GTEST_SNPRINTF_ _snprintf
2126
+ #else
2127
+ # define GTEST_SNPRINTF_ snprintf
2128
+ #endif
2129
+
2130
+ // The biggest signed integer type the compiler supports.
2131
+ //
2132
+ // long long is guaranteed to be at least 64-bits in C++11.
2133
+ using BiggestInt = long long; // NOLINT
2134
+
2135
+ // The maximum number a BiggestInt can represent.
2136
+ constexpr BiggestInt kMaxBiggestInt = (std::numeric_limits<BiggestInt>::max)();
2137
+
2138
+ // This template class serves as a compile-time function from size to
2139
+ // type. It maps a size in bytes to a primitive type with that
2140
+ // size. e.g.
2141
+ //
2142
+ // TypeWithSize<4>::UInt
2143
+ //
2144
+ // is typedef-ed to be unsigned int (unsigned integer made up of 4
2145
+ // bytes).
2146
+ //
2147
+ // Such functionality should belong to STL, but I cannot find it
2148
+ // there.
2149
+ //
2150
+ // Google Test uses this class in the implementation of floating-point
2151
+ // comparison.
2152
+ //
2153
+ // For now it only handles UInt (unsigned int) as that's all Google Test
2154
+ // needs. Other types can be easily added in the future if need
2155
+ // arises.
2156
+ template <size_t size>
2157
+ class TypeWithSize {
2158
+ public:
2159
+ // This prevents the user from using TypeWithSize<N> with incorrect
2160
+ // values of N.
2161
+ using UInt = void;
2162
+ };
2163
+
2164
+ // The specialization for size 4.
2165
+ template <>
2166
+ class TypeWithSize<4> {
2167
+ public:
2168
+ using Int = std::int32_t;
2169
+ using UInt = std::uint32_t;
2170
+ };
2171
+
2172
+ // The specialization for size 8.
2173
+ template <>
2174
+ class TypeWithSize<8> {
2175
+ public:
2176
+ using Int = std::int64_t;
2177
+ using UInt = std::uint64_t;
2178
+ };
2179
+
2180
+ // Integer types of known sizes.
2181
+ using TimeInMillis = int64_t; // Represents time in milliseconds.
2182
+
2183
+ // Utilities for command line flags and environment variables.
2184
+
2185
+ // Macro for referencing flags.
2186
+ #if !defined(GTEST_FLAG)
2187
+ # define GTEST_FLAG(name) FLAGS_gtest_##name
2188
+ #endif // !defined(GTEST_FLAG)
2189
+
2190
+ #if !defined(GTEST_USE_OWN_FLAGFILE_FLAG_)
2191
+ # define GTEST_USE_OWN_FLAGFILE_FLAG_ 1
2192
+ #endif // !defined(GTEST_USE_OWN_FLAGFILE_FLAG_)
2193
+
2194
+ #if !defined(GTEST_DECLARE_bool_)
2195
+ # define GTEST_FLAG_SAVER_ ::testing::internal::GTestFlagSaver
2196
+
2197
+ // Macros for declaring flags.
2198
+ # define GTEST_DECLARE_bool_(name) GTEST_API_ extern bool GTEST_FLAG(name)
2199
+ # define GTEST_DECLARE_int32_(name) \
2200
+ GTEST_API_ extern std::int32_t GTEST_FLAG(name)
2201
+ # define GTEST_DECLARE_string_(name) \
2202
+ GTEST_API_ extern ::std::string GTEST_FLAG(name)
2203
+
2204
+ // Macros for defining flags.
2205
+ # define GTEST_DEFINE_bool_(name, default_val, doc) \
2206
+ GTEST_API_ bool GTEST_FLAG(name) = (default_val)
2207
+ # define GTEST_DEFINE_int32_(name, default_val, doc) \
2208
+ GTEST_API_ std::int32_t GTEST_FLAG(name) = (default_val)
2209
+ # define GTEST_DEFINE_string_(name, default_val, doc) \
2210
+ GTEST_API_ ::std::string GTEST_FLAG(name) = (default_val)
2211
+
2212
+ #endif // !defined(GTEST_DECLARE_bool_)
2213
+
2214
+ // Thread annotations
2215
+ #if !defined(GTEST_EXCLUSIVE_LOCK_REQUIRED_)
2216
+ # define GTEST_EXCLUSIVE_LOCK_REQUIRED_(locks)
2217
+ # define GTEST_LOCK_EXCLUDED_(locks)
2218
+ #endif // !defined(GTEST_EXCLUSIVE_LOCK_REQUIRED_)
2219
+
2220
+ // Parses 'str' for a 32-bit signed integer. If successful, writes the result
2221
+ // to *value and returns true; otherwise leaves *value unchanged and returns
2222
+ // false.
2223
+ GTEST_API_ bool ParseInt32(const Message& src_text, const char* str,
2224
+ int32_t* value);
2225
+
2226
+ // Parses a bool/int32_t/string from the environment variable
2227
+ // corresponding to the given Google Test flag.
2228
+ bool BoolFromGTestEnv(const char* flag, bool default_val);
2229
+ GTEST_API_ int32_t Int32FromGTestEnv(const char* flag, int32_t default_val);
2230
+ std::string OutputFlagAlsoCheckEnvVar();
2231
+ const char* StringFromGTestEnv(const char* flag, const char* default_val);
2232
+
2233
+ } // namespace internal
2234
+ } // namespace testing
2235
+
2236
+ #if !defined(GTEST_INTERNAL_DEPRECATED)
2237
+
2238
+ // Internal Macro to mark an API deprecated, for googletest usage only
2239
+ // Usage: class GTEST_INTERNAL_DEPRECATED(message) MyClass or
2240
+ // GTEST_INTERNAL_DEPRECATED(message) <return_type> myFunction(); Every usage of
2241
+ // a deprecated entity will trigger a warning when compiled with
2242
+ // `-Wdeprecated-declarations` option (clang, gcc, any __GNUC__ compiler).
2243
+ // For msvc /W3 option will need to be used
2244
+ // Note that for 'other' compilers this macro evaluates to nothing to prevent
2245
+ // compilations errors.
2246
+ #if defined(_MSC_VER)
2247
+ #define GTEST_INTERNAL_DEPRECATED(message) __declspec(deprecated(message))
2248
+ #elif defined(__GNUC__)
2249
+ #define GTEST_INTERNAL_DEPRECATED(message) __attribute__((deprecated(message)))
2250
+ #else
2251
+ #define GTEST_INTERNAL_DEPRECATED(message)
2252
+ #endif
2253
+
2254
+ #endif // !defined(GTEST_INTERNAL_DEPRECATED)
2255
+
2256
+ #if GTEST_HAS_ABSL
2257
+ // Always use absl::any for UniversalPrinter<> specializations if googletest
2258
+ // is built with absl support.
2259
+ #define GTEST_INTERNAL_HAS_ANY 1
2260
+ #include "absl/types/any.h"
2261
+ namespace testing {
2262
+ namespace internal {
2263
+ using Any = ::absl::any;
2264
+ } // namespace internal
2265
+ } // namespace testing
2266
+ #else
2267
+ #ifdef __has_include
2268
+ #if __has_include(<any>) && __cplusplus >= 201703L
2269
+ // Otherwise for C++17 and higher use std::any for UniversalPrinter<>
2270
+ // specializations.
2271
+ #define GTEST_INTERNAL_HAS_ANY 1
2272
+ #include <any>
2273
+ namespace testing {
2274
+ namespace internal {
2275
+ using Any = ::std::any;
2276
+ } // namespace internal
2277
+ } // namespace testing
2278
+ // The case where absl is configured NOT to alias std::any is not
2279
+ // supported.
2280
+ #endif // __has_include(<any>) && __cplusplus >= 201703L
2281
+ #endif // __has_include
2282
+ #endif // GTEST_HAS_ABSL
2283
+
2284
+ #if GTEST_HAS_ABSL
2285
+ // Always use absl::optional for UniversalPrinter<> specializations if
2286
+ // googletest is built with absl support.
2287
+ #define GTEST_INTERNAL_HAS_OPTIONAL 1
2288
+ #include "absl/types/optional.h"
2289
+ namespace testing {
2290
+ namespace internal {
2291
+ template <typename T>
2292
+ using Optional = ::absl::optional<T>;
2293
+ } // namespace internal
2294
+ } // namespace testing
2295
+ #else
2296
+ #ifdef __has_include
2297
+ #if __has_include(<optional>) && __cplusplus >= 201703L
2298
+ // Otherwise for C++17 and higher use std::optional for UniversalPrinter<>
2299
+ // specializations.
2300
+ #define GTEST_INTERNAL_HAS_OPTIONAL 1
2301
+ #include <optional>
2302
+ namespace testing {
2303
+ namespace internal {
2304
+ template <typename T>
2305
+ using Optional = ::std::optional<T>;
2306
+ } // namespace internal
2307
+ } // namespace testing
2308
+ // The case where absl is configured NOT to alias std::optional is not
2309
+ // supported.
2310
+ #endif // __has_include(<optional>) && __cplusplus >= 201703L
2311
+ #endif // __has_include
2312
+ #endif // GTEST_HAS_ABSL
2313
+
2314
+ #if GTEST_HAS_ABSL
2315
+ // Always use absl::string_view for Matcher<> specializations if googletest
2316
+ // is built with absl support.
2317
+ # define GTEST_INTERNAL_HAS_STRING_VIEW 1
2318
+ #include "absl/strings/string_view.h"
2319
+ namespace testing {
2320
+ namespace internal {
2321
+ using StringView = ::absl::string_view;
2322
+ } // namespace internal
2323
+ } // namespace testing
2324
+ #else
2325
+ # ifdef __has_include
2326
+ # if __has_include(<string_view>) && __cplusplus >= 201703L
2327
+ // Otherwise for C++17 and higher use std::string_view for Matcher<>
2328
+ // specializations.
2329
+ # define GTEST_INTERNAL_HAS_STRING_VIEW 1
2330
+ #include <string_view>
2331
+ namespace testing {
2332
+ namespace internal {
2333
+ using StringView = ::std::string_view;
2334
+ } // namespace internal
2335
+ } // namespace testing
2336
+ // The case where absl is configured NOT to alias std::string_view is not
2337
+ // supported.
2338
+ # endif // __has_include(<string_view>) && __cplusplus >= 201703L
2339
+ # endif // __has_include
2340
+ #endif // GTEST_HAS_ABSL
2341
+
2342
+ #if GTEST_HAS_ABSL
2343
+ // Always use absl::variant for UniversalPrinter<> specializations if googletest
2344
+ // is built with absl support.
2345
+ #define GTEST_INTERNAL_HAS_VARIANT 1
2346
+ #include "absl/types/variant.h"
2347
+ namespace testing {
2348
+ namespace internal {
2349
+ template <typename... T>
2350
+ using Variant = ::absl::variant<T...>;
2351
+ } // namespace internal
2352
+ } // namespace testing
2353
+ #else
2354
+ #ifdef __has_include
2355
+ #if __has_include(<variant>) && __cplusplus >= 201703L
2356
+ // Otherwise for C++17 and higher use std::variant for UniversalPrinter<>
2357
+ // specializations.
2358
+ #define GTEST_INTERNAL_HAS_VARIANT 1
2359
+ #include <variant>
2360
+ namespace testing {
2361
+ namespace internal {
2362
+ template <typename... T>
2363
+ using Variant = ::std::variant<T...>;
2364
+ } // namespace internal
2365
+ } // namespace testing
2366
+ // The case where absl is configured NOT to alias std::variant is not supported.
2367
+ #endif // __has_include(<variant>) && __cplusplus >= 201703L
2368
+ #endif // __has_include
2369
+ #endif // GTEST_HAS_ABSL
2370
+
2371
+ #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_