Browse Source

ENH: add more time to bootstrap test

Ken Martin 19 years ago
parent
commit
551397b898
2 changed files with 39 additions and 1 deletions
  1. 13 1
      Source/CMakeLists.txt
  2. 26 0
      Source/MFCDialog/CMakeSetupDialog.cpp

+ 13 - 1
Source/CMakeLists.txt

@@ -1109,6 +1109,8 @@ IF(BUILD_TESTING)
     SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
   ENDIF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
   IF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
+
+
     ADD_TEST(BootstrapTest ${CMAKE_CTEST_COMMAND}
       --build-and-test
       ${CMake_SOURCE_DIR}
@@ -1117,7 +1119,17 @@ IF(BUILD_TESTING)
       --build-noclean
       --build-makeprogram ${CMake_SOURCE_DIR}/bootstrap
       --build-generator "${CMAKE_TEST_GENERATOR}"
-      --test-command ${CMake_BINARY_DIR}/Tests/BootstrapTest/Bootstrap.cmk/cmake)
+      --test-command 
+      ${CMake_BINARY_DIR}/Tests/BootstrapTest/Bootstrap.cmk/cmake)
+
+    # provide more time for the bootstrap test
+    IF (COMMAND GET_TEST_PROPERTY)
+      GET_TEST_PROPERTY(BootstrapTest TIMEOUT PREVIOUS_TIMEOUT)
+      IF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
+        SET_TESTS_PROPERTIES ( BootstrapTest PROPERTIES TIMEOUT 1500)
+      ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
+    ENDIF (COMMAND GET_TEST_PROPERTY)
+      
   ENDIF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
 
   # fortran does not work for IDE builds because

+ 26 - 0
Source/MFCDialog/CMakeSetupDialog.cpp

@@ -426,6 +426,17 @@ void CMakeSetupDialog::SaveToRegistry()
     {
     // save some values
     CString regvalue;
+
+    // write the size of the dialog
+    CRect size;
+    this->GetClientRect(&size);
+    unsigned long width = size.Width();
+    unsigned long height = size.Height();    
+    RegSetValueEx(hKey, _T("Width"), 0, REG_DWORD, 
+                  (CONST BYTE *)(&width),4);
+    RegSetValueEx(hKey, _T("Height"), 0, REG_DWORD, 
+                  (CONST BYTE *)(&height),4);
+
     this->ReadRegistryValue(hKey, &(regvalue),"WhereSource1","C:\\");
     int shiftEnd = 9;
     if(m_WhereSource != regvalue)
@@ -542,6 +553,17 @@ void CMakeSetupDialog::LoadFromRegistry()
   else
     {
     // load some values
+    DWORD dwSize = 4;
+    DWORD width, height;
+    
+    if (RegQueryValueEx(hKey,_T("Width"), NULL, NULL, 
+                        (BYTE *)&width, &dwSize) == ERROR_SUCCESS &&      
+        RegQueryValueEx(hKey,_T("Height"), NULL, NULL, 
+                        (BYTE *)&height, &dwSize) == ERROR_SUCCESS)
+      {
+      this->SetWindowPos(0,0,0,width,height,SWP_NOZORDER | SWP_NOMOVE);
+      }
+
     if (m_WhereSource.IsEmpty()) 
       {
       this->ReadRegistryValue(hKey, &(m_WhereSource),"WhereSource1","C:\\");
@@ -1175,6 +1197,10 @@ void CMakeSetupDialog::OnOk()
   cmSystemTools::EnableMessages();
   m_CacheEntriesList.ClearDirty();
   this->RunCMake(true);
+
+  // save the size of the dialog
+  
+
   if (!(::GetKeyState(VK_SHIFT) & 0x1000))
     {
     CDialog::OnOK();