+ gost_omac.c
+ gost_omac_acpkm.c
+ )
+
+add_executable(test_digest test_digest.c)
+target_link_libraries(test_digest gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY})
+add_test(NAME digest
+ COMMAND test_digest)
+
+add_executable(test_curves test_curves.c)
+target_link_libraries(test_curves gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY})
+add_test(NAME curves
+ COMMAND test_curves)
+
+add_executable(test_params test_params.c)
+target_link_libraries(test_params gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY})
+add_test(NAME parameters
+ COMMAND test_params)
+
+add_executable(test_sign test_sign.c)
+target_link_libraries(test_sign gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY})
+add_test(NAME sign/verify
+ COMMAND test_sign)
+
+add_executable(test_tls test_tls.c)
+target_link_libraries(test_tls gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_SSL_LIBRARY})
+add_test(NAME TLS
+ COMMAND test_tls)
+
+add_executable(test_context test_context.c)
+target_link_libraries(test_context gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY})
+add_test(NAME context
+ COMMAND test_context)
+
+add_executable(test_grasshopper test_grasshopper.c)
+target_link_libraries(test_grasshopper gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY})
+add_test(NAME grasshopper
+ COMMAND test_grasshopper)
+
+add_executable(test_keyexpimp test_keyexpimp.c)
+#target_compile_definitions(test_keyexpimp PUBLIC -DOPENSSL_LOAD_CONF)
+target_link_libraries(test_keyexpimp gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY})
+add_test(NAME keyexpimp
+ COMMAND test_keyexpimp)
+
+add_executable(test_gost89 test_gost89.c)
+target_link_libraries(test_gost89 gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY})
+add_test(NAME gost89
+ COMMAND test_gost89)
+
+if(NOT ASAN)
+add_test(NAME engine
+ COMMAND perl run_tests
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/test)
+set_tests_properties(engine PROPERTIES ENVIRONMENT
+ "OPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR};OPENSSL_ENGINES=${OUTPUT_DIRECTORY}")
+endif()
+
+add_executable(sign benchmark/sign.c)
+target_link_libraries(sign gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY} ${CLOCK_GETTIME_LIB})
+
+# All that may need to load just built engine will have path to it defined.
+set(BINARY_TESTS_TARGETS
+ test_digest
+ test_curves
+ test_params
+ test_sign
+ test_context
+ test_grasshopper
+ test_keyexpimp
+ test_gost89
+ test_tls