polardbxengine/router/tests/component/CMakeLists.txt

90 lines
3.1 KiB
CMake

# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation. The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
ADD_EXECUTABLE(master_key_test_writer ../helpers/master_key_test_writer.cc)
SET_TARGET_PROPERTIES(master_key_test_writer PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/runtime_output_directory)
ADD_DEFINITIONS(-DSSL_TEST_DATA_DIR="${CMAKE_SOURCE_DIR}/mysql-test/std_data/")
FOREACH(test_file
test_bootstrap.cc
test_bootstrap_system_deployment.cc
test_component_test_framework.cc
test_config.cc
test_gr_notifications.cc
test_http_server.cc
test_logging.cc
test_logging_eventlog.cc
test_master_key_reader_writer.cc
test_metadata_ttl.cc
test_mock_server.cc
test_rest_api.cc
test_rest_metadata_cache.cc
test_rest_mock_server.cc
test_rest_router.cc
test_rest_routing.cc
test_router_configuration_errors.cc
test_routing.cc
test_routing_connection.cc
test_routing_strategy.cc
test_shutdown.cc
test_state_file.cc
test_user_option.cc
)
add_test_file(${CMAKE_CURRENT_SOURCE_DIR}/${test_file}
MODULE "component"
INCLUDE_DIRS
${PROJECT_SOURCE_DIR}/src/http/include/
${PROJECT_SOURCE_DIR}/src/mock_server/include/mysqlrouter/
SYSTEM_INCLUDE_DIRS ${GMOCK_INCLUDE_DIRS} ${LIBEVENT_INCLUDE_DIRS}
${PROTOBUF_INCLUDE_DIR} ${MYSQLX_GENERATE_DIR}
LIB_DEPENDS
http_client
http_common
mock_server_rest_client
DEPENDS
http_auth_backend
http_auth_realm
http_server
master_key_test_writer
metadata_cache
mock_server
mysql_server_mock
mysqlrouter
rest_api
rest_metadata_cache
rest_router
rest_routing
routing
)
ENDFOREACH()
# When system deployment bootstrap is executed, files are
# created in locations specified by deployment layout.
# Since component tests may not have access to directories defined
# in install_layout.cmake, system bootstrap deployment tests are
# executed only for STANDALONE layout, and are not executed on Windows.
IF(WIN32 OR NOT INSTALL_LAYOUT STREQUAL "STANDALONE")
ADD_DEFINITIONS(-DSKIP_BOOTSTRAP_SYSTEM_DEPLOYMENT_TESTS)
ENDIF()