xref: /aosp_15_r20/external/brotli/tests/run-roundtrip-test.cmake (revision f4ee7fba7774faf2a30f13154332c0a06550dbc4)
1*f4ee7fbaSAndroid Build Coastguard Workerset(ENV{QEMU_LD_PREFIX} "${BROTLI_WRAPPER_LD_PREFIX}")
2*f4ee7fbaSAndroid Build Coastguard Worker
3*f4ee7fbaSAndroid Build Coastguard Workerexecute_process(
4*f4ee7fbaSAndroid Build Coastguard Worker  WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
5*f4ee7fbaSAndroid Build Coastguard Worker  COMMAND ${BROTLI_WRAPPER} ${BROTLI_CLI} --force --quality=${QUALITY} ${INPUT} --output=${OUTPUT}.br
6*f4ee7fbaSAndroid Build Coastguard Worker  RESULT_VARIABLE result
7*f4ee7fbaSAndroid Build Coastguard Worker  ERROR_VARIABLE result_stderr)
8*f4ee7fbaSAndroid Build Coastguard Workerif(result)
9*f4ee7fbaSAndroid Build Coastguard Worker  message(FATAL_ERROR "Compression failed: ${result_stderr}")
10*f4ee7fbaSAndroid Build Coastguard Workerendif()
11*f4ee7fbaSAndroid Build Coastguard Worker
12*f4ee7fbaSAndroid Build Coastguard Workerexecute_process(
13*f4ee7fbaSAndroid Build Coastguard Worker  WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
14*f4ee7fbaSAndroid Build Coastguard Worker  COMMAND ${BROTLI_WRAPPER} ${BROTLI_CLI} --force --decompress ${OUTPUT}.br --output=${OUTPUT}.unbr
15*f4ee7fbaSAndroid Build Coastguard Worker  RESULT_VARIABLE result)
16*f4ee7fbaSAndroid Build Coastguard Workerif(result)
17*f4ee7fbaSAndroid Build Coastguard Worker  message(FATAL_ERROR "Decompression failed")
18*f4ee7fbaSAndroid Build Coastguard Workerendif()
19*f4ee7fbaSAndroid Build Coastguard Worker
20*f4ee7fbaSAndroid Build Coastguard Workerfunction(test_file_equality f1 f2)
21*f4ee7fbaSAndroid Build Coastguard Worker  if(NOT CMAKE_VERSION VERSION_LESS 2.8.7)
22*f4ee7fbaSAndroid Build Coastguard Worker    file(SHA512 "${f1}" f1_cs)
23*f4ee7fbaSAndroid Build Coastguard Worker    file(SHA512 "${f2}" f2_cs)
24*f4ee7fbaSAndroid Build Coastguard Worker    if(NOT "${f1_cs}" STREQUAL "${f2_cs}")
25*f4ee7fbaSAndroid Build Coastguard Worker      message(FATAL_ERROR "Files do not match")
26*f4ee7fbaSAndroid Build Coastguard Worker    endif()
27*f4ee7fbaSAndroid Build Coastguard Worker  else()
28*f4ee7fbaSAndroid Build Coastguard Worker    file(READ "${f1}" f1_contents)
29*f4ee7fbaSAndroid Build Coastguard Worker    file(READ "${f2}" f2_contents)
30*f4ee7fbaSAndroid Build Coastguard Worker    if(NOT "${f1_contents}" STREQUAL "${f2_contents}")
31*f4ee7fbaSAndroid Build Coastguard Worker      message(FATAL_ERROR "Files do not match")
32*f4ee7fbaSAndroid Build Coastguard Worker    endif()
33*f4ee7fbaSAndroid Build Coastguard Worker  endif()
34*f4ee7fbaSAndroid Build Coastguard Workerendfunction()
35*f4ee7fbaSAndroid Build Coastguard Worker
36*f4ee7fbaSAndroid Build Coastguard Workertest_file_equality("${INPUT}" "${OUTPUT}.unbr")
37