You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by jo...@apache.org on 2016/11/29 00:20:39 UTC

[10/23] mesos git commit: CMake: Added test sources to the build.

CMake: Added test sources to the build.

This adds most existing tests to the CMake build.  This excludes
a few special cases, just as Java, Python, and network isolator
tests.

This review replaces: https://reviews.apache.org/r/49921/

Review: https://reviews.apache.org/r/53758/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/4c741df7
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/4c741df7
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/4c741df7

Branch: refs/heads/master
Commit: 4c741df7246220d85c6b4518c88abee4a74e1e9a
Parents: 33fc68d
Author: Srinivas Brahmaroutu <sr...@us.ibm.com>
Authored: Mon Nov 28 15:32:37 2016 -0800
Committer: Joseph Wu <jo...@apache.org>
Committed: Mon Nov 28 15:40:01 2016 -0800

----------------------------------------------------------------------
 CMakeLists.txt                            |   3 +-
 src/CMakeLists.txt                        |   1 +
 src/tests/CMakeLists.txt                  | 169 ++++++++++++++++++++++++-
 src/tests/cmake/MesosTestsConfigure.cmake |   9 ++
 4 files changed, 179 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/4c741df7/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 80a541d..ba08260 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -111,5 +111,6 @@ add_subdirectory(src)
 add_custom_target(
   check ${STOUT_TESTS_TARGET}
   COMMAND ${PROCESS_TESTS_TARGET}
-  DEPENDS ${PROCESS_TESTS_TARGET} ${STOUT_TESTS_TARGET}
+  COMMAND ${MESOS_TESTS_TARGET}
+  DEPENDS ${STOUT_TESTS_TARGET} ${PROCESS_TESTS_TARGET}  ${MESOS_TESTS_TARGET}
   )

http://git-wip-us.apache.org/repos/asf/mesos/blob/4c741df7/src/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 88301bd..9799f98 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -297,6 +297,7 @@ set(SCHEDULER_SRC
 set(STATE_SRC
   ${STATE_SRC}
   state/in_memory.cpp
+  state/leveldb.cpp
   state/log.cpp
   )
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/4c741df7/src/tests/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index a21a38d..44a9079 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -17,7 +17,8 @@
 include(StoutTestsConfigure)
 include(MesosTestsConfigure)
 
-######################
+# Sources for a test helper binary.
+###################################
 set(TEST_HELPER_SRC
   ${TEST_HELPER_SRC}
   active_user_test_helper.cpp
@@ -38,7 +39,164 @@ if (LINUX)
     )
 endif (LINUX)
 
