Merge /u/wyldckat/foam-extend32/ branch master into master
[foam-extend-3.2.git] / testHarness / OSIG / Turbomachinery / CMakeFiles / TurbomachineryTestsuites_ercoftacConicalDiffuser.cmake
blob35d2934b3fb3891699b1eaae663ee91f3aa53022
1 # /*---------------------------------------------------------------------------*\
2 #   =========                 |
3 #   \\      /  F ield         | foam-extend: Open Source CFD
4 #    \\    /   O peration     |
5 #     \\  /    A nd           | For copyright notice see file Copyright
6 #      \\/     M anipulation  |
7 # -------------------------------------------------------------------------------
8 # License
9 #     This file is part of foam-extend.
11 #     foam-extend is free software: you can redistribute it and/or modify it
12 #     under the terms of the GNU General Public License as published by the
13 #     Free Software Foundation, either version 3 of the License, or (at your
14 #     option) any later version.
16 #     foam-extend is distributed in the hope that it will be useful, but
17 #     WITHOUT ANY WARRANTY; without even the implied warranty of
18 #     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19 #     General Public License for more details.
21 #     You should have received a copy of the GNU General Public License
22 #     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 # Description
25 #        CMake/CTest script for running the Turbomachinery OSIG testsuites
26 #        for the ERCOFTAC Conical Diffuser
28 # Author
29 #        Martin Beaudoin, Hydro-Quebec, 2010. All rights reserved
31 # \*---------------------------------------------------------------------------*/
33 # Take care of tests specific variables
34 IF(NOT DEFINED testIdSuffix)
35     SET(testIdSuffix "_full")
36 ENDIF(NOT DEFINED testIdSuffix)
38 IF(NOT DEFINED testRunTimeDirectory)
39     SET(testRunTimeDirectory "TurbomachineryTestSuites${testIdSuffix}/ercoftacConicalDiffuser")
40 ENDIF(NOT DEFINED  testRunTimeDirectory)
42 # Use the current directory for running the test cases
43 SET (TEST_CASE_DIR $ENV{PWD}/${testRunTimeDirectory}
44     CACHE INTERNAL "ECD test case directory."
45     )
47 # Create the runTime test cases
48 MESSAGE("Removing the old test directory: ${TEST_CASE_DIR}")
49 file(REMOVE_RECURSE ${TEST_CASE_DIR})
50 MESSAGE("Creation of the new test directory: ${TEST_CASE_DIR}")
51 file(COPY ${TURBOMACHINERY_OSIG_ROOT}/ercoftacConicalDiffuser DESTINATION ${TEST_CASE_DIR}/..)
53 # Iterate over each case:
54 # We are looking for a tutorial with an Allrun case.
55 # If this file is present, we add this case to the list of cases to run.
58 # Subdirectory for the test cases
59 SET(TESTCASES_SUBDIR "cases")
61 # First, add a global cleanup of the cases
62 SET(testId "ECD_Allclean_cases${testIdSuffix}")
63 ADD_TEST(${testId} bash -c "cd ${TEST_CASE_DIR}/${TESTCASES_SUBDIR}; ./Allclean")
65 # Next, recurse through the case root directory,
66 # find all the Allrun files, and execute them
67 FILE(GLOB_RECURSE listofCasesWithAllrun ${TEST_CASE_DIR}/Allrun)
68 LIST(SORT listofCasesWithAllrun)
70 FOREACH(caseWithAllrun ${listofCasesWithAllrun})
71   #Grab the name of the directory containing the file Allrun
72   get_filename_component(thisCasePath ${caseWithAllrun} PATH)
74   # We need to skip the global Allrun file
75   IF(NOT ${thisCasePath} STREQUAL ${TEST_CASE_DIR}/${TESTCASES_SUBDIR})
76     MESSAGE("Found Allrun file in directory: ${thisCasePath}")
78     # Grab the parent name of the case directory
79     string(REPLACE ${TEST_CASE_DIR}/ "" caseParentPath ${caseWithAllrun})
81     # Construct the testId
82     string(REPLACE "/" "_" testId ${caseParentPath})
83     SET(testId ECD_${testId}${testIdSuffix})
85     # Add the test to the test harness
86     MESSAGE("Adding test: ${testId}")
87     ADD_TEST(${testId} bash -c "cd ${thisCasePath}; ./Allrun")
88     # Use this entry instead for testing
89     #ADD_TEST(${testId} bash -c "cd ${thisCasePath}; true")
91   ENDIF(NOT ${thisCasePath} STREQUAL ${TEST_CASE_DIR}/${TESTCASES_SUBDIR})
92 ENDFOREACH(caseWithAllrun)
94 # Modify the cases Allrun file for additional shell functions
95 MESSAGE("${testRunTimeDirectory}: Modifying the Allrun files for additional shell functions in directory: ${TEST_CASE_DIR}/${TESTCASES_SUBDIR}")
96 EXECUTE_PROCESS(
97     COMMAND $ENV{FOAM_TEST_HARNESS_DIR}/scripts/prepareCasesForTestHarness.sh ${TEST_CASE_DIR}/${TESTCASES_SUBDIR} $ENV{FOAM_TEST_HARNESS_DIR}/scripts/AdditionalRunFunctions
98     WORKING_DIRECTORY .
99     )
101 # That's it.