@@ -160,37 +160,37 @@ if ( ENABLE_TESTS )
160
160
161
161
find_program ( JSONLINT jsonlint )
162
162
find_program ( DIFF diff )
163
- set ( DATA_DIR ${CMAKE_BINARY_DIR} /files )
164
- configure_file ( ${CMAKE_SOURCE_DIR} /files/test1.json ${DATA_DIR} /test1.json COPYONLY )
165
- configure_file ( ${CMAKE_SOURCE_DIR} /files/test5.json ${DATA_DIR} /test5.json COPYONLY )
166
- configure_file ( ${CMAKE_SOURCE_DIR} /files/invalid.json ${DATA_DIR} /invalid.json COPYONLY )
167
- configure_file ( ${CMAKE_SOURCE_DIR} /files/invalid2.json ${DATA_DIR} /invalid2.json COPYONLY )
168
- configure_file ( ${CMAKE_SOURCE_DIR} /files/big.json ${DATA_DIR} /big.json COPYONLY )
169
- configure_file ( ${CMAKE_SOURCE_DIR} /files/random1.json ${DATA_DIR} /random1.json COPYONLY )
163
+ file ( COPY "${CMAKE_SOURCE_DIR} /files"
164
+ DESTINATION "${CMAKE_BINARY_DIR} /" )
165
+
166
+ set ( DATA_DIR "${CMAKE_BINARY_DIR} /files" )
170
167
171
168
set_directory_properties ( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
172
169
"${DATA_DIR} /test2.json;${DATA_DIR} /test4.json" )
173
170
174
171
# Validate input
175
172
if ( JSONLINT )
176
- add_test ( NAME validate-input1
177
- WORKING_DIRECTORY ${DATA_DIR}
178
- COMMAND ${JSONLINT} test1.json )
179
- add_test ( NAME validate-input5
180
- WORKING_DIRECTORY ${DATA_DIR}
181
- COMMAND ${JSONLINT} test5.json )
182
- add_test ( NAME validate-invalid
183
- WORKING_DIRECTORY ${DATA_DIR}
184
- COMMAND ${JSONLINT} invalid.json )
185
- set_property ( TEST validate-invalid
186
- PROPERTY
187
- WILL_FAIL TRUE )
188
- add_test ( NAME validate-invalid2
189
- WORKING_DIRECTORY ${DATA_DIR}
190
- COMMAND ${JSONLINT} invalid2.json )
191
- set_property ( TEST validate-invalid2
192
- PROPERTY
193
- WILL_FAIL TRUE )
173
+ file ( GLOB JSON_INPUTS "${DATA_DIR} /inputs/*.json" )
174
+ file ( GLOB INVALID_JSON "${DATA_DIR} /inputs/*invalid*.json" )
175
+
176
+ list ( REMOVE_ITEM JSON_INPUTS ${INVALID_JSON} )
177
+
178
+ foreach ( VALID_JSON ${JSON_INPUTS} )
179
+ get_filename_component ( TESTNAME "${VALID_JSON} " NAME )
180
+ add_test ( NAME validate-${TESTNAME}
181
+ WORKING_DIRECTORY "${DATA_DIR} /inputs"
182
+ COMMAND ${JSONLINT} "${VALID_JSON} " )
183
+ endforeach ()
184
+
185
+ foreach ( INVALID ${INVALID_JSON} )
186
+ get_filename_component ( TESTNAME "${INVALID} " NAME )
187
+ add_test ( NAME validate-${TESTNAME}
188
+ WORKING_DIRECTORY "${DATA_DIR} /inputs"
189
+ COMMAND ${JSONLINT} "${INVALID} " )
190
+ set_property ( TEST validate-${TESTNAME}
191
+ PROPERTY
192
+ WILL_FAIL TRUE )
193
+ endforeach ()
194
194
endif ()
195
195
196
196
set ( UNIT_TESTS '' )
@@ -218,27 +218,28 @@ if ( ENABLE_TESTS )
218
218
219
219
# Validate output
220
220
if ( JSONLINT )
221
- file ( GLOB JSON_FILES "${DATA_DIR} /test *.json" )
221
+ file ( GLOB JSON_FILES "${DATA_DIR} /*.json" )
222
222
foreach ( JSON_FILE ${JSON_FILES} )
223
- get_filename_component ( JSON_STEM ${JSON_FILE} NAME_WE )
224
- add_test ( NAME validate-output-${JSON_STEM}.json
225
- WORKING_DIRECTORY ${DATA_DIR}
226
- COMMAND ${JSONLINT} ${JSON_STEM} .json )
227
- set_property ( TEST validate-output-${JSON_STEM}.json
223
+ get_filename_component ( TESTNAME ${JSON_FILE} NAME )
224
+ add_test ( NAME validate-output-${TESTNAME}
225
+ WORKING_DIRECTORY " ${DATA_DIR} "
226
+ COMMAND ${JSONLINT} ${TESTNAME} )
227
+ set_property ( TEST validate-output-${TESTNAME}
228
228
APPEND
229
229
PROPERTY
230
230
DEPENDS ${UNIT_TESTS}
231
231
REQUIRED_FILES ${JSON_FILES} )
232
232
endforeach ( JSON_FILE )
233
233
endif ()
234
+
234
235
# Check output for differences
235
236
if ( DIFF )
236
- file ( GLOB JSON_FILES "${DATA_DIR} /test *.json" )
237
+ file ( GLOB JSON_FILES "${DATA_DIR} /*.json" )
237
238
foreach ( JSON_FILE ${JSON_FILES} )
238
239
get_filename_component ( JSON_STEM ${JSON_FILE} NAME_WE )
239
240
add_test ( NAME regression-${JSON_STEM}.json
240
- WORKING_DIRECTORY ${DATA_DIR}
241
- COMMAND ${DIFF} -q ${JSON_STEM} .json ${CMAKE_SOURCE_DIR} /files /${JSON_STEM}.json )
241
+ WORKING_DIRECTORY " ${DATA_DIR} "
242
+ COMMAND ${DIFF} -q ${JSON_STEM} .json expected-outputs /${JSON_STEM}.json )
242
243
set_property ( TEST regression-${JSON_STEM}.json
243
244
APPEND
244
245
PROPERTY
0 commit comments