LIEF/tests/pe/CMakeLists.txt
2021-01-16 09:44:51 +01:00

93 lines
2.6 KiB
CMake

cmake_minimum_required(VERSION 3.1)
include(ExternalProject)
# Examples tests
# ==============
if (LIEF_EXAMPLES)
file(GLOB_RECURSE SAMPLES_PE
"${LIEF_SAMPLES_DIRECTORY}/PE/*.exe"
"${LIEF_SAMPLES_DIRECTORY}/PE/*.dll")
foreach(PE_PATH ${SAMPLES_PE})
get_filename_component(PE_NAME ${PE_PATH} NAME)
# PE Reader
add_test(
NAME EXAMPLES_CPP_pe_reader_${PE_NAME}
COMMAND ${LIEF_EXAMPLES_BINARY_DIR}/cpp/pe_reader
${PE_PATH})
if (LIEF_C_API)
add_test(
NAME EXAMPLES_C_pe_reader_${PE_NAME}
COMMAND ${LIEF_EXAMPLES_BINARY_DIR}/c/pe_reader
${PE_PATH})
endif()
if (PYTHON_TESTS_ENABLED)
ADD_PYTHON_TEST(EXAMPLE_PYTHON_pe_reader_${PE_NAME}
${PYTHON_EXECUTABLE}
"${LIEF_EXAMPLES_DIRECTORY}/python/pe_reader.py --all \
${PE_PATH}")
endif()
endforeach()
endif()
# Python tests
# ============
if (PYTHON_TESTS_ENABLED)
ADD_PYTHON_TEST(EXAMPLE_PYTHON_pe_reader_kernel32
${PYTHON_EXECUTABLE}
"${LIEF_EXAMPLES_DIRECTORY}/python/pe_reader.py \
${LIEF_SAMPLES_DIRECTORY}/PE/PE32_x86_library_kernel32.dll")
ADD_PYTHON_TEST(PE_PYTHON_pe
${PYTHON_EXECUTABLE}
"${CMAKE_CURRENT_SOURCE_DIR}/test_pe.py")
ADD_PYTHON_TEST(PE_PYTHON_hooking
${PYTHON_EXECUTABLE}
"${CMAKE_CURRENT_SOURCE_DIR}/test_hooking.py")
ADD_PYTHON_TEST(PE_PYTHON_resources
${PYTHON_EXECUTABLE}
"${CMAKE_CURRENT_SOURCE_DIR}/test_resources.py")
ADD_PYTHON_TEST(PE_PYTHON_imphash
${PYTHON_EXECUTABLE}
"${CMAKE_CURRENT_SOURCE_DIR}/test_imphash.py")
ADD_PYTHON_TEST(PE_PYTHON_builder
${PYTHON_EXECUTABLE}
"${CMAKE_CURRENT_SOURCE_DIR}/test_builder.py")
ADD_PYTHON_TEST(PE_PYTHON_load_configuration
${PYTHON_EXECUTABLE}
"${CMAKE_CURRENT_SOURCE_DIR}/test_loadconfig.py")
ADD_PYTHON_TEST(PE_PYTHON_forwarded_exports
${PYTHON_EXECUTABLE}
"${CMAKE_CURRENT_SOURCE_DIR}/test_forward_information.py")
ADD_PYTHON_TEST(PE_PYTHON_authenticode
${PYTHON_EXECUTABLE}
"${CMAKE_CURRENT_SOURCE_DIR}/test_authenticode.py")
ADD_PYTHON_TEST(EXAMPLE_PYTHON_pe_authenticode_reader
${PYTHON_EXECUTABLE}
"${LIEF_EXAMPLES_DIRECTORY}/python/authenticode/authenticode_reader.py \
--all --crt --hash --check --allow-expired --save test.p7b \
${LIEF_SAMPLES_DIRECTORY}/PE/PE32_x86-64_binary_avast-free-antivirus-setup-online.exe")
ADD_PYTHON_TEST(EXAMPLE_PYTHON_pe_authenticode_api
${PYTHON_EXECUTABLE}
"${LIEF_EXAMPLES_DIRECTORY}/python/authenticode/api_example.py \
${LIEF_SAMPLES_DIRECTORY}/PE/PE32_x86-64_binary_avast-free-antivirus-setup-online.exe")
endif()