Просмотр исходного кода

Tutorial: Move step 8 to step 5. Shift steps 5-7 to 6-8.

Markus Ferrell 3 лет назад
Родитель
Сommit
6c77ccec51

+ 10 - 10
Help/guide/tutorial/Adding Support for a Testing Dashboard.rst

@@ -1,4 +1,4 @@
-Step 8: Adding Support for a Testing Dashboard
+Step 5: Adding Support for a Testing Dashboard
 ==============================================
 ==============================================
 
 
 Adding support for submitting our test results to a dashboard is simple. We
 Adding support for submitting our test results to a dashboard is simple. We
@@ -9,21 +9,21 @@ we include the :module:`CTest` module in our top-level ``CMakeLists.txt``.
 
 
 Replace:
 Replace:
 
 
-.. code-block:: cmake
+.. literalinclude:: Step5/CMakeLists.txt
   :caption: CMakeLists.txt
   :caption: CMakeLists.txt
   :name: CMakeLists.txt-enable_testing-remove
   :name: CMakeLists.txt-enable_testing-remove
-
-  # enable testing
-  enable_testing()
+  :language: cmake
+  :start-after: # enable testing
+  :end-before: # does the application run
 
 
 With:
 With:
 
 
-.. code-block:: cmake
+.. literalinclude:: Step6/CMakeLists.txt
   :caption: CMakeLists.txt
   :caption: CMakeLists.txt
   :name: CMakeLists.txt-include-CTest
   :name: CMakeLists.txt-include-CTest
-
-  # enable dashboard scripting
-  include(CTest)
+  :language: cmake
+  :start-after: # enable testing
+  :end-before: # does the application run
 
 
 The :module:`CTest` module will automatically call ``enable_testing()``, so we
 The :module:`CTest` module will automatically call ``enable_testing()``, so we
 can remove it from our CMake files.
 can remove it from our CMake files.
@@ -46,7 +46,7 @@ downloaded from the ``Settings`` page of the project on the CDash
 instance that will host and display the test results.  Once downloaded from
 instance that will host and display the test results.  Once downloaded from
 CDash, the file should not be modified locally.
 CDash, the file should not be modified locally.
 
 
-.. literalinclude:: Step9/CTestConfig.cmake
+.. literalinclude:: Step6/CTestConfig.cmake
   :caption: CTestConfig.cmake
   :caption: CTestConfig.cmake
   :name: CTestConfig.cmake
   :name: CTestConfig.cmake
   :language: cmake
   :language: cmake

+ 5 - 5
Help/guide/tutorial/Adding System Introspection.rst

@@ -1,4 +1,4 @@
-Step 5: Adding System Introspection
+Step 6: Adding System Introspection
 ===================================
 ===================================
 
 
 Let us consider adding some code to our project that depends on features the
 Let us consider adding some code to our project that depends on features the
@@ -15,7 +15,7 @@ these functions using the :module:`CheckCXXSourceCompiles` module in
 Add the checks for ``log`` and ``exp`` to ``MathFunctions/CMakeLists.txt``,
 Add the checks for ``log`` and ``exp`` to ``MathFunctions/CMakeLists.txt``,
 after the call to :command:`target_include_directories`:
 after the call to :command:`target_include_directories`:
 
 
-.. literalinclude:: Step6/MathFunctions/CMakeLists.txt
+.. literalinclude:: Step7/MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :name: MathFunctions/CMakeLists.txt-check_cxx_source_compiles
   :name: MathFunctions/CMakeLists.txt-check_cxx_source_compiles
   :language: cmake
   :language: cmake
@@ -25,7 +25,7 @@ after the call to :command:`target_include_directories`:
 If available, use :command:`target_compile_definitions` to specify
 If available, use :command:`target_compile_definitions` to specify
 ``HAVE_LOG`` and ``HAVE_EXP`` as ``PRIVATE`` compile definitions.
 ``HAVE_LOG`` and ``HAVE_EXP`` as ``PRIVATE`` compile definitions.
 
 
