You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jb...@apache.org on 2017/08/11 23:53:04 UTC

[48/52] [partial] geode-native git commit: GEODE-3165: Reogranized sources relative to the root for better CMake IDE integration.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/6cbd424f/clicache/integration-test/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/clicache/integration-test/CMakeLists.txt b/clicache/integration-test/CMakeLists.txt
new file mode 100644
index 0000000..be5e424
--- /dev/null
+++ b/clicache/integration-test/CMakeLists.txt
@@ -0,0 +1,120 @@
+# 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.
+cmake_minimum_required(VERSION 3.4)
+project(nativeclient.tests.clicache)
+
+set (NUNIT "C:\\Program Files (x86)\\NUnit 2.6.4")
+
+if (64 EQUAL ${BUILD_BITS})
+  set (NUNIT_CONSOLE "nunit-console")
+else()
+  set (NUNIT_CONSOLE "nunit-console-x86")
+endif()
+
+# Set the .NET Target Framework (Note: This should match the build for Apache.Geode.)
+set (DOTNET_TARGET_FRAMEWORK_VERSION "v4.5.2")
+
+foreach(var CMAKE_CURRENT_SOURCE_DIR CMAKE_SOURCE_DIR CMAKE_BINARY_DIR CMAKE_CURRENT_BINARY_DIR)
+  file(TO_NATIVE_PATH ${${var}} ${var}_NATIVE)
+endforeach()
+
+file(GLOB_RECURSE CSPROJECTS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.csproj.in")
+if(EXISTS "${STRONG_NAME_KEY}")
+  set(STRONG_NAME_KEY_ENABLED true)
+endif()
+
+foreach(FILE ${CSPROJECTS})
+  # TODO: make this a one line MATCH statement
+  string(REGEX REPLACE "\\.csproj.in" "" PROJDIR ${FILE})
+  string(REGEX REPLACE ".*/" "" PROJNAME ${PROJDIR})
+  configure_file(${FILE} ${CMAKE_CURRENT_BINARY_DIR}/${PROJNAME}.csproj)
+  include_external_msproject(
+      ${PROJNAME}  ${CMAKE_CURRENT_BINARY_DIR}/${PROJNAME}.csproj
+      TYPE FAE04EC0-301F-11D3-BF4B-00C04F79EFBC)
+  set_target_properties(${PROJNAME} PROPERTIES FOLDER test/cliTests)
+
+endforeach()
+
+enable_testing()
+
+# Function to resolve both config and generate stage variables.
+macro(generate_config INPUT TEMP OUTPUT)
+    configure_file(${INPUT} ${TEMP})
+    file(GENERATE OUTPUT ${OUTPUT}
+      INPUT ${TEMP}
+      CONDITION 1
+    )
+endmacro()
+
+foreach( lib ssl xerces-c sqlite )
+  get_target_property(runtime_path ${lib} INTERFACE_RUNTIME_DIR)
+  set(PATH ${PATH} ${runtime_path})
+endforeach()
+
+file(GLOB SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cs")
+
+foreach(FILE ${SOURCES})
+  # Find all non-deprecated tests
+  file(STRINGS ${FILE} HasTests REGEX "\\[Test\\]")
+
+  LIST(LENGTH HasTests length)
+  if (${length} GREATER 0)
+      file(STRINGS ${FILE} IsDeprecated REGEX "\\[Category.*deprecated.*\\]")
+	  if (NOT IsDeprecated)
+
+		  # Get the namespace
+		  file(STRINGS ${FILE} NameSpaceLine REGEX "namespace Apache.Geode.Client.UnitTests")
+		  string(REGEX REPLACE "namespace.*Apache" "Apache" NAMESPACE ${NameSpaceLine})
+
+          string(REGEX REPLACE "\\.cs" "" TEST ${FILE})        
+          set(TESTS ${TESTS} ${TEST})
+          set(TEST_DIR ${CMAKE_CURRENT_BINARY_DIR}/.tests/${TEST})
+
+		  # Get the test class (NewAPI tests have N in the file name but not test class name)
+		  string(REGEX REPLACE "N$" "" TESTCLASS ${TEST})
+
+          set(TEST_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${TEST}.bat)
+          generate_config(${CMAKE_CURRENT_SOURCE_DIR}/test.bat.in ${CMAKE_CURRENT_BINARY_DIR}/.${TEST}.bat.in ${TEST_SCRIPT})
+
+          add_test(NAME ${TEST} COMMAND ${TEST_SCRIPT})
+          set_property(TEST ${TEST} PROPERTY LABELS STABLE)
+	  endif()
+  endif()
+endforeach()
+
+# Label any flaky tests here
+set_property(TEST ThinClientCqTestsN PROPERTY LABELS FLAKY)
+
+# Label any tests that always fail here
+set_property(TEST OverflowTestsN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientDeltaTestN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientDurableTestsN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientHARegionTestsN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientPdxTests PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientRegionTestsN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientSecurityAuthTestsMUN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientSecurityAuthTestsN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientSecurityAuthTestsMUN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientSecurityAuthzTestsMUN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientSecurityAuthzTestsN PROPERTY LABELS OMITTED)
+set_property(TEST ThinClientStatisticTestsN PROPERTY LABELS OMITTED)
+
+add_custom_target(run-stable-clicache-integration-tests
+  COMMAND ctest -C $<CONFIGURATION> -L STABLE
+  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+  USES_TERMINAL)
+add_dependencies(run-integration-tests run-stable-clicache-integration-tests)
+set_target_properties(run-stable-clicache-integration-tests PROPERTIES EXCLUDE_FROM_ALL TRUE EXCLUDE_FROM_DEFAULT_BUILD TRUE)
+