@@ -79,16 +79,176 @@ if(TARGET sphere_decay_test)
7979 )
8080endif ()
8181
82- # F3OF DT3 Regression Test
82+ # F3OF DT1 Regression Test
8383# ========================
8484
8585# Create executable in model-based directory
86- add_executable (f3of_dt3_test )
86+ add_executable (f3of_dt1_test )
8787
8888set (F3OF_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} /f3of)
8989set (F3OF_RELEASE_DIR ${CMAKE_BINARY_DIR} /tests/regression/Release/f3of)
9090set (F3OF_RESULTS_DIR ${F3OF_RELEASE_DIR} /results)
9191
92+ # Use model-based source and let simulation create results automatically
93+ set_target_properties (f3of_dt1_test
94+ PROPERTIES
95+ RUNTIME_OUTPUT_DIRECTORY ${F3OF_RELEASE_DIR}
96+ RUNTIME_OUTPUT_DIRECTORY_DEBUG ${F3OF_RELEASE_DIR}
97+ RUNTIME_OUTPUT_DIRECTORY_RELEASE ${F3OF_RELEASE_DIR}
98+ )
99+
100+ target_sources (
101+ f3of_dt1_test
102+ PRIVATE
103+ ${F3OF_SRC_DIR} /f3of_dt1_test.cpp
104+ )
105+
106+ if (HYDROCHRONO_ENABLE_IRRLICHT)
107+ target_compile_definitions (f3of_dt1_test
108+ PRIVATE
109+ HYDROCHRONO_HAVE_IRRLICHT=1
110+ "CHRONO_DATA_DIR=\" ${CHRONO_DATA_DIR} \" "
111+ )
112+ endif ()
113+
114+ target_include_directories (
115+ f3of_dt1_test
116+ PRIVATE
117+ ${CMAKE_CURRENT_SOURCE_DIR} /../../../../src
118+ ${CMAKE_CURRENT_SOURCE_DIR} /../../../../src/gui
119+ )
120+
121+ target_link_libraries (
122+ f3of_dt1_test
123+ PRIVATE
124+ HydroChrono
125+ HydroChronoGUI
126+ )
127+
128+ # Register as CTest test
129+ if (TARGET f3of_dt1_test)
130+ # Copy test data to the output directory
131+ file (COPY ${CMAKE_CURRENT_SOURCE_DIR} /data DESTINATION ${CMAKE_BINARY_DIR} /tests/regression/Release )
132+
133+ add_test (
134+ NAME f3of_dt1_regression
135+ COMMAND ${F3OF_RELEASE_DIR} /f3of_dt1_test.exe ${HYDROCHRONO_DATA_DIR} --nogui
136+ )
137+
138+ set_tests_properties (
139+ f3of_dt1_regression
140+ PROPERTIES
141+ LABELS "regression;f3of;dt1;decay;core"
142+ FIXTURES_SETUP f3of_dt1_regression_file
143+ WORKING_DIRECTORY ${F3OF_RELEASE_DIR}
144+ ENVIRONMENT "${TEST_ENVIRONMENT} "
145+ )
146+
147+ # Reference comparison test - use the new centralized reference data location
148+ set (FILE_RST ${F3OF_RESULTS_DIR} /CHRONO_F3OF_DT1_SURGE.txt)
149+ set (FILE_REF ${CMAKE_SOURCE_DIR} /tests/regression/reference_data/f3of/dt1/hydrochrono_f3of_dt1_surge.txt)
150+
151+ add_test (
152+ NAME f3of_dt1_regression_ref
153+ COMMAND python ${CMAKE_SOURCE_DIR} /tests/regression/f3of/compare_dt1.py
154+ )
155+
156+ set_tests_properties (
157+ f3of_dt1_regression_ref
158+ PROPERTIES
159+ LABELS "regression;f3of;dt1;decay;reference;core"
160+ FIXTURES_REQUIRED f3of_dt1_regression_file
161+ WORKING_DIRECTORY ${F3OF_RELEASE_DIR}
162+ ENVIRONMENT "PATH=${Python3_ROOT_DIR} ;$ENV{PATH} ;HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
163+ )
164+ endif ()
165+
166+ # F3OF DT2 Regression Test
167+ # ========================
168+
169+ # Create executable in model-based directory
170+ add_executable (f3of_dt2_test )
171+
172+ # Use model-based source and let simulation create results automatically
173+ set_target_properties (f3of_dt2_test
174+ PROPERTIES
175+ RUNTIME_OUTPUT_DIRECTORY ${F3OF_RELEASE_DIR}
176+ RUNTIME_OUTPUT_DIRECTORY_DEBUG ${F3OF_RELEASE_DIR}
177+ RUNTIME_OUTPUT_DIRECTORY_RELEASE ${F3OF_RELEASE_DIR}
178+ )
179+
180+ target_sources (
181+ f3of_dt2_test
182+ PRIVATE
183+ ${F3OF_SRC_DIR} /f3of_dt2_test.cpp
184+ )
185+
186+ if (HYDROCHRONO_ENABLE_IRRLICHT)
187+ target_compile_definitions (f3of_dt2_test
188+ PRIVATE
189+ HYDROCHRONO_HAVE_IRRLICHT=1
190+ "CHRONO_DATA_DIR=\" ${CHRONO_DATA_DIR} \" "
191+ )
192+ endif ()
193+
194+ target_include_directories (
195+ f3of_dt2_test
196+ PRIVATE
197+ ${CMAKE_CURRENT_SOURCE_DIR} /../../../../src
198+ ${CMAKE_CURRENT_SOURCE_DIR} /../../../../src/gui
199+ )
200+
201+ target_link_libraries (
202+ f3of_dt2_test
203+ PRIVATE
204+ HydroChrono
205+ HydroChronoGUI
206+ )
207+
208+ # Register as CTest test
209+ if (TARGET f3of_dt2_test)
210+ # Copy test data to the output directory
211+ file (COPY ${CMAKE_CURRENT_SOURCE_DIR} /data DESTINATION ${CMAKE_BINARY_DIR} /tests/regression/Release )
212+
213+ add_test (
214+ NAME f3of_dt2_regression
215+ COMMAND ${F3OF_RELEASE_DIR} /f3of_dt2_test.exe ${HYDROCHRONO_DATA_DIR} --nogui
216+ )
217+
218+ set_tests_properties (
219+ f3of_dt2_regression
220+ PROPERTIES
221+ LABELS "regression;f3of;dt2;decay;core"
222+ FIXTURES_SETUP f3of_dt2_regression_file
223+ WORKING_DIRECTORY ${F3OF_RELEASE_DIR}
224+ ENVIRONMENT "${TEST_ENVIRONMENT} "
225+ )
226+
227+ # Reference comparison test - use the new centralized reference data location
228+ set (FILE_RST ${F3OF_RESULTS_DIR} /CHRONO_F3OF_DT2_PITCH.txt)
229+ set (FILE_REF ${CMAKE_SOURCE_DIR} /tests/regression/reference_data/f3of/dt2/hydrochrono_f3of_dt2_pitch.txt)
230+
231+ add_test (
232+ NAME f3of_dt2_regression_ref
233+ COMMAND python ${CMAKE_SOURCE_DIR} /tests/regression/f3of/compare_dt2.py
234+ )
235+
236+ set_tests_properties (
237+ f3of_dt2_regression_ref
238+ PROPERTIES
239+ LABELS "regression;f3of;dt2;decay;reference;core"
240+ FIXTURES_REQUIRED f3of_dt2_regression_file
241+ WORKING_DIRECTORY ${F3OF_RELEASE_DIR}
242+ ENVIRONMENT "PATH=${Python3_ROOT_DIR} ;$ENV{PATH} ;HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
243+ )
244+ endif ()
245+
246+ # F3OF DT3 Regression Test
247+ # ========================
248+
249+ # Create executable in model-based directory
250+ add_executable (f3of_dt3_test )
251+
92252# Use model-based source and let simulation create results automatically
93253set_target_properties (f3of_dt3_test
94254 PROPERTIES
@@ -146,7 +306,7 @@ if(TARGET f3of_dt3_test)
146306
147307 # Reference comparison test - use the new centralized reference data location
148308 set (FILE_RST ${F3OF_RESULTS_DIR} /f3of_dt3.txt)
149- set (FILE_REF ${CMAKE_SOURCE_DIR} /tests/regression/reference_data/f3of/dt3/f3of_dt3_hc_data .txt)
309+ set (FILE_REF ${CMAKE_SOURCE_DIR} /tests/regression/reference_data/f3of/dt3/hydrochrono_f3of_dt3_flap_pitch .txt)
150310
151311 add_test (
152312 NAME f3of_dt3_regression_ref
0 commit comments