-.. literalinclude:: Step6/MathFunctions/CMakeLists.txt
+.. literalinclude:: Step7/MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :name: MathFunctions/CMakeLists.txt-target_compile_definitions
   :name: MathFunctions/CMakeLists.txt-target_compile_definitions
   :language: cmake
   :language: cmake
@@ -37,7 +37,7 @@ compute the square root in the ``mysqrt`` function. Add the following code to
 the ``mysqrt`` function in ``MathFunctions/mysqrt.cxx`` (don't forget the
 the ``mysqrt`` function in ``MathFunctions/mysqrt.cxx`` (don't forget the
 ``#endif`` before returning the result!):
 ``#endif`` before returning the result!):
 
 
-.. literalinclude:: Step6/MathFunctions/mysqrt.cxx
+.. literalinclude:: Step7/MathFunctions/mysqrt.cxx
   :caption: MathFunctions/mysqrt.cxx
   :caption: MathFunctions/mysqrt.cxx
   :name: MathFunctions/mysqrt.cxx-ifdef
   :name: MathFunctions/mysqrt.cxx-ifdef
   :language: c++
   :language: c++
@@ -46,7 +46,7 @@ the ``mysqrt`` function in ``MathFunctions/mysqrt.cxx`` (don't forget the
 
 
 We will also need to modify ``mysqrt.cxx`` to include ``cmath``.
 We will also need to modify ``mysqrt.cxx`` to include ``cmath``.
 
 
-.. literalinclude:: Step6/MathFunctions/mysqrt.cxx
+.. literalinclude:: Step7/MathFunctions/mysqrt.cxx
   :caption: MathFunctions/mysqrt.cxx
   :caption: MathFunctions/mysqrt.cxx
   :name: MathFunctions/mysqrt.cxx-include-cmath
   :name: MathFunctions/mysqrt.cxx-include-cmath
   :language: c++
   :language: c++

+ 6 - 6
Help/guide/tutorial/Adding a Custom Command and Generated File.rst

@@ -1,4 +1,4 @@
-Step 6: Adding a Custom Command and Generated File
+Step 7: Adding a Custom Command and Generated File
 ==================================================
 ==================================================
 
 
 Suppose, for the purpose of this tutorial, we decide that we never want to use
 Suppose, for the purpose of this tutorial, we decide that we never want to use
@@ -26,7 +26,7 @@ accomplish this.
 First, at the top of ``MathFunctions/CMakeLists.txt``, the executable for
 First, at the top of ``MathFunctions/CMakeLists.txt``, the executable for
 ``MakeTable`` is added as any other executable would be added.
 ``MakeTable`` is added as any other executable would be added.
 
 
-.. literalinclude:: Step7/MathFunctions/CMakeLists.txt
+.. literalinclude:: Step8/MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :name: MathFunctions/CMakeLists.txt-add_executable-MakeTable
   :name: MathFunctions/CMakeLists.txt-add_executable-MakeTable
   :language: cmake
   :language: cmake
@@ -36,7 +36,7 @@ First, at the top of ``MathFunctions/CMakeLists.txt``, the executable for
 Then we add a custom command that specifies how to produce ``Table.h``
 Then we add a custom command that specifies how to produce ``Table.h``
 by running MakeTable.
 by running MakeTable.
 
 
-.. literalinclude:: Step7/MathFunctions/CMakeLists.txt
+.. literalinclude:: Step8/MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :name: MathFunctions/CMakeLists.txt-add_custom_command-Table.h
   :name: MathFunctions/CMakeLists.txt-add_custom_command-Table.h
   :language: cmake
   :language: cmake
@@ -47,7 +47,7 @@ Next we have to let CMake know that ``mysqrt.cxx`` depends on the generated
 file ``Table.h``. This is done by adding the generated ``Table.h`` to the list
 file ``Table.h``. This is done by adding the generated ``Table.h`` to the list
 of sources for the library MathFunctions.
 of sources for the library MathFunctions.
 
 
-.. literalinclude:: Step7/MathFunctions/CMakeLists.txt
+.. literalinclude:: Step8/MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :name: MathFunctions/CMakeLists.txt-add_library-Table.h
   :name: MathFunctions/CMakeLists.txt-add_library-Table.h
   :language: cmake
   :language: cmake
@@ -57,7 +57,7 @@ of sources for the library MathFunctions.
 We also have to add the current binary directory to the list of include
 We also have to add the current binary directory to the list of include
 directories so that ``Table.h`` can be found and included by ``mysqrt.cxx``.
 directories so that ``Table.h`` can be found and included by ``mysqrt.cxx``.
 
 
-.. literalinclude:: Step7/MathFunctions/CMakeLists.txt
+.. literalinclude:: Step8/MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :caption: MathFunctions/CMakeLists.txt
   :name: MathFunctions/CMakeLists.txt-target_include_directories-Table.h
   :name: MathFunctions/CMakeLists.txt-target_include_directories-Table.h
   :language: cmake
   :language: cmake
@@ -67,7 +67,7 @@ directories so that ``Table.h`` can be found and included by ``mysqrt.cxx``.
 Now let's use the generated table. First, modify ``mysqrt.cxx`` to include
 Now let's use the generated table. First, modify ``mysqrt.cxx`` to include
 ``Table.h``. Next, we can rewrite the ``mysqrt`` function to use the table:
 ``Table.h``. Next, we can rewrite the ``mysqrt`` function to use the table:
 
 
-.. literalinclude:: Step7/MathFunctions/mysqrt.cxx
+.. literalinclude:: Step8/MathFunctions/mysqrt.cxx
   :caption: MathFunctions/mysqrt.cxx
   :caption: MathFunctions/mysqrt.cxx
   :name: MathFunctions/mysqrt.cxx
   :name: MathFunctions/mysqrt.cxx
   :language: c++
   :language: c++

+ 2 - 2
Help/guide/tutorial/Packaging an Installer.rst

@@ -1,4 +1,4 @@
-Step 7: Packaging an Installer
+Step 8: Packaging an Installer
 ==============================
 ==============================
 
 
 Next suppose that we want to distribute our project to other people so that
 Next suppose that we want to distribute our project to other people so that
@@ -11,7 +11,7 @@ installations and package management features. To accomplish this we will use
 CPack to create platform specific installers. Specifically we need to add a
 CPack to create platform specific installers. Specifically we need to add a
 few lines to the bottom of our top-level ``CMakeLists.txt`` file.
 few lines to the bottom of our top-level ``CMakeLists.txt`` file.
 
 
-.. literalinclude:: Step8/CMakeLists.txt
+.. literalinclude:: Step9/CMakeLists.txt
   :caption: CMakeLists.txt
   :caption: CMakeLists.txt
   :name: CMakeLists.txt-include-CPack
   :name: CMakeLists.txt-include-CPack
   :language: cmake
   :language: cmake

+ 7 - 0
Help/guide/tutorial/Step5/CTestConfig.cmake

@@ -0,0 +1,7 @@
+set(CTEST_PROJECT_NAME "CMakeTutorial")
+set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
+
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "my.cdash.org")
+set(CTEST_DROP_LOCATION "/submit.php?project=CMakeTutorial")
+set(CTEST_DROP_SITE_CDASH TRUE)

+ 1 - 1
Help/guide/tutorial/Step6/CMakeLists.txt

@@ -37,7 +37,7 @@ install(FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
   )
   )
 
 
 # enable testing
 # enable testing
-enable_testing()
+include(CTest)
 
 
 # does the application run
 # does the application run
 add_test(NAME Runs COMMAND Tutorial 25)
 add_test(NAME Runs COMMAND Tutorial 25)

+ 7 - 0
Help/guide/tutorial/Step6/CTestConfig.cmake

@@ -0,0 +1,7 @@
+set(CTEST_PROJECT_NAME "CMakeTutorial")
+set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
+
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "my.cdash.org")
+set(CTEST_DROP_LOCATION "/submit.php?project=CMakeTutorial")
+set(CTEST_DROP_SITE_CDASH TRUE)

