@@ -79,7 +79,9 @@ function(cppfront_command_tests)
79
79
${COMMAND_ERROR_IS_FATAL}
80
80
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR} "
81
81
)
82
+ set_tests_properties ("codegen/${test_name} " PROPERTIES FIXTURES_SETUP "codegen/${test_name} " )
82
83
84
+ unset (build_test_depends)
83
85
if (CPPFRONT_DEVELOPING)
84
86
add_test (
85
87
NAME "codegen/update/${test_name} "
@@ -107,23 +109,24 @@ function(cppfront_command_tests)
107
109
string (REPLACE "*" "\\ *" expected_output "${expected_output} " )
108
110
string (REPLACE "?" "\\ ?" expected_output "${expected_output} " )
109
111
110
- set_tests_properties (
111
- "codegen/${test_name} "
112
- PROPERTIES
113
- FIXTURES_SETUP "codegen/${test_name} "
114
- PASS_REGULAR_EXPRESSION "^${expected_output} $"
115
- )
112
+ set_tests_properties ("codegen/${test_name} " PROPERTIES PASS_REGULAR_EXPRESSION "^${expected_output} $" )
116
113
endif ()
117
114
118
- if (ARG_EXPECTED_FILE)
115
+ if (EXISTS " ${ ARG_EXPECTED_FILE} " )
119
116
configure_file ("${ARG_EXPECTED_FILE} " "${gen_cpp_src} .original" COPYONLY )
120
117
cppfront_add_check_test(
121
118
NAME "codegen/check/${test_name} "
122
119
NEW_FILE "${gen_cpp_src} "
123
120
OLD_FILE "${gen_cpp_src} .original"
124
121
FIXTURES_REQUIRED "codegen/${test_name} "
125
122
)
123
+ list (APPEND build_test_depends "codegen/check/${test_name} " )
124
+ elseif (CPPFRONT_DEVELOPING)
125
+ # Trigger regeneration to add the `check` tests for newly added results.
126
+ file (GLOB unused CONFIGURE_DEPENDS "${ARG_EXPECTED_FILE} " )
127
+ endif ()
126
128
129
+ if (DEFINED build_test_depends AND DEFINED gen_cpp_src)
127
130
cppfront_build_tests(
128
131
SOURCE ${ARG_SOURCE}
129
132
EXTRA_FLAGS ${ARG_EXTRA_FLAGS}
@@ -160,7 +163,7 @@ function(cppfront_build_tests)
160
163
set_tests_properties (
161
164
"build/${test_name} "
162
165
PROPERTIES
163
- DEPENDS "${build_test_depends} ;codegen/check/ ${test_name} "
166
+ DEPENDS "${build_test_depends} "
164
167
FIXTURES_SETUP "build/${test_name} "
165
168
)
166
169
@@ -237,10 +240,6 @@ function(cppfront_tests)
237
240
cmake_path(REPLACE_EXTENSION src "cpp" OUTPUT_VARIABLE expected_file)
238
241
set (expected_file "${TEST_RESULTS_DIR} /${expected_file} " )
239
242
240
- if (NOT EXISTS "${expected_file} " )
241
- set (expected_file "" )
242
- endif ()
243
-
244
243
cppfront_command_tests(
245
244
SOURCE ${src}
246
245
EXPECTED_FILE ${expected_file}
0 commit comments