Skip to content

Commit cb0a142

Browse files
committed
fix(test): add non-check tests when developing
Test results will be updated, so make the tests use those results without a reconfiguration in-between. Also, trigger reconfiguration to add the `check` tests.
1 parent 369aa23 commit cb0a142

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

regression-tests/CMakeLists.txt

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ function(cppfront_command_tests)
7979
${COMMAND_ERROR_IS_FATAL}
8080
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
8181
)
82+
set_tests_properties("codegen/${test_name}" PROPERTIES FIXTURES_SETUP "codegen/${test_name}")
8283

84+
unset(build_test_depends)
8385
if (CPPFRONT_DEVELOPING)
8486
add_test(
8587
NAME "codegen/update/${test_name}"
@@ -107,23 +109,24 @@ function(cppfront_command_tests)
107109
string(REPLACE "*" "\\*" expected_output "${expected_output}")
108110
string(REPLACE "?" "\\?" expected_output "${expected_output}")
109111

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}$")
116113
endif ()
117114

118-
if (ARG_EXPECTED_FILE)
115+
if (EXISTS "${ARG_EXPECTED_FILE}")
119116
configure_file("${ARG_EXPECTED_FILE}" "${gen_cpp_src}.original" COPYONLY)
120117
cppfront_add_check_test(
121118
NAME "codegen/check/${test_name}"
122119
NEW_FILE "${gen_cpp_src}"
123120
OLD_FILE "${gen_cpp_src}.original"
124121
FIXTURES_REQUIRED "codegen/${test_name}"
125122
)
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 ()
126128

129+
if (DEFINED build_test_depends AND DEFINED gen_cpp_src)
127130
cppfront_build_tests(
128131
SOURCE ${ARG_SOURCE}
129132
EXTRA_FLAGS ${ARG_EXTRA_FLAGS}
@@ -160,7 +163,7 @@ function(cppfront_build_tests)
160163
set_tests_properties(
161164
"build/${test_name}"
162165
PROPERTIES
163-
DEPENDS "${build_test_depends};codegen/check/${test_name}"
166+
DEPENDS "${build_test_depends}"
164167
FIXTURES_SETUP "build/${test_name}"
165168
)
166169

@@ -237,10 +240,6 @@ function(cppfront_tests)
237240
cmake_path(REPLACE_EXTENSION src "cpp" OUTPUT_VARIABLE expected_file)
238241
set(expected_file "${TEST_RESULTS_DIR}/${expected_file}")
239242

240-
if (NOT EXISTS "${expected_file}")
241-
set(expected_file "")
242-
endif ()
243-
244243
cppfront_command_tests(
245244
SOURCE ${src}
246245
EXPECTED_FILE ${expected_file}

0 commit comments

Comments
 (0)