+ 0 - 23
Help/guide/tutorial/Step6/MathFunctions/CMakeLists.txt

@@ -6,29 +6,6 @@ target_include_directories(MathFunctions
           INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
           INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
           )
           )
 
 
-# does this system provide the log and exp functions?
-include(CheckCXXSourceCompiles)
-check_cxx_source_compiles("
-  #include <cmath>
-  int main() {
-    std::log(1.0);
-    return 0;
-  }
-" HAVE_LOG)
-check_cxx_source_compiles("
-  #include <cmath>
-  int main() {
-    std::exp(1.0);
-    return 0;
-  }
-" HAVE_EXP)
-
-# add compile definitions
-if(HAVE_LOG AND HAVE_EXP)
-  target_compile_definitions(MathFunctions
-                             PRIVATE "HAVE_LOG" "HAVE_EXP")
-endif()
-
 # install rules
 # install rules
 install(TARGETS MathFunctions DESTINATION lib)
 install(TARGETS MathFunctions DESTINATION lib)
 install(FILES MathFunctions.h DESTINATION include)
 install(FILES MathFunctions.h DESTINATION include)

+ 0 - 25
Help/guide/tutorial/Step6/MathFunctions/MakeTable.cxx

@@ -1,25 +0,0 @@
-// A simple program that builds a sqrt table
-#include <cmath>
-#include <fstream>
-#include <iostream>
-
-int main(int argc, char* argv[])
-{
-  // make sure we have enough arguments
-  if (argc < 2) {
-    return 1;
-  }
-
-  std::ofstream fout(argv[1], std::ios_base::out);
-  const bool fileOpen = fout.is_open();
-  if (fileOpen) {
-    fout << "double sqrtTable[] = {" << std::endl;
-    for (int i = 0; i < 10; ++i) {
-      fout << sqrt(static_cast<double>(i)) << "," << std::endl;
-    }
-    // close the table with a zero
-    fout << "0};" << std::endl;
-    fout.close();
-  }
-  return fileOpen ? 0 : 1; // return 0 if wrote the file
-}

+ 0 - 8
Help/guide/tutorial/Step6/MathFunctions/mysqrt.cxx

@@ -1,4 +1,3 @@
-#include <cmath>
 #include <iostream>
 #include <iostream>
 
 
 #include "MathFunctions.h"
 #include "MathFunctions.h"
@@ -10,12 +9,6 @@ double mysqrt(double x)
     return 0;
     return 0;
   }
   }
 
 
