summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Tests/SimpleInstall/CMakeLists.txt23
-rw-r--r--Tests/SimpleInstallS2/CMakeLists.txt23
2 files changed, 34 insertions, 12 deletions
diff --git a/Tests/SimpleInstall/CMakeLists.txt b/Tests/SimpleInstall/CMakeLists.txt
index a0c442e..f94ac71 100644
--- a/Tests/SimpleInstall/CMakeLists.txt
+++ b/Tests/SimpleInstall/CMakeLists.txt
@@ -333,14 +333,25 @@ SET(CMAKE_INSTALL_DEBUG_LIBRARIES 1)
INCLUDE(InstallRequiredSystemLibraries)
INCLUDE(CPack)
-# Avoid disabling test on Apple to try to diagnose the problem.
-SET(CTEST_TEST_CPACK 1)
-
-# disable packaging on Apple, since this includes the /Applications dir
-# where a symbolic link is created by cmCPackOSXX11Generator.cxx
+# Disable packaging test on Apple 10.3 and below. PackageMaker starts
+# DiskManagementTool as root and disowns it
+# (http://lists.apple.com/archives/installer-dev/2005/Jul/msg00005.html).
+# It is left holding open pipe handles and preventing ProcessUNIX from
+# detecting end-of-data even after its immediate child exits. Then
+# the test hangs until it times out and is killed. This is a
+# well-known bug in kwsys process execution that I would love to get
+# time to fix.
SET(PACKAGE_TARGET --build-target package)
IF(APPLE AND NOT CTEST_TEST_CPACK)
- SET(PACKAGE_TARGET)
+ EXECUTE_PROCESS(
+ COMMAND sw_vers -productVersion
+ OUTPUT_VARIABLE OSX_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ IF("${OSX_VERSION}" MATCHES "^10\\.[0123]")
+ MESSAGE(STATUS "Disabling package test on OSX ${OSX_VERSION} < 10.4")
+ SET(PACKAGE_TARGET)
+ ENDIF("${OSX_VERSION}" MATCHES "^10\\.[0123]")
ENDIF(APPLE AND NOT CTEST_TEST_CPACK)
ADD_CUSTOM_COMMAND(
diff --git a/Tests/SimpleInstallS2/CMakeLists.txt b/Tests/SimpleInstallS2/CMakeLists.txt
index a0c442e..f94ac71 100644
--- a/Tests/SimpleInstallS2/CMakeLists.txt
+++ b/Tests/SimpleInstallS2/CMakeLists.txt
@@ -333,14 +333,25 @@ SET(CMAKE_INSTALL_DEBUG_LIBRARIES 1)
INCLUDE(InstallRequiredSystemLibraries)
INCLUDE(CPack)
-# Avoid disabling test on Apple to try to diagnose the problem.
-SET(CTEST_TEST_CPACK 1)
-
-# disable packaging on Apple, since this includes the /Applications dir
-# where a symbolic link is created by cmCPackOSXX11Generator.cxx
+# Disable packaging test on Apple 10.3 and below. PackageMaker starts
+# DiskManagementTool as root and disowns it
+# (http://lists.apple.com/archives/installer-dev/2005/Jul/msg00005.html).
+# It is left holding open pipe handles and preventing ProcessUNIX from
+# detecting end-of-data even after its immediate child exits. Then
+# the test hangs until it times out and is killed. This is a
+# well-known bug in kwsys process execution that I would love to get
+# time to fix.
SET(PACKAGE_TARGET --build-target package)
IF(APPLE AND NOT CTEST_TEST_CPACK)
- SET(PACKAGE_TARGET)
+ EXECUTE_PROCESS(
+ COMMAND sw_vers -productVersion
+ OUTPUT_VARIABLE OSX_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ IF("${OSX_VERSION}" MATCHES "^10\\.[0123]")
+ MESSAGE(STATUS "Disabling package test on OSX ${OSX_VERSION} < 10.4")
+ SET(PACKAGE_TARGET)
+ ENDIF("${OSX_VERSION}" MATCHES "^10\\.[0123]")
ENDIF(APPLE AND NOT CTEST_TEST_CPACK)
ADD_CUSTOM_COMMAND(