diff --git a/Tests/RunCMake/CommandLineTar/pax-zstd.cmake b/Tests/RunCMake/CommandLineTar/pax-zstd.cmake index c2a304d809..323b93a698 100644 --- a/Tests/RunCMake/CommandLineTar/pax-zstd.cmake +++ b/Tests/RunCMake/CommandLineTar/pax-zstd.cmake @@ -7,4 +7,5 @@ set(DECOMPRESSION_FLAGS xvf) include(${CMAKE_CURRENT_LIST_DIR}/roundtrip.cmake) -check_magic("28b52ffd0058" LIMIT 6 HEX) +# libarchive 3.8.2 enables a checksum feature; older versions do not. +check_magic("^28b52ffd0[04]58$" LIMIT 6 HEX) diff --git a/Tests/RunCMake/CommandLineTar/roundtrip.cmake b/Tests/RunCMake/CommandLineTar/roundtrip.cmake index fa63d1240d..a6311ea6f6 100644 --- a/Tests/RunCMake/CommandLineTar/roundtrip.cmake +++ b/Tests/RunCMake/CommandLineTar/roundtrip.cmake @@ -86,6 +86,10 @@ function(check_magic EXPECTED) ${ARGN} ) + if(EXPECTED MATCHES "[^0-9a-f]" AND ACTUAL MATCHES "${EXPECTED}") + return() + endif() + if(NOT ACTUAL STREQUAL EXPECTED) message(FATAL_ERROR "Actual [${ACTUAL}] does not match expected [${EXPECTED}]") diff --git a/Tests/RunCMake/File_Archive/pax-zstd.cmake b/Tests/RunCMake/File_Archive/pax-zstd.cmake index ba3036ead9..c52e21c67c 100644 --- a/Tests/RunCMake/File_Archive/pax-zstd.cmake +++ b/Tests/RunCMake/File_Archive/pax-zstd.cmake @@ -5,4 +5,5 @@ set(COMPRESSION_TYPE Zstd) include(${CMAKE_CURRENT_LIST_DIR}/roundtrip.cmake) -check_magic("28b52ffd0058" LIMIT 6 HEX) +# libarchive 3.8.2 enables a checksum feature; older versions do not. +check_magic("^28b52ffd0[04]58$" LIMIT 6 HEX) diff --git a/Tests/RunCMake/File_Archive/roundtrip.cmake b/Tests/RunCMake/File_Archive/roundtrip.cmake index bb9b25b34f..fa6c841dbd 100644 --- a/Tests/RunCMake/File_Archive/roundtrip.cmake +++ b/Tests/RunCMake/File_Archive/roundtrip.cmake @@ -86,6 +86,10 @@ function(check_magic EXPECTED) ${ARGN} ) + if(EXPECTED MATCHES "[^0-9a-f]" AND ACTUAL MATCHES "${EXPECTED}") + return() + endif() + if(NOT ACTUAL STREQUAL EXPECTED) message(FATAL_ERROR "Actual [${ACTUAL}] does not match expected [${EXPECTED}]")