-  // if we have both log and exp then use them
-#if defined(HAVE_LOG) && defined(HAVE_EXP)
-  double result = std::exp(std::log(x) * 0.5);
-  std::cout << "Computing sqrt of " << x << " to be " << result
-            << " using log and exp" << std::endl;
-#else
   double result = x;
   double result = x;
 
 
   // do ten iterations
   // do ten iterations
@@ -27,6 +20,5 @@ double mysqrt(double x)
     result = result + 0.5 * delta / result;
     result = result + 0.5 * delta / result;
     std::cout << "Computing sqrt of " << x << " to be " << result << std::endl;
     std::cout << "Computing sqrt of " << x << " to be " << result << std::endl;
   }
   }
-#endif
   return result;
   return result;
 }
 }

+ 1 - 1
Help/guide/tutorial/Step7/CMakeLists.txt

@@ -37,7 +37,7 @@ install(FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
   )
   )
 
 
 # enable testing
 # enable testing
-enable_testing()
+include(CTest)
 
 
 # does the application run
 # does the application run
 add_test(NAME Runs COMMAND Tutorial 25)
 add_test(NAME Runs COMMAND Tutorial 25)

+ 7 - 0
Help/guide/tutorial/Step7/CTestConfig.cmake

@@ -0,0 +1,7 @@
+set(CTEST_PROJECT_NAME "CMakeTutorial")
+set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
+
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "my.cdash.org")
+set(CTEST_DROP_LOCATION "/submit.php?project=CMakeTutorial")
+set(CTEST_DROP_SITE_CDASH TRUE)

