add_subdirectory(utils)

integration_test(connect)
integration_test(crud)
integration_test(query)
integration_test(diagnostics)
integration_test(binary_operations)
integration_test(durability)
integration_test(arithmetic)
integration_test(collections)
integration_test(subdoc)
integration_test(analytics)
integration_test(read_replica)
integration_test(tracer)
integration_test(meter)
integration_test(transcoders)
integration_test(range_scan)
integration_test(search)
integration_test(management)
integration_test(management_eventing)
integration_test(management_search_index)
integration_test(http_session_manager)

unit_test(connection_string)
unit_test(utils)
unit_test(binary_transcoder)
unit_test(json_transcoder)
unit_test(json_streaming_lexer)
unit_test(jsonsl)
unit_test(config_profiles)
unit_test(options)
unit_test(search)
unit_test(query)
unit_test(diagnostics)
unit_test(management_query_index)
unit_test(management_search_index)
unit_test(metrics)
unit_test(range_scan)
unit_test(logger)
unit_test(crypto)
target_link_libraries(test_unit_jsonsl PRIVATE jsonsl)

integration_benchmark(get)

transaction_test(context)
transaction_test(simple)
transaction_test(simple_async)
transaction_test(public_blocking_api)
transaction_test(public_async_api)

unit_test(transaction_logging)
unit_test(transaction_utils)
unit_test(waitable_op_list)

integration_test(examples)
transaction_test(examples)

if(COUCHBASE_CXX_CLIENT_COLUMNAR)
  integration_test(columnar_query)
  integration_test(columnar_management)
  unit_test(columnar_retry)
endif()
