| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| include(StoutTestsConfigure) |
| include(MesosTestsConfigure) |
| |
| # Sources for a test helper binary. |
| ################################### |
| set(TEST_HELPER_SRC |
| ${TEST_HELPER_SRC} |
| active_user_test_helper.cpp |
| flags.cpp |
| http_server_test_helper.cpp |
| resources_utils.cpp |
| test_helper_main.cpp |
| utils.cpp |
| ) |
| |
| if (NOT WIN32) |
| set(TEST_HELPER_SRC |
| ${TEST_HELPER_SRC} |
| kill_policy_test_helper.cpp |
| containerizer/memory_test_helper.cpp |
| ) |
| endif () |
| |
| if (LINUX) |
| set(TEST_HELPER_SRC |
| ${TEST_HELPER_SRC} |
| containerizer/capabilities_test_helper.cpp |
| containerizer/setns_test_helper.cpp |
| ) |
| endif () |
| |
| # Test utilities. |
| ################# |
| set(MESOS_TESTS_UTILS_SRC |
| ${MESOS_TESTS_UTILS_SRC} |
| active_user_test_helper.cpp |
| cluster.cpp |
| containerizer.cpp |
| environment.cpp |
| flags.cpp |
| http_server_test_helper.cpp |
| main.cpp |
| mesos.cpp |
| mock_docker.cpp |
| mock_fetcher.cpp |
| mock_registrar.cpp |
| mock_slave.cpp |
| module.cpp |
| resources_utils.cpp |
| utils.cpp |
| containerizer/launcher.cpp |
| ) |
| |
| if (NOT WIN32) |
| set(MESOS_TESTS_UTILS_SRC |
| ${MESOS_TESTS_UTILS_SRC} |
| kill_policy_test_helper.cpp |
| script.cpp |
| containerizer/memory_test_helper.cpp |
| ) |
| endif () |
| |
| if (LINUX) |
| set(MESOS_TESTS_UTILS_SRC |
| ${MESOS_TESTS_UTILS_SRC} |
| containerizer/capabilities_test_helper.cpp |
| containerizer/setns_test_helper.cpp |
| ) |
| endif () |
| |
| # All the test sources. |
| ####################### |
| set(MESOS_TESTS_SRC |
| ${MESOS_TESTS_SRC} |
| ${MESOS_TESTS_UTILS_SRC} |
| anonymous_tests.cpp |
| api_tests.cpp |
| attributes_tests.cpp |
| authentication_tests.cpp |
| check_tests.cpp |
| command_executor_tests.cpp |
| credentials_tests.cpp |
| default_executor_tests.cpp |
| exception_tests.cpp |
| executor_http_api_tests.cpp |
| fault_tolerance_tests.cpp |
| fetcher_tests.cpp |
| files_tests.cpp |
| gc_tests.cpp |
| health_check_tests.cpp |
| hierarchical_allocator_tests.cpp |
| hook_tests.cpp |
| http_authentication_tests.cpp |
| http_fault_tolerance_tests.cpp |
| master_maintenance_tests.cpp |
| master_slave_reconciliation_tests.cpp |
| partition_tests.cpp |
| paths_tests.cpp |
| protobuf_io_tests.cpp |
| rate_limiting_tests.cpp |
| resource_offers_tests.cpp |
| resource_provider_http_api_tests.cpp |
| resource_provider_validation_tests.cpp |
| resources_tests.cpp |
| role_tests.cpp |
| scheduler_driver_tests.cpp |
| scheduler_event_call_tests.cpp |
| scheduler_http_api_tests.cpp |
| scheduler_tests.cpp |
| slave_tests.cpp |
| slave_validation_tests.cpp |
| sorter_tests.cpp |
| status_update_manager_tests.cpp |
| uri_tests.cpp |
| uri_fetcher_tests.cpp |
| values_tests.cpp |
| zookeeper_url_tests.cpp |
| ) |
| |
| if (ENABLE_SSL) |
| set(MESOS_TESTS_SRC |
| ${MESOS_TESTS_SRC} |
| secret_generator_tests.cpp |
| ) |
| endif () |
| |
| set(MESOS_TESTS_SRC |
| ${MESOS_TESTS_SRC} |
| common/http_tests.cpp |
| common/recordio_tests.cpp |
| common/type_utils_tests.cpp |
| ) |
| |
| set(MESOS_TESTS_SRC |
| ${MESOS_TESTS_SRC} |
| containerizer/containerizer_tests.cpp |
| containerizer/docker_spec_tests.cpp |
| containerizer/docker_tests.cpp |
| ) |
| |
| if (NOT WIN32) |
| set(MESOS_TESTS_SRC |
| ${MESOS_TESTS_SRC} |
| authorization_tests.cpp |
| container_logger_tests.cpp |
| cram_md5_authentication_tests.cpp |
| disk_quota_tests.cpp |
| dynamic_weights_tests.cpp |
| examples_tests.cpp |
| fetcher_cache_tests.cpp |
| hdfs_tests.cpp |
| log_tests.cpp |
| logging_tests.cpp |
| master_allocator_tests.cpp |
| master_authorization_tests.cpp |
| master_contender_detector_tests.cpp |
| master_quota_tests.cpp |
| master_tests.cpp |
| master_validation_tests.cpp |
| metrics_tests.cpp |
| module_tests.cpp |
| oversubscription_tests.cpp |
| persistent_volume_endpoints_tests.cpp |
| persistent_volume_tests.cpp |
| protobuf_utils_tests.cpp |
| reconciliation_tests.cpp |
| registrar_tests.cpp |
| reservation_endpoints_tests.cpp |
| reservation_tests.cpp |
| slave_authorization_tests.cpp |
| slave_recovery_tests.cpp |
| state_tests.cpp |
| teardown_tests.cpp |
| upgrade_tests.cpp |
| ) |
| |
| set(MESOS_TESTS_SRC |
| ${MESOS_TESTS_SRC} |
| common/command_utils_tests.cpp |
| ) |
| |
| set(MESOS_TESTS_SRC |
| ${MESOS_TESTS_SRC} |
| containerizer/appc_spec_tests.cpp |
| containerizer/composing_containerizer_tests.cpp |
| containerizer/cpu_isolator_tests.cpp |
| containerizer/docker_containerizer_tests.cpp |
| containerizer/environment_secret_isolator_tests.cpp |
| containerizer/io_switchboard_tests.cpp |
| containerizer/isolator_tests.cpp |
| containerizer/memory_isolator_tests.cpp |
| containerizer/mesos_containerizer_paths_tests.cpp |
| containerizer/mesos_containerizer_tests.cpp |
| containerizer/oci_spec_tests.cpp |
| containerizer/posix_rlimits_isolator_tests.cpp |
| containerizer/provisioner_appc_tests.cpp |
| containerizer/provisioner_backend_tests.cpp |
| containerizer/provisioner_docker_tests.cpp |
| containerizer/provisioner_paths_tests.cpp |
| containerizer/volume_sandbox_path_isolator_tests.cpp |
| ) |
| endif () |
| |
| if (LINUX) |
| set(MESOS_TESTS_SRC |
| ${MESOS_TESTS_SRC} |
| ldcache_tests.cpp |
| ldd_tests.cpp |
| containerizer/capabilities_tests.cpp |
| containerizer/cgroups_isolator_tests.cpp |
| containerizer/cgroups_tests.cpp |
| containerizer/cni_isolator_tests.cpp |
| containerizer/docker_volume_isolator_tests.cpp |
| containerizer/fs_tests.cpp |
| containerizer/linux_capabilities_isolator_tests.cpp |
| containerizer/linux_filesystem_isolator_tests.cpp |
| containerizer/memory_pressure_tests.cpp |
| containerizer/nested_mesos_containerizer_tests.cpp |
| containerizer/ns_tests.cpp |
| containerizer/nvidia_gpu_isolator_tests.cpp |
| containerizer/perf_tests.cpp |
| containerizer/rootfs.cpp |
| containerizer/runtime_isolator_tests.cpp |
| containerizer/sched_tests.cpp |
| containerizer/volume_image_isolator_tests.cpp |
| containerizer/volume_secret_isolator_tests.cpp |
| ) |
| endif () |
| |
| # INCLUDE DIRECTIVES (generates, e.g., -I/path/to/thing on Linux). |
| ################################################################## |
| include_directories(SYSTEM ${MESOS_3RDPARTY_TESTS_INCLUDE_DIRS}) |
| include_directories(${MESOS_TESTS_INCLUDE_DIRS}) |
| |
| # LINKING LIBRARIES (might generate, e.g., -L/path/to/thing on Linux). |
| ###################################################################### |
| link_directories(${MESOS_TESTS_LIB_DIRS}) |
| |
| # THE TEST AND HELPER EXECUTABLEs (generates, e.g., stout-tests, etc., on Linux). |
| #################################$############################################### |
| add_executable(${MESOS_TESTS_TARGET} EXCLUDE_FROM_ALL ${MESOS_TESTS_SRC}) |
| add_executable(${TEST_HELPER_TARGET} EXCLUDE_FROM_ALL ${TEST_HELPER_SRC}) |
| |
| # ADD LINKER FLAGS (generates, e.g., -lglog on Linux). |
| ###################################################### |
| target_link_libraries(${MESOS_TESTS_TARGET} ${MESOS_TESTS_LIBS}) |
| target_link_libraries(${TEST_HELPER_TARGET} ${MESOS_TESTS_LIBS}) |
| |
| # ADD BINARY DEPENDENCIES (tells CMake what to compile/build first). |
| #################################################################### |
| add_dependencies( |
| ${MESOS_TESTS_TARGET} |
| ${MESOS_TESTS_DEPENDENCIES} |
| ${TEST_HELPER_TARGET} |
| ) |
| |
| if (NOT WIN32) |
| # The tests require all the test modules. |
| # NOTE: Modules are not supported on Windows. |
| add_dependencies( |
| ${MESOS_TESTS_TARGET} |
| ${TEST_ALLOCATOR} |
| ${TEST_ANONYMOUS} |
| ${TEST_AUTHENTICATION} |
| ${TEST_AUTHORIZER} |
| ${TEST_CONTAINER_LOGGER} |
| ${TEST_EXAMPLEMODULE} |
| ${TEST_HOOK} |
| ${TEST_HTTPAUTHENTICATOR} |
| ${TEST_ISOLATOR} |
| ${TEST_MASTER_CONTENDER} |
| ${TEST_MASTER_DETECTOR} |
| ${TEST_QOS_CONTROLLER} |
| ${TEST_RESOURCE_ESTIMATOR} |
| ) |
| |
| # The tests require all the example frameworks and executors. |
| # TODO(josephw): The scheduler driver is current not built on Windows. |
| add_dependencies( |
| ${MESOS_TESTS_TARGET} |
| ${BALLOON_EXECUTOR} |
| ${BALLOON_FRAMEWORK} |
| ${DISK_FULL_FRAMEWORK} |
| ${DOCKER_NO_EXECUTOR_FRAMEWORK} |
| ${DYNAMIC_RESERVATION_FRAMEWORK} |
| ${LOAD_GENERATOR_FRAMEWORK} |
| ${LONG_LIVED_EXECUTOR} |
| ${LONG_LIVED_FRAMEWORK} |
| ${NO_EXECUTOR_FRAMEWORK} |
| ${PERSISTENT_VOLUME_FRAMEWORK} |
| ${TEST_EXECUTOR} |
| ${TEST_FRAMEWORK} |
| ${TEST_HTTP_EXECUTOR} |
| ${TEST_HTTP_FRAMEWORK} |
| ) |
| endif () |
| |
| add_dependencies(${TEST_HELPER_TARGET} ${MESOS_TESTS_DEPENDENCIES}) |
| |
| # ADD TEST TARGET (runs when you do, e.g., `make check`). |
| ######################################################### |
| add_test(NAME MesosTests COMMAND ${MESOS_TESTS_TARGET}) |