if(PINTOOL AND ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    enable_testing()

    set(TRITON_SCRIPT ${CMAKE_BINARY_DIR}/triton)

    #add_test(PinToolCheckSemantic ${TRITON_SCRIPT} ${CMAKE_CURRENT_SOURCE_DIR}/check_semantics.py ${CMAKE_SOURCE_DIR}/src/samples/ir_test_suite/ir)
    #add_test(PinToolCheckSemanticQemu ${TRITON_SCRIPT} ${CMAKE_CURRENT_SOURCE_DIR}/qemu-test-x86_64.py ${CMAKE_SOURCE_DIR}/src/samples/ir_test_suite/qemu-test-x86_64)
    add_test(PinToolAstDict ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/ast_dictionaries.py ${CMAKE_SOURCE_DIR}/src/samples/crackmes/crackme_xor elite)
    add_test(PinToolBlackList ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/blacklist.py ${CMAKE_SOURCE_DIR}/src/samples/crackmes/crackme_xor a)
    add_test(PinToolCallBackImage ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/callback_image.py ${CMAKE_SOURCE_DIR}/src/samples/ir_test_suite/ir)
    add_test(PinToolCallBackRoutine ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/callback_routine.py ${CMAKE_SOURCE_DIR}/src/samples/vulns/testSuite)
    add_test(PinToolCallBackSyscall ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/callback_syscall.py ${CMAKE_SOURCE_DIR}/src/samples/crackmes/crackme_xor a)
    add_test(PinToolCrackMeHashCollision ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/crackme_hash_collision.py ${CMAKE_SOURCE_DIR}/src/samples/crackmes/crackme_hash aaaaa)
    add_test(PinToolInjectModelWithSnapShot ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/inject_model_with_snapshot.py ${CMAKE_SOURCE_DIR}/src/samples/crackmes/crackme_xor a)
    add_test(PinToolIr ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/ir.py ${CMAKE_SOURCE_DIR}/src/samples/crackmes/crackme_xor a)
    add_test(PinToolRuntimeMemoryTainting ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/runtime_memory_tainting.py ${CMAKE_SOURCE_DIR}/src/samples/crackmes/crackme_xor a)
    add_test(PinToolRuntimeRegisterModification ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/runtime_register_modification.py ${CMAKE_SOURCE_DIR}/src/samples/crackmes/crackme_xor a)
    add_test(PinToolStrLen ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/strlen.py ${CMAKE_SOURCE_DIR}/src/samples/others/strlen 1)
    add_test(PinToolSymOnlyOnTainted ${TRITON_SCRIPT} ${CMAKE_SOURCE_DIR}/src/examples/pin/sym_only_on_tainted.py ${CMAKE_SOURCE_DIR}/src/samples/crackmes/crackme_xor a)
endif()
