@@ -75,6 +75,90 @@ if(TARGET sphere_decay_test)
7575 LABELS "regression;sphere;decay;reference;core"
7676 FIXTURES_REQUIRED sphere_decay_regression_file
7777 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} /tests/regression/sphere
78- ENVIRONMENT "PATH=${Python3_ROOT_DIR} ;$ENV{PATH} "
78+ ENVIRONMENT "PATH=${Python3_ROOT_DIR} ;$ENV{PATH} ;HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
79+ )
80+ endif ()
81+
82+ # F3OF DT3 Regression Test
83+ # ========================
84+
85+ # Create executable in model-based directory
86+ add_executable (f3of_dt3_test )
87+
88+ set (F3OF_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} /f3of)
89+ set (F3OF_RELEASE_DIR ${CMAKE_BINARY_DIR} /tests/regression/Release/f3of)
90+ set (F3OF_RESULTS_DIR ${F3OF_RELEASE_DIR} /results)
91+
92+ # Use model-based source and let simulation create results automatically
93+ set_target_properties (f3of_dt3_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_dt3_test
102+ PRIVATE
103+ ${F3OF_SRC_DIR} /f3of_dt3_test.cpp
104+ )
105+
106+ if (HYDROCHRONO_ENABLE_IRRLICHT)
107+ target_compile_definitions (f3of_dt3_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_dt3_test
116+ PRIVATE
117+ ${CMAKE_CURRENT_SOURCE_DIR} /../../../../src
118+ ${CMAKE_CURRENT_SOURCE_DIR} /../../../../src/gui
119+ )
120+
121+ target_link_libraries (
122+ f3of_dt3_test
123+ PRIVATE
124+ HydroChrono
125+ HydroChronoGUI
126+ )
127+
128+ # Register as CTest test
129+ if (TARGET f3of_dt3_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_dt3_regression
135+ COMMAND ${F3OF_RELEASE_DIR} /f3of_dt3_test.exe ${HYDROCHRONO_DATA_DIR} --nogui
136+ )
137+
138+ set_tests_properties (
139+ f3of_dt3_regression
140+ PROPERTIES
141+ LABELS "regression;f3of;dt3;decay;core"
142+ FIXTURES_SETUP f3of_dt3_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} /f3of_dt3.txt)
149+ set (FILE_REF ${CMAKE_SOURCE_DIR} /tests/regression/reference_data/f3of/dt3/f3of_dt3_hc_data.txt)
150+
151+ add_test (
152+ NAME f3of_dt3_regression_ref
153+ COMMAND python compare.py ${FILE_REF} ${FILE_RST}
154+ )
155+
156+ set_tests_properties (
157+ f3of_dt3_regression_ref
158+ PROPERTIES
159+ LABELS "regression;f3of;dt3;decay;reference;core"
160+ FIXTURES_REQUIRED f3of_dt3_regression_file
161+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} /tests/regression/f3of
162+ ENVIRONMENT "PATH=${Python3_ROOT_DIR} ;$ENV{PATH} ;HYDROCHRONO_BUILD_DIR=${CMAKE_BINARY_DIR} "
79163 )
80164endif ()
0 commit comments