+ 0 - 2
Help/guide/tutorial/Step7/License.txt

@@ -1,2 +0,0 @@
-This is the open source License.txt file introduced in
-CMake/Tutorial/Step7...

+ 24 - 19
Help/guide/tutorial/Step7/MathFunctions/CMakeLists.txt

@@ -1,29 +1,34 @@
-# first we add the executable that generates the table
-add_executable(MakeTable MakeTable.cxx)
-
-# add the command to generate the source code
-add_custom_command(
-  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Table.h
-  COMMAND MakeTable ${CMAKE_CURRENT_BINARY_DIR}/Table.h
-  DEPENDS MakeTable
-  )
-
-# add the main library
-add_library(MathFunctions
-            mysqrt.cxx
-            ${CMAKE_CURRENT_BINARY_DIR}/Table.h
-            )
+add_library(MathFunctions mysqrt.cxx)
 
 
 # state that anybody linking to us needs to include the current source dir
 # state that anybody linking to us needs to include the current source dir
 # to find MathFunctions.h, while we don't.
 # to find MathFunctions.h, while we don't.
-# state that we depend on Tutorial_BINARY_DIR but consumers don't, as the
-# TutorialConfig.h include is an implementation detail
-# state that we depend on our binary dir to find Table.h
 target_include_directories(MathFunctions
 target_include_directories(MathFunctions
           INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
           INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
-          PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
           )
           )
 
 
+# does this system provide the log and exp functions?
+include(CheckCXXSourceCompiles)
+check_cxx_source_compiles("
+  #include <cmath>
+  int main() {
+    std::log(1.0);
+    return 0;
+  }
+" HAVE_LOG)
+check_cxx_source_compiles("
+  #include <cmath>
+  int main() {
+    std::exp(1.0);
+    return 0;
+  }
+" HAVE_EXP)
+
+# add compile definitions
+if(HAVE_LOG AND HAVE_EXP)
+  target_compile_definitions(MathFunctions
+                             PRIVATE "HAVE_LOG" "HAVE_EXP")
+endif()
+
 # install rules
 # install rules
 install(TARGETS MathFunctions DESTINATION lib)
 install(TARGETS MathFunctions DESTINATION lib)
 install(FILES MathFunctions.h DESTINATION include)
 install(FILES MathFunctions.h DESTINATION include)

+ 8 - 9
Help/guide/tutorial/Step7/MathFunctions/mysqrt.cxx

@@ -1,10 +1,8 @@
+#include <cmath>
 #include <iostream>
 #include <iostream>
 
 
 #include "MathFunctions.h"
 #include "MathFunctions.h"
 
 
-// include the generated table
-#include "Table.h"
-
 // a hack square root calculation using simple operations
 // a hack square root calculation using simple operations
 double mysqrt(double x)
 double mysqrt(double x)
 {
 {
@@ -12,12 +10,13 @@ double mysqrt(double x)
     return 0;
     return 0;
   }
   }
 
 
-  // use the table to help find an initial value
+  // if we have both log and exp then use them
+#if defined(HAVE_LOG) && defined(HAVE_EXP)
+  double result = std::exp(std::log(x) * 0.5);
+  std::cout << "Computing sqrt of " << x << " to be " << result
+            << " using log and exp" << std::endl;
+#else
   double result = x;
   double result = x;
-  if (x >= 1 && x < 10) {
-    std::cout << "Use the table to help find an initial value " << std::endl;
-    result = sqrtTable[static_cast<int>(x)];
-  }
 
 
   // do ten iterations
   // do ten iterations
   for (int i = 0; i < 10; ++i) {
   for (int i = 0; i < 10; ++i) {
@@ -28,6 +27,6 @@ double mysqrt(double x)
     result = result + 0.5 * delta / result;
     result = result + 0.5 * delta / result;
     std::cout << "Computing sqrt of " << x << " to be " << result << std::endl;
     std::cout << "Computing sqrt of " << x << " to be " << result << std::endl;
   }
   }
-
+#endif
   return result;
   return result;
 }
 }