-# TODO(hausdorff): Add the other tests here.
+# Test utilities.
+#################
+set(MESOS_TESTS_UTILS_SRC
+  ${MESOS_TESTS_UTILS_SRC}
+  active_user_test_helper.cpp
+  cluster.cpp
+  containerizer.cpp
+  environment.cpp
+  flags.cpp
+  health_check_test_helper.cpp
+  kill_policy_test_helper.cpp
+  main.cpp
+  mesos.cpp
+  mock_docker.cpp
+  mock_registrar.cpp
+  mock_slave.cpp
+  module.cpp
+  resources_utils.cpp
+  script.cpp
+  utils.cpp
+  containerizer/launcher.cpp
+  containerizer/memory_test_helper.cpp
+  )
+
+if (LINUX)
+  set(MESOS_TESTS_UTILS_SRC
+    ${MESOS_TESTS_UTILS_SRC}
+    containerizer/capabilities_test_helper.cpp
+    containerizer/setns_test_helper.cpp
+    )
+endif (LINUX)
+
+# 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
+  authorization_tests.cpp
+  command_executor_tests.cpp
+  container_logger_tests.cpp
+  cram_md5_authentication_tests.cpp
+  credentials_tests.cpp
+  default_executor_tests.cpp
+  disk_quota_tests.cpp
+  dynamic_weights_tests.cpp
+  examples_tests.cpp
+  exception_tests.cpp
+  executor_http_api_tests.cpp
+  fault_tolerance_tests.cpp
+  fetcher_cache_tests.cpp
+  fetcher_tests.cpp
+  files_tests.cpp
+  gc_tests.cpp
+  hdfs_tests.cpp
+  health_check_tests.cpp
+  hierarchical_allocator_tests.cpp
+  hook_tests.cpp
+  http_authentication_tests.cpp
+  http_fault_tolerance_tests.cpp
+  log_tests.cpp
+  logging_tests.cpp
+  master_allocator_tests.cpp
+  master_authorization_tests.cpp
+  master_contender_detector_tests.cpp
+  master_maintenance_tests.cpp
+  master_quota_tests.cpp
+  master_slave_reconciliation_tests.cpp
+  master_tests.cpp
+  master_validation_tests.cpp
+  metrics_tests.cpp
+  module_tests.cpp
+  oversubscription_tests.cpp
+  partition_tests.cpp
+  paths_tests.cpp
+  persistent_volume_endpoints_tests.cpp
+  persistent_volume_tests.cpp
+  protobuf_io_tests.cpp
+  rate_limiting_tests.cpp
+  reconciliation_tests.cpp
+  registrar_tests.cpp
+  reservation_endpoints_tests.cpp
+  reservation_tests.cpp
+  resource_offers_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_authorization_tests.cpp
+  slave_recovery_tests.cpp
+  slave_tests.cpp
+  slave_validation_tests.cpp
+  sorter_tests.cpp
+  state_tests.cpp
+  status_update_manager_tests.cpp
+  teardown_tests.cpp
+  uri_fetcher_tests.cpp
+  uri_tests.cpp
+  values_tests.cpp
+  zookeeper_url_tests.cpp
+  )
+
+set(MESOS_TESTS_SRC
+  ${MESOS_TESTS_SRC}
+  common/command_utils_tests.cpp
+  common/http_tests.cpp
+  common/recordio_tests.cpp
+  common/type_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/docker_spec_tests.cpp
+  containerizer/docker_tests.cpp
+  containerizer/isolator_tests.cpp
+  containerizer/memory_isolator_tests.cpp
+  containerizer/mesos_containerizer_tests.cpp
+  containerizer/mesos_containerizer_paths_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_image_isolator_tests.cpp
+  containerizer/volume_sandbox_path_isolator_tests.cpp
+  )
+
+if (LINUX)
+  set(MESOS_TESTS_SRC
+    ${MESOS_TESTS_SRC}
+    ldcache_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/launch_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/runtime_isolator_tests.cpp
+    containerizer/sched_tests.cpp
+    )
+endif (LINUX)
 
 # INCLUDE DIRECTIVES (generates, e.g., -I/path/to/thing on Linux).
 ##################################################################
@@ -50,12 +208,19 @@ link_directories(${MESOS_TESTS_LIB_DIRS})
 
 # THE TEST AND HELPER EXECUTABLEs (generates, e.g., stout_tests, etc., on Linux).
 #################################$###############################################
+add_executable(${MESOS_TESTS_TARGET} ${MESOS_TESTS_SRC})
 add_executable(${TEST_HELPER_TARGET} ${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})
 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})

http://git-wip-us.apache.org/repos/asf/mesos/blob/4c741df7/src/tests/cmake/MesosTestsConfigure.cmake
----------------------------------------------------------------------
diff --git a/src/tests/cmake/MesosTestsConfigure.cmake b/src/tests/cmake/MesosTestsConfigure.cmake
index a931781..87dce5e 100644
--- a/src/tests/cmake/MesosTestsConfigure.cmake
+++ b/src/tests/cmake/MesosTestsConfigure.cmake
@@ -82,3 +82,12 @@ set(MESOS_TESTS_LIBS
   ${GMOCK_LFLAG}
   ${GTEST_LFLAG}
   )
+
+if (NOT WIN32)
+  set(MESOS_TESTS_LIBS
+    ${MESOS_TESTS_LIBS}
+    ${QOS_CONTROLLER_TARGET}
+    ${RESOURCE_ESTIMATOR_TARGET}
+    ${LOGROTATE_CONTAINER_LOGGER_TARGET}
+    )
+endif (NOT WIN32)