Use glob instead of explicit list for test cases.
Following a suggestion by Boaz Stolk in #227.
diff --git a/regress/CMakeLists.txt b/regress/CMakeLists.txt
index 844d9ae..3f5b543 100644
--- a/regress/CMakeLists.txt
+++ b/regress/CMakeLists.txt
@@ -76,154 +76,6 @@
manyfiles.zip
)
-set(EXTRA_TESTS
- add_dir.test
- add_from_buffer.test
- add_from_file.test
- add_from_file_duplicate.test
- add_from_file_twice_duplicate.test
- add_from_file_unchange.test
- add_from_filep.test
- add_from_stdin.test
- add_from_zip_closed.test
- add_from_zip_deflated.test
- add_from_zip_deflated2.test
- add_from_zip_partial_deflated.test
- add_from_zip_partial_stored.test
- add_from_zip_stored.test
- add_stored.test
- add_stored_in_memory.test
- buffer-fragment-read.test
- buffer-fragment-write.test
- cancel_45.test
- cancel_90.test
- clone-buffer-add.test
- clone-buffer-delete.test
- clone-buffer-replace.test
- clone-fs-add.test
- clone-fs-delete.test
- clone-fs-replace.test
- cm-default.test
- count_entries.test
- decrypt-correct-password-aes128.test
- decrypt-correct-password-aes192.test
- decrypt-correct-password-aes256.test
- decrypt-correct-password-pkware.test
- decrypt-correct-password-pkware-2.test
- decrypt-no-password-aes256.test
- decrypt-wrong-password-aes128.test
- decrypt-wrong-password-aes192.test
- decrypt-wrong-password-aes256.test
- decrypt-wrong-password-pkware.test
- decrypt-wrong-password-pkware-2.test
- delete_add_same.test
- delete_invalid.test
- delete_last.test
- delete_multiple_last.test
- delete_multiple_partial.test
- delete_renamed_rename.test
- encrypt.test
- encryption-nonrandom-aes128.test
- encryption-nonrandom-aes192.test
- encryption-nonrandom-aes256.test
- encryption-nonrandom-pkware.test
- encryption-remove.test
- encryption-stat.test
- extra_add.test
- extra_add_multiple.test
- extra_count.test
- extra_count_by_id.test
- extra_count_ignore_zip64.test
- extra_delete.test
- extra_delete_by_id.test
- extra_field_align.test
- extra_get.test
- extra_get_by_id.test
- extra_set.test
- extra_set_modify_c.test
- extra_set_modify_l.test
- fdopen_ok.test
- file_comment_encmismatch.test
- fopen_unchanged.test
- fread.test
- fseek_deflated.test
- fseek_fail.test
- fseek_ok.test
- get_comment.test
- junk_at_end.test
- junk_at_start.test
- name_locate.test
- open_cons_extrabytes.test
- open_empty.test
- open_empty_2.test
- open_extrabytes.test
- open_file_count.test
- open_filename_duplicate.test
- open_filename_duplicate_consistency.test
- open_filename_duplicate_empty.test
- open_filename_duplicate_empty_consistency.test
- open_filename_empty.test
- open_incons.test
- open_many_fail.test
- open_many_ok.test
- open_multidisk.test
- open_new_but_exists.test
- open_new_ok.test
- open_nonarchive.test
- open_nosuchfile.test
- open_ok.test
- open_too_short.test
- open_truncate.test
- open_zip64_3mf.test
- open_zip64_ok.test
- preload.test
- progress.test
- rename_ascii.test
- rename_cp437.test
- rename_deleted.test
- rename_fail.test
- rename_ok.test
- rename_utf8.test
- rename_utf8_encmismatch.test
- set_comment_all.test
- set_comment_localonly.test
- set_comment_removeglobal.test
- set_comment_revert.test
- set_compression_bzip2_to_deflate.test
- set_compression_deflate_to_bzip2.test
- set_compression_deflate_to_deflate.test
- set_compression_deflate_to_store.test
- set_compression_lzma_to_store.test
- set_compression_lzma_no_eos_to_store.test
- set_compression_store_to_bzip2.test
- set_compression_store_to_deflate.test
- set_compression_store_to_lzma.test
- set_compression_store_to_store.test
- set_compression_store_to_xz.test
- set_compression_store_to_zstd.test
- set_compression_unknown.test
- set_compression_xz_to_store.test
- set_compression_zstd_to_store.test
- set_file_dostime.test
- set_file_mtime.test
- stat_index_cp437_guess.test
- stat_index_cp437_raw.test
- stat_index_cp437_strict.test
- stat_index_fileorder.test
- stat_index_streamed.test
- stat_index_streamed_zip64.test
- stat_index_utf8_guess.test
- stat_index_utf8_raw.test
- stat_index_utf8_strict.test
- stat_index_utf8_unmarked_strict.test
- stat_index_zip64.test
- utf-8-standardization.test
- zip-in-archive-comment.test
- zip64_creation.test
- zip64_stored_creation.test
-)
-
-
set(path "$<TARGET_FILE_DIR:zip>;$ENV{PATH}")
if (TARGET zlib)
set(path "$<TARGET_FILE_DIR:zlib>;${path}")
@@ -232,7 +84,9 @@
set(ENV{srcdir} ${PROJECT_SOURCE_DIR}/regress)
-foreach(CASE IN LISTS EXTRA_TESTS)
+file(GLOB EXTRA_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/*.test)
+foreach(FULL_CASE IN LISTS EXTRA_TESTS)
+ get_filename_component(CASE ${FULL_CASE} NAME)
add_test(NAME ${CASE} COMMAND ${PERL_EXECUTABLE} ${PROJECT_BINARY_DIR}/regress/runtest -v --bin-sub-directory $<CONFIG> ${PROJECT_SOURCE_DIR}/regress/${CASE})
set_tests_properties(${CASE} PROPERTIES SKIP_RETURN_CODE 77)
set_tests_properties(${CASE} PROPERTIES ENVIRONMENT "PATH=${path}")