path: |
${{ matrix.build-dir || '.' }}/CMakeFiles/CMakeOutput.log
${{ matrix.build-dir || '.' }}/CMakeFiles/CMakeError.log
+ ${{ matrix.build-dir || '.' }}/Testing/Temporary/*.log
+ ${{ matrix.build-dir || '.' }}/test/**/*.diff
+ ${{ matrix.build-dir || '.' }}/test/**/*.hex
+ ${{ matrix.build-dir || '.' }}/test/**/*.gz*
+ ${{ matrix.build-dir || '.' }}/test/**/*.out
retention-days: 30
get_filename_component(OUTPUT_DIR "${OUTPUT_BASE}" DIRECTORY)
file(MAKE_DIRECTORY "${OUTPUT_DIR}")
+# Cleanup temporary files
macro(cleanup)
- # Cleanup temporary files
- file(REMOVE
- ${OUTPUT_BASE}.gz
- ${OUTPUT_BASE}.out
- ${OUTPUT_BASE}.gzip
- ${OUTPUT_BASE}.gzip.gz
- ${OUTPUT_BASE}.gzip.out)
+ if(NOT DEFINED ENV{CI})
+ file(REMOVE
+ ${OUTPUT_BASE}.gz
+ ${OUTPUT_BASE}.out
+ ${OUTPUT_BASE}.gzip
+ ${OUTPUT_BASE}.gzip.gz
+ ${OUTPUT_BASE}.gzip.out)
+ endif()
+endmacro()
+
+# Show differences between two files
+macro(diff src1 src2)
+ find_program(XXD xxd)
+ if(XXD)
+ find_program(DIFF diff)
+ if(DIFF)
+ set(XXD_COMMAND ${XXD} ${src1} ${src1}.hex)
+ execute_process(COMMAND ${XXD_COMMAND})
+ set(XXD_COMMAND ${XXD} ${src2} ${src2}.hex)
+ execute_process(COMMAND ${XXD_COMMAND})
+
+ set(DIFF_COMMAND ${DIFF} -u ${src1}.hex ${src2}.hex)
+ execute_process(COMMAND ${DIFF_COMMAND}
+ OUTPUT_FILE ${src2}.diff)
+
+ file(READ ${src2}.diff DIFF_OUTPUT)
+ message(STATUS ${DIFF_OUTPUT})
+
+ if(NOT DEFINED ENV{CI})
+ file(REMOVE ${src1}.hex ${src2}.hex ${src2}.diff)
+ endif()
+ endif()
+ endif()
endmacro()
# Compress input file
RESULT_VARIABLE CMD_RESULT)
if(CMD_RESULT)
+ diff(${INPUT} ${OUTPUT_BASE}.out)
cleanup()
message(FATAL_ERROR "Compare minigzip decompress failed: ${CMD_RESULT}")
endif()
RESULT_VARIABLE CMD_RESULT)
if(CMD_RESULT)
+ diff(${INPUT} ${OUTPUT_BASE}.gzip.out)
cleanup()
message(FATAL_ERROR "Compare gzip decompress failed: ${CMD_RESULT}")
endif()
RESULT_VARIABLE CMD_RESULT)
if(CMD_RESULT)
+ diff(${INPUT} ${OUTPUT_BASE}.gzip)
cleanup()
message(FATAL_ERROR "Compare decompress gzip failed: ${CMD_RESULT}")
endif()