+ 1 - 9
Help/guide/tutorial/Step8/CMakeLists.txt

@@ -37,7 +37,7 @@ install(FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
   )
   )
 
 
 # enable testing
 # enable testing
-enable_testing()
+include(CTest)
 
 
 # does the application run
 # does the application run
 add_test(NAME Runs COMMAND Tutorial 25)
 add_test(NAME Runs COMMAND Tutorial 25)
@@ -64,11 +64,3 @@ do_test(Tutorial 7 "7 is 2.645")
 do_test(Tutorial 25 "25 is 5")
 do_test(Tutorial 25 "25 is 5")
 do_test(Tutorial -25 "-25 is (-nan|nan|0)")
 do_test(Tutorial -25 "-25 is (-nan|nan|0)")
 do_test(Tutorial 0.0001 "0.0001 is 0.01")
 do_test(Tutorial 0.0001 "0.0001 is 0.01")
-
-# setup installer
-include(InstallRequiredSystemLibraries)
-set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
-set(CPACK_PACKAGE_VERSION_MAJOR "${Tutorial_VERSION_MAJOR}")
-set(CPACK_PACKAGE_VERSION_MINOR "${Tutorial_VERSION_MINOR}")
-set(CPACK_SOURCE_GENERATOR "TGZ")
-include(CPack)

+ 1 - 0
Help/guide/tutorial/Step9/CMakeLists.txt

@@ -65,6 +65,7 @@ do_test(Tutorial 25 "25 is 5")
 do_test(Tutorial -25 "-25 is (-nan|nan|0)")
 do_test(Tutorial -25 "-25 is (-nan|nan|0)")
 do_test(Tutorial 0.0001 "0.0001 is 0.01")
 do_test(Tutorial 0.0001 "0.0001 is 0.01")
 
 
+# setup installer
 include(InstallRequiredSystemLibraries)
 include(InstallRequiredSystemLibraries)
 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
 set(CPACK_PACKAGE_VERSION_MAJOR "${Tutorial_VERSION_MAJOR}")
 set(CPACK_PACKAGE_VERSION_MAJOR "${Tutorial_VERSION_MAJOR}")

+ 1 - 1
Help/guide/tutorial/index.rst

@@ -25,10 +25,10 @@ provides the complete solution for the previous step.
   Adding a Library
   Adding a Library
   Adding Usage Requirements for a Library
   Adding Usage Requirements for a Library
   Installing and Testing
   Installing and Testing
+  Adding Support for a Testing Dashboard
   Adding System Introspection
   Adding System Introspection
   Adding a Custom Command and Generated File
   Adding a Custom Command and Generated File
   Packaging an Installer
   Packaging an Installer
-  Adding Support for a Testing Dashboard
   Selecting Static or Shared Libraries
   Selecting Static or Shared Libraries
   Adding Generator Expressions
   Adding Generator Expressions
   Adding Export Configuration
   Adding Export Configuration

+ 1 - 1
Tests/CMakeLists.txt

@@ -1742,7 +1742,7 @@ if(BUILD_TESTING)
 
 
   if(NOT CMake_TEST_EXTERNAL_CMAKE)
   if(NOT CMake_TEST_EXTERNAL_CMAKE)
     foreach(STP RANGE 2 12)
     foreach(STP RANGE 2 12)
-      if (STP EQUAL 6)
+      if (STP EQUAL 7)
         set(pass_regex ".*using log and exp")
         set(pass_regex ".*using log and exp")
       else()
       else()
         set(pass_regex "The square root of 25 is 5")
         set(pass_regex "The square root of 25 is 5")