uringmachine 0.16 → 0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +3 -0
  3. data/.gitmodules +4 -0
  4. data/CHANGELOG.md +8 -0
  5. data/TODO.md +12 -3
  6. data/examples/bm_send.rb +86 -0
  7. data/ext/um/um.c +28 -1
  8. data/ext/um/um.h +3 -0
  9. data/ext/um/um_class.c +17 -0
  10. data/ext/um/um_utils.c +38 -15
  11. data/lib/uringmachine/version.rb +1 -1
  12. data/test/test_um.rb +76 -0
  13. data/vendor/libressl/.github/scripts/changelog.sh +74 -0
  14. data/vendor/libressl/.github/workflows/android.yml +35 -0
  15. data/vendor/libressl/.github/workflows/cifuzz.yml +33 -0
  16. data/vendor/libressl/.github/workflows/cmake-config.yml +98 -0
  17. data/vendor/libressl/.github/workflows/coverity.yml +69 -0
  18. data/vendor/libressl/.github/workflows/emscripten.yml +71 -0
  19. data/vendor/libressl/.github/workflows/fedora-rawhide.yml +39 -0
  20. data/vendor/libressl/.github/workflows/freebsd.yml +71 -0
  21. data/vendor/libressl/.github/workflows/linux.yml +71 -0
  22. data/vendor/libressl/.github/workflows/macos.yml +37 -0
  23. data/vendor/libressl/.github/workflows/release.yml +81 -0
  24. data/vendor/libressl/.github/workflows/rust-openssl.yml +47 -0
  25. data/vendor/libressl/.github/workflows/solaris.yml +37 -0
  26. data/vendor/libressl/.github/workflows/windows.yml +70 -0
  27. data/vendor/libressl/.gitignore +333 -0
  28. data/vendor/libressl/CMakeLists.txt +581 -0
  29. data/vendor/libressl/COPYING +133 -0
  30. data/vendor/libressl/ChangeLog +3280 -0
  31. data/vendor/libressl/FindLibreSSL.cmake +232 -0
  32. data/vendor/libressl/LibreSSLConfig.cmake.in +36 -0
  33. data/vendor/libressl/Makefile.am +60 -0
  34. data/vendor/libressl/Makefile.am.common +20 -0
  35. data/vendor/libressl/OPENBSD_BRANCH +1 -0
  36. data/vendor/libressl/README.md +238 -0
  37. data/vendor/libressl/README.mingw.md +43 -0
  38. data/vendor/libressl/apps/CMakeLists.txt +18 -0
  39. data/vendor/libressl/apps/Makefile.am +5 -0
  40. data/vendor/libressl/apps/nc/CMakeLists.txt +67 -0
  41. data/vendor/libressl/apps/nc/Makefile.am +64 -0
  42. data/vendor/libressl/apps/nc/compat/accept4.c +17 -0
  43. data/vendor/libressl/apps/nc/compat/readpassphrase.c +205 -0
  44. data/vendor/libressl/apps/nc/compat/socket.c +29 -0
  45. data/vendor/libressl/apps/nc/compat/sys/socket.h +30 -0
  46. data/vendor/libressl/apps/ocspcheck/CMakeLists.txt +44 -0
  47. data/vendor/libressl/apps/ocspcheck/Makefile.am +45 -0
  48. data/vendor/libressl/apps/ocspcheck/compat/.gitignore +0 -0
  49. data/vendor/libressl/apps/openssl/CMakeLists.txt +97 -0
  50. data/vendor/libressl/apps/openssl/Makefile.am +108 -0
  51. data/vendor/libressl/apps/openssl/apps_win.c +138 -0
  52. data/vendor/libressl/apps/openssl/certhash_win.c +13 -0
  53. data/vendor/libressl/apps/openssl/compat/clock_gettime_osx.c +26 -0
  54. data/vendor/libressl/apps/openssl/compat/poll_win.c +329 -0
  55. data/vendor/libressl/appveyor.yml +53 -0
  56. data/vendor/libressl/autogen.sh +15 -0
  57. data/vendor/libressl/check-release.sh +86 -0
  58. data/vendor/libressl/cmake_export_symbol.cmake +71 -0
  59. data/vendor/libressl/cmake_uninstall.cmake.in +36 -0
  60. data/vendor/libressl/config +17 -0
  61. data/vendor/libressl/configure.ac +165 -0
  62. data/vendor/libressl/crypto/CMakeLists.txt +863 -0
  63. data/vendor/libressl/crypto/Makefile.am +962 -0
  64. data/vendor/libressl/crypto/Makefile.am.arc4random +46 -0
  65. data/vendor/libressl/crypto/Makefile.am.elf-mips +14 -0
  66. data/vendor/libressl/crypto/Makefile.am.elf-mips64 +14 -0
  67. data/vendor/libressl/crypto/Makefile.am.elf-x86_64 +35 -0
  68. data/vendor/libressl/crypto/Makefile.am.macosx-x86_64 +35 -0
  69. data/vendor/libressl/crypto/Makefile.am.masm-x86_64 +22 -0
  70. data/vendor/libressl/crypto/Makefile.am.mingw64-x86_64 +23 -0
  71. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_darwin.c +60 -0
  72. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_linux.c +62 -0
  73. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_none.c +26 -0
  74. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_windows.c +36 -0
  75. data/vendor/libressl/crypto/arch/loongarch64/crypto_arch.h +21 -0
  76. data/vendor/libressl/crypto/arch/mips/crypto_arch.h +21 -0
  77. data/vendor/libressl/crypto/bn/arch/loongarch64/bn_arch.h +23 -0
  78. data/vendor/libressl/crypto/bn/arch/mips/bn_arch.h +24 -0
  79. data/vendor/libressl/crypto/compat/.gitignore +31 -0
  80. data/vendor/libressl/crypto/compat/arc4random.h +41 -0
  81. data/vendor/libressl/crypto/compat/b_win.c +55 -0
  82. data/vendor/libressl/crypto/compat/bsd-asprintf.c +96 -0
  83. data/vendor/libressl/crypto/compat/crypto_lock_win.c +56 -0
  84. data/vendor/libressl/crypto/compat/explicit_bzero_win.c +13 -0
  85. data/vendor/libressl/crypto/compat/freezero.c +32 -0
  86. data/vendor/libressl/crypto/compat/getdelim.c +78 -0
  87. data/vendor/libressl/crypto/compat/getline.c +40 -0
  88. data/vendor/libressl/crypto/compat/getopt_long.c +528 -0
  89. data/vendor/libressl/crypto/compat/getpagesize.c +18 -0
  90. data/vendor/libressl/crypto/compat/getprogname_linux.c +23 -0
  91. data/vendor/libressl/crypto/compat/getprogname_unimpl.c +7 -0
  92. data/vendor/libressl/crypto/compat/getprogname_windows.c +13 -0
  93. data/vendor/libressl/crypto/compat/posix_win.c +296 -0
  94. data/vendor/libressl/crypto/compat/syslog_r.c +19 -0
  95. data/vendor/libressl/crypto/compat/ui_openssl_win.c +334 -0
  96. data/vendor/libressl/dist.sh +22 -0
  97. data/vendor/libressl/gen-coverage-report.sh +58 -0
  98. data/vendor/libressl/gen-openbsd-tags.sh +20 -0
  99. data/vendor/libressl/include/CMakeLists.txt +61 -0
  100. data/vendor/libressl/include/Makefile.am +79 -0
  101. data/vendor/libressl/include/arch/loongarch64/opensslconf.h +150 -0
  102. data/vendor/libressl/include/arch/mips/opensslconf.h +150 -0
  103. data/vendor/libressl/include/compat/arpa/inet.h +15 -0
  104. data/vendor/libressl/include/compat/arpa/nameser.h +25 -0
  105. data/vendor/libressl/include/compat/cet.h +19 -0
  106. data/vendor/libressl/include/compat/dirent.h +17 -0
  107. data/vendor/libressl/include/compat/dirent_msvc.h +611 -0
  108. data/vendor/libressl/include/compat/endian.h +161 -0
  109. data/vendor/libressl/include/compat/err.h +95 -0
  110. data/vendor/libressl/include/compat/fcntl.h +32 -0
  111. data/vendor/libressl/include/compat/getopt.h +50 -0
  112. data/vendor/libressl/include/compat/limits.h +25 -0
  113. data/vendor/libressl/include/compat/netdb.h +10 -0
  114. data/vendor/libressl/include/compat/netinet/in.h +19 -0
  115. data/vendor/libressl/include/compat/netinet/ip.h +49 -0
  116. data/vendor/libressl/include/compat/netinet/tcp.h +10 -0
  117. data/vendor/libressl/include/compat/poll.h +63 -0
  118. data/vendor/libressl/include/compat/pthread.h +122 -0
  119. data/vendor/libressl/include/compat/readpassphrase.h +44 -0
  120. data/vendor/libressl/include/compat/resolv.h +24 -0
  121. data/vendor/libressl/include/compat/stdint.h +31 -0
  122. data/vendor/libressl/include/compat/stdio.h +65 -0
  123. data/vendor/libressl/include/compat/stdlib.h +57 -0
  124. data/vendor/libressl/include/compat/string.h +98 -0
  125. data/vendor/libressl/include/compat/sys/_null.h +18 -0
  126. data/vendor/libressl/include/compat/sys/ioctl.h +11 -0
  127. data/vendor/libressl/include/compat/sys/mman.h +19 -0
  128. data/vendor/libressl/include/compat/sys/param.h +15 -0
  129. data/vendor/libressl/include/compat/sys/queue.h +536 -0
  130. data/vendor/libressl/include/compat/sys/select.h +10 -0
  131. data/vendor/libressl/include/compat/sys/socket.h +18 -0
  132. data/vendor/libressl/include/compat/sys/stat.h +129 -0
  133. data/vendor/libressl/include/compat/sys/time.h +37 -0
  134. data/vendor/libressl/include/compat/sys/tree.h +1006 -0
  135. data/vendor/libressl/include/compat/sys/types.h +69 -0
  136. data/vendor/libressl/include/compat/sys/uio.h +17 -0
  137. data/vendor/libressl/include/compat/syslog.h +38 -0
  138. data/vendor/libressl/include/compat/time.h +59 -0
  139. data/vendor/libressl/include/compat/unistd.h +83 -0
  140. data/vendor/libressl/include/compat/win32netcompat.h +57 -0
  141. data/vendor/libressl/include/openssl/Makefile.am.tpl +45 -0
  142. data/vendor/libressl/libcrypto.pc.in +28 -0
  143. data/vendor/libressl/libressl.pub +2 -0
  144. data/vendor/libressl/libssl.pc.in +28 -0
  145. data/vendor/libressl/libtls.pc.in +28 -0
  146. data/vendor/libressl/m4/ax_add_fortify_source.m4 +80 -0
  147. data/vendor/libressl/m4/ax_check_compile_flag.m4 +53 -0
  148. data/vendor/libressl/m4/check-hardening-options.m4 +110 -0
  149. data/vendor/libressl/m4/check-libc.m4 +189 -0
  150. data/vendor/libressl/m4/check-os-options.m4 +181 -0
  151. data/vendor/libressl/m4/disable-compiler-warnings.m4 +44 -0
  152. data/vendor/libressl/man/CMakeLists.txt +26 -0
  153. data/vendor/libressl/man/links +2780 -0
  154. data/vendor/libressl/man/update_links.sh +25 -0
  155. data/vendor/libressl/openssl.pc.in +11 -0
  156. data/vendor/libressl/patches/bn_shift.patch +34 -0
  157. data/vendor/libressl/patches/crypto_arch.h.patch +34 -0
  158. data/vendor/libressl/patches/crypto_namespace.h.patch +22 -0
  159. data/vendor/libressl/patches/netcat.c.patch +178 -0
  160. data/vendor/libressl/patches/openssl.c.patch +12 -0
  161. data/vendor/libressl/patches/opensslfeatures.h.patch +49 -0
  162. data/vendor/libressl/patches/patch-amd64-crypto-cpu-caps.c.patch +20 -0
  163. data/vendor/libressl/patches/patch-i386-crypto-cpu-caps.c.patch +20 -0
  164. data/vendor/libressl/patches/speed.c.patch +114 -0
  165. data/vendor/libressl/patches/ssl_namespace.h.patch +21 -0
  166. data/vendor/libressl/patches/tls.h.patch +16 -0
  167. data/vendor/libressl/patches/tls_config.c.patch +15 -0
  168. data/vendor/libressl/patches/win32_amd64_bn_arch.h.patch +28 -0
  169. data/vendor/libressl/patches/windows_headers.patch +80 -0
  170. data/vendor/libressl/scripts/config.guess +1774 -0
  171. data/vendor/libressl/scripts/config.sub +1907 -0
  172. data/vendor/libressl/scripts/i686-w64-mingw32.cmake +9 -0
  173. data/vendor/libressl/scripts/test +210 -0
  174. data/vendor/libressl/scripts/wrap-compiler-for-flag-check +31 -0
  175. data/vendor/libressl/scripts/x86_64-w64-mingw32.cmake +9 -0
  176. data/vendor/libressl/ssl/CMakeLists.txt +183 -0
  177. data/vendor/libressl/ssl/Makefile.am +187 -0
  178. data/vendor/libressl/tests/CMakeLists.txt +970 -0
  179. data/vendor/libressl/tests/Makefile.am +944 -0
  180. data/vendor/libressl/tests/aeadtest.sh +30 -0
  181. data/vendor/libressl/tests/arc4randomforktest.sh +21 -0
  182. data/vendor/libressl/tests/asn1time_small.test +10 -0
  183. data/vendor/libressl/tests/cmake/CMakeLists.txt +52 -0
  184. data/vendor/libressl/tests/cmake/crypto.c +7 -0
  185. data/vendor/libressl/tests/cmake/ssl.c +6 -0
  186. data/vendor/libressl/tests/cmake/tls.c +6 -0
  187. data/vendor/libressl/tests/compat/pipe2.c +186 -0
  188. data/vendor/libressl/tests/dtlstest.sh +28 -0
  189. data/vendor/libressl/tests/evptest.sh +22 -0
  190. data/vendor/libressl/tests/keypairtest.sh +27 -0
  191. data/vendor/libressl/tests/mlkem_tests.sh +39 -0
  192. data/vendor/libressl/tests/ocsptest.bat +25 -0
  193. data/vendor/libressl/tests/ocsptest.sh +23 -0
  194. data/vendor/libressl/tests/openssl.cnf +29 -0
  195. data/vendor/libressl/tests/optionstest.c +381 -0
  196. data/vendor/libressl/tests/pidwraptest.c +85 -0
  197. data/vendor/libressl/tests/pidwraptest.sh +26 -0
  198. data/vendor/libressl/tests/quictest.bat +27 -0
  199. data/vendor/libressl/tests/quictest.sh +30 -0
  200. data/vendor/libressl/tests/renegotiation_test.bat +27 -0
  201. data/vendor/libressl/tests/renegotiation_test.sh +30 -0
  202. data/vendor/libressl/tests/rfc5280time_small.test +10 -0
  203. data/vendor/libressl/tests/servertest.bat +27 -0
  204. data/vendor/libressl/tests/servertest.sh +30 -0
  205. data/vendor/libressl/tests/shutdowntest.bat +27 -0
  206. data/vendor/libressl/tests/shutdowntest.sh +30 -0
  207. data/vendor/libressl/tests/ssltest.bat +32 -0
  208. data/vendor/libressl/tests/ssltest.sh +48 -0
  209. data/vendor/libressl/tests/testdsa.bat +47 -0
  210. data/vendor/libressl/tests/testdsa.sh +57 -0
  211. data/vendor/libressl/tests/testenc.bat +85 -0
  212. data/vendor/libressl/tests/testenc.sh +93 -0
  213. data/vendor/libressl/tests/testrsa.bat +47 -0
  214. data/vendor/libressl/tests/testrsa.sh +57 -0
  215. data/vendor/libressl/tests/testssl.bat +171 -0
  216. data/vendor/libressl/tests/tlstest.bat +27 -0
  217. data/vendor/libressl/tests/tlstest.sh +28 -0
  218. data/vendor/libressl/tls/CMakeLists.txt +125 -0
  219. data/vendor/libressl/tls/Makefile.am +76 -0
  220. data/vendor/libressl/tls/compat/ftruncate.c +17 -0
  221. data/vendor/libressl/tls/compat/pread.c +29 -0
  222. data/vendor/libressl/tls/compat/pwrite.c +29 -0
  223. data/vendor/libressl/update.sh +460 -0
  224. data/vendor/liburing/.github/workflows/ci.yml +8 -0
  225. data/vendor/liburing/configure +23 -2
  226. data/vendor/liburing/examples/helpers.c +1 -1
  227. data/vendor/liburing/examples/helpers.h +1 -1
  228. data/vendor/liburing/examples/reg-wait.c +3 -3
  229. data/vendor/liburing/examples/zcrx.c +5 -5
  230. data/vendor/liburing/liburing.spec +1 -1
  231. data/vendor/liburing/src/include/liburing/io_uring.h +16 -0
  232. data/vendor/liburing/src/include/liburing.h +20 -4
  233. data/vendor/liburing/src/lib.h +2 -4
  234. data/vendor/liburing/src/liburing-ffi.map +7 -0
  235. data/vendor/liburing/src/liburing.map +7 -0
  236. data/vendor/liburing/src/register.c +5 -0
  237. data/vendor/liburing/src/sanitize.c +5 -4
  238. data/vendor/liburing/src/setup.c +43 -28
  239. data/vendor/liburing/test/Makefile +7 -0
  240. data/vendor/liburing/test/cmd-discard.c +2 -2
  241. data/vendor/liburing/test/evfd-short-read.c +84 -0
  242. data/vendor/liburing/test/fdinfo-sqpoll.c +117 -0
  243. data/vendor/liburing/test/fdinfo.c +1 -1
  244. data/vendor/liburing/test/fixed-buf-merge.c +2 -2
  245. data/vendor/liburing/test/futex-kill.c +135 -0
  246. data/vendor/liburing/test/helpers.c +1 -1
  247. data/vendor/liburing/test/helpers.h +1 -1
  248. data/vendor/liburing/test/init-mem.c +50 -12
  249. data/vendor/liburing/test/io_uring_passthrough.c +25 -6
  250. data/vendor/liburing/test/msg-ring.c +123 -9
  251. data/vendor/liburing/test/recv-bundle-short-ooo.c +16 -1
  252. data/vendor/liburing/test/recv-inc-ooo.c +411 -0
  253. data/vendor/liburing/test/recv-mshot-fair.c +513 -0
  254. data/vendor/liburing/test/reg-wait.c +14 -14
  255. data/vendor/liburing/test/send-zerocopy.c +4 -4
  256. data/vendor/liburing/test/timerfd-short-read.c +81 -0
  257. data/vendor/liburing/test/timestamp.c +382 -0
  258. data/vendor/liburing/test/zcrx.c +22 -22
  259. metadata +222 -2
@@ -0,0 +1,970 @@
1
+ #
2
+ # Copyright (c) 2015 Brent Cook
3
+ #
4
+ # Permission to use, copy, modify, and distribute this software for any
5
+ # purpose with or without fee is hereby granted, provided that the above
6
+ # copyright notice and this permission notice appear in all copies.
7
+ #
8
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
+
16
+ add_definitions(-DLIBRESSL_CRYPTO_INTERNAL)
17
+
18
+ include_directories(
19
+ .
20
+ ../crypto/
21
+ ../crypto/asn1
22
+ ../crypto/bio
23
+ ../crypto/bn
24
+ ../crypto/bytestring
25
+ ../crypto/curve25519
26
+ ../crypto/ec
27
+ ../crypto/evp
28
+ ../crypto/mlkem
29
+ ../crypto/modes
30
+ ../crypto/sha
31
+ ../crypto/x509
32
+ ../ssl
33
+ ../apps/openssl
34
+ ../apps/openssl/compat
35
+ ../include
36
+ ${CMAKE_BINARY_DIR}/include
37
+ ../include/compat
38
+ )
39
+
40
+ if(HOST_AARCH64)
41
+ include_directories(../crypto/arch/aarch64/)
42
+ elseif(HOST_ARM)
43
+ include_directories(../crypto/arch/arm/)
44
+ elseif(HOST_I386)
45
+ include_directories(../crypto/arch/i386/)
46
+ elseif(HOST_LOONGARCH64)
47
+ include_directories(../crypto/arch/loongarch64)
48
+ elseif(HOST_MIPS64)
49
+ include_directories(../crypto/arch/mips64)
50
+ elseif(HOST_MIPS)
51
+ include_directories(../crypto/arch/mips)
52
+ elseif(HOST_POWERPC)
53
+ include_directories(../crypto/arch/powerpc)
54
+ elseif(HOST_POWERPC64)
55
+ include_directories(../crypto/arch/powerpc64)
56
+ elseif(HOST_RISCV64)
57
+ include_directories(../crypto/arch/riscv64)
58
+ elseif(HOST_SPARC64)
59
+ include_directories(../crypto/arch/sparc64)
60
+ elseif(HOST_X86_64)
61
+ include_directories(../crypto/arch/amd64)
62
+ endif()
63
+
64
+ add_definitions(-D_PATH_SSL_CA_FILE=\"${CMAKE_CURRENT_SOURCE_DIR}/../cert.pem\")
65
+
66
+ file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} TEST_SOURCE_DIR)
67
+
68
+ function(prepare_emscripten_test_target TARGET_NAME)
69
+ if(EMSCRIPTEN)
70
+ set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS
71
+ "-sALLOW_MEMORY_GROWTH --preload-file ${TEST_SOURCE_DIR} ")
72
+ endif()
73
+ endfunction()
74
+
75
+ function(add_platform_test TEST_NAME)
76
+ if (EMSCRIPTEN)
77
+ add_test(NAME ${TEST_NAME} COMMAND node ${ARGN})
78
+ else()
79
+ add_test(NAME ${TEST_NAME} COMMAND ${ARGN})
80
+ endif()
81
+ endfunction()
82
+
83
+ # XXX - should probably be in their own static lib
84
+ set(TEST_HELPER_SRC test.c test_util.c)
85
+
86
+ # aeadtest
87
+ add_executable(aeadtest aeadtest.c)
88
+ target_link_libraries(aeadtest ${OPENSSL_TEST_LIBS})
89
+ prepare_emscripten_test_target(aeadtest)
90
+ if(NOT WIN32)
91
+ add_test(NAME aeadtest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/aeadtest.sh)
92
+ set_tests_properties(aeadtest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
93
+ else()
94
+ add_platform_test(aeadtest aeadtest aead ${CMAKE_CURRENT_SOURCE_DIR}/aeadtests.txt)
95
+ endif()
96
+
97
+ # aes_test
98
+ add_executable(aes_test aes_test.c)
99
+ target_link_libraries(aes_test ${OPENSSL_TEST_LIBS})
100
+ add_platform_test(aes_test aes_test)
101
+
102
+ # aes_wrap
103
+ add_executable(aes_wrap aes_wrap.c)
104
+ target_link_libraries(aes_wrap ${OPENSSL_TEST_LIBS})
105
+ add_platform_test(aes_wrap aes_wrap)
106
+
107
+ # apitest
108
+ add_executable(apitest apitest.c)
109
+ target_link_libraries(apitest ${OPENSSL_TEST_LIBS})
110
+ set_source_files_properties(apitest.c PROPERTIES COMPILE_FLAGS
111
+ -DCERTSDIR=\\"${CMAKE_CURRENT_SOURCE_DIR}\\")
112
+ prepare_emscripten_test_target(apitest)
113
+ add_platform_test(apitest apitest)
114
+
115
+ # arc4randomforktest
116
+ # Windows/mingw does not have fork, but Cygwin does.
117
+ # Emscripten does not have fork.
118
+ if(NOT (WIN32 OR (CMAKE_SYSTEM_NAME MATCHES "MINGW") OR EMSCRIPTEN))
119
+ add_executable(arc4randomforktest arc4randomforktest.c)
120
+ target_link_libraries(arc4randomforktest ${OPENSSL_TEST_LIBS})
121
+ add_test(arc4randomforktest ${CMAKE_CURRENT_SOURCE_DIR}/arc4randomforktest.sh)
122
+ endif()
123
+
124
+ # asn1api
125
+ add_executable(asn1api asn1api.c)
126
+ target_link_libraries(asn1api ${OPENSSL_TEST_LIBS})
127
+ add_platform_test(asn1api asn1api)
128
+
129
+ # asn1basic
130
+ add_executable(asn1basic asn1basic.c)
131
+ target_link_libraries(asn1basic ${OPENSSL_TEST_LIBS})
132
+ add_platform_test(asn1basic asn1basic)
133
+
134
+ # asn1complex
135
+ add_executable(asn1complex asn1complex.c)
136
+ target_link_libraries(asn1complex ${OPENSSL_TEST_LIBS})
137
+ add_platform_test(asn1complex asn1complex)
138
+
139
+ # asn1evp
140
+ add_executable(asn1evp asn1evp.c)
141
+ target_link_libraries(asn1evp ${OPENSSL_TEST_LIBS})
142
+ add_platform_test(asn1evp asn1evp)
143
+
144
+ # asn1object
145
+ add_executable(asn1object asn1object.c)
146
+ target_link_libraries(asn1object ${OPENSSL_TEST_LIBS})
147
+ add_platform_test(asn1object asn1object)
148
+
149
+ # asn1oct
150
+ add_executable(asn1oct asn1oct.c)
151
+ target_link_libraries(asn1oct ${OPENSSL_TEST_LIBS})
152
+ add_platform_test(asn1oct asn1oct)
153
+
154
+ # asn1string_copy
155
+ add_executable(asn1string_copy asn1string_copy.c)
156
+ target_link_libraries(asn1string_copy ${OPENSSL_TEST_LIBS})
157
+ add_platform_test(asn1string_copy asn1string_copy)
158
+
159
+ # asn1test
160
+ add_executable(asn1test asn1test.c)
161
+ target_link_libraries(asn1test ${OPENSSL_TEST_LIBS})
162
+ add_platform_test(asn1test asn1test)
163
+
164
+ # asn1time
165
+ add_executable(asn1time asn1time.c)
166
+ target_link_libraries(asn1time ${OPENSSL_TEST_LIBS})
167
+ add_platform_test(asn1time asn1time)
168
+ if(SMALL_TIME_T)
169
+ set_property(TEST asn1time PROPERTY WILL_FAIL TRUE)
170
+ endif()
171
+
172
+ # asn1x509
173
+ add_executable(asn1x509 asn1x509.c)
174
+ target_link_libraries(asn1x509 ${OPENSSL_TEST_LIBS})
175
+ prepare_emscripten_test_target(asn1x509)
176
+ add_platform_test(asn1x509 asn1x509)
177
+
178
+ # asn1_string_to_utf8
179
+ add_executable(asn1_string_to_utf8 asn1_string_to_utf8.c)
180
+ target_link_libraries(asn1_string_to_utf8 ${OPENSSL_TEST_LIBS})
181
+ add_platform_test(asn1_string_to_utf8 asn1_string_to_utf8)
182
+
183
+ # base64test
184
+ add_executable(base64test base64test.c)
185
+ target_link_libraries(base64test ${OPENSSL_TEST_LIBS})
186
+ add_platform_test(base64test base64test)
187
+
188
+ # bf_test
189
+ add_executable(bf_test bf_test.c)
190
+ target_link_libraries(bf_test ${OPENSSL_TEST_LIBS})
191
+ add_platform_test(bf_test bf_test)
192
+
193
+ # bio_asn1
194
+ add_executable(bio_asn1 bio_asn1.c)
195
+ target_link_libraries(bio_asn1 ${OPENSSL_TEST_LIBS})
196
+ add_platform_test(bio_asn1 bio_asn1)
197
+
198
+ # bio_chain
199
+ add_executable(bio_chain bio_chain.c)
200
+ target_link_libraries(bio_chain ${OPENSSL_TEST_LIBS})
201
+ add_platform_test(bio_chain bio_chain)
202
+
203
+ # bio_dump
204
+ add_executable(bio_dump bio_dump.c)
205
+ target_link_libraries(bio_dump ${OPENSSL_TEST_LIBS})
206
+ prepare_emscripten_test_target(bio_dump)
207
+ add_platform_test(bio_dump bio_dump)
208
+
209
+ # bio_host
210
+ # this test relies on resolver results that are OS and environment-specific
211
+ if(ENABLE_EXTRATESTS)
212
+ add_executable(bio_host bio_host.c)
213
+ target_link_libraries(bio_host ${OPENSSL_TEST_LIBS})
214
+ add_platform_test(bio_host bio_host)
215
+ endif()
216
+
217
+ # bio_mem
218
+ add_executable(bio_mem bio_mem.c)
219
+ target_link_libraries(bio_mem ${OPENSSL_TEST_LIBS})
220
+ prepare_emscripten_test_target(bio_mem)
221
+ add_platform_test(bio_mem bio_mem)
222
+
223
+ # bn_add_sub
224
+ add_executable(bn_add_sub bn_add_sub.c)
225
+ target_link_libraries(bn_add_sub ${OPENSSL_TEST_LIBS})
226
+ add_platform_test(bn_add_sub bn_add_sub)
227
+
228
+ # bn_bits
229
+ add_executable(bn_bits bn_bits.c)
230
+ target_link_libraries(bn_bits ${OPENSSL_TEST_LIBS})
231
+ add_platform_test(bn_bits bn_bits)
232
+
233
+ # bn_cmp
234
+ add_executable(bn_cmp bn_cmp.c)
235
+ target_link_libraries(bn_cmp ${OPENSSL_TEST_LIBS})
236
+ add_platform_test(bn_cmp bn_cmp)
237
+
238
+ # bn_convert
239
+ add_executable(bn_convert bn_convert.c)
240
+ target_link_libraries(bn_convert ${OPENSSL_TEST_LIBS})
241
+ add_platform_test(bn_convert bn_convert)
242
+
243
+ # bn_gcd
244
+ add_executable(bn_gcd bn_cmp.c)
245
+ target_link_libraries(bn_gcd ${OPENSSL_TEST_LIBS})
246
+ add_platform_test(bn_gcd bn_gcd)
247
+
248
+ # bn_general is a benchmark
249
+
250
+ # bn_isqrt
251
+ add_executable(bn_isqrt bn_isqrt.c)
252
+ target_link_libraries(bn_isqrt ${OPENSSL_TEST_LIBS})
253
+ prepare_emscripten_test_target(bn_isqrt)
254
+ add_platform_test(bn_isqrt bn_isqrt)
255
+
256
+ # bn_mod_exp
257
+ add_executable(bn_mod_exp bn_mod_exp.c)
258
+ set_source_files_properties(bn_mod_exp.c PROPERTIES COMPILE_FLAGS
259
+ -ULIBRESSL_INTERNAL)
260
+ target_link_libraries(bn_mod_exp ${OPENSSL_TEST_LIBS})
261
+ add_platform_test(bn_mod_exp bn_mod_exp)
262
+
263
+ # bn_mod_inverse
264
+ add_executable(bn_mod_inverse bn_mod_inverse.c)
265
+ target_link_libraries(bn_mod_inverse ${OPENSSL_TEST_LIBS})
266
+ add_platform_test(bn_mod_inverse bn_mod_inverse)
267
+
268
+ # bn_mod_sqrt
269
+ add_executable(bn_mod_sqrt bn_mod_sqrt.c)
270
+ target_link_libraries(bn_mod_sqrt ${OPENSSL_TEST_LIBS})
271
+ add_platform_test(bn_mod_sqrt bn_mod_sqrt)
272
+
273
+ # bn_mont
274
+ add_executable(bn_mont bn_mont.c)
275
+ target_link_libraries(bn_mont ${OPENSSL_TEST_LIBS})
276
+ add_platform_test(bn_mont bn_mont)
277
+
278
+ # bn_primes
279
+ add_executable(bn_primes bn_primes.c)
280
+ target_link_libraries(bn_primes ${OPENSSL_TEST_LIBS})
281
+ prepare_emscripten_test_target(bn_primes)
282
+ add_platform_test(bn_primes bn_primes)
283
+
284
+ # bn_print
285
+ add_executable(bn_print bn_print.c)
286
+ target_link_libraries(bn_print ${OPENSSL_TEST_LIBS})
287
+ add_platform_test(bn_print bn_print)
288
+
289
+ # bn_shift
290
+ add_executable(bn_shift bn_shift.c)
291
+ target_link_libraries(bn_shift ${OPENSSL_TEST_LIBS})
292
+ prepare_emscripten_test_target(bn_shift)
293
+ add_platform_test(bn_shift bn_shift)
294
+
295
+ # bn_test
296
+ add_executable(bn_test bn_test.c)
297
+ set_source_files_properties(bn_test.c PROPERTIES COMPILE_FLAGS
298
+ -ULIBRESSL_INTERNAL)
299
+ target_link_libraries(bn_test ${OPENSSL_TEST_LIBS})
300
+ add_platform_test(bn_test bn_test)
301
+
302
+ # bn_to_string
303
+ add_executable(bn_to_string bn_to_string.c)
304
+ target_link_libraries(bn_to_string ${OPENSSL_TEST_LIBS})
305
+ add_platform_test(bn_to_string bn_to_string)
306
+
307
+ # bn_unit
308
+ add_executable(bn_unit bn_unit.c)
309
+ target_link_libraries(bn_unit ${OPENSSL_TEST_LIBS})
310
+ prepare_emscripten_test_target(bn_unit)
311
+ add_platform_test(bn_unit bn_unit)
312
+
313
+ # bn_word
314
+ add_executable(bn_word bn_word.c)
315
+ target_link_libraries(bn_word ${OPENSSL_TEST_LIBS})
316
+ add_platform_test(bn_word bn_word)
317
+
318
+ # buffertest
319
+ add_executable(buffertest buffertest.c)
320
+ target_link_libraries(buffertest ${OPENSSL_TEST_LIBS})
321
+ add_platform_test(buffertest buffertest)
322
+
323
+ # bytestringtest
324
+ add_executable(bytestringtest bytestringtest.c)
325
+ target_link_libraries(bytestringtest ${OPENSSL_TEST_LIBS})
326
+ add_platform_test(bytestringtest bytestringtest)
327
+
328
+ # callback
329
+ # callbackfailures
330
+
331
+ # casttest
332
+ add_executable(casttest casttest.c)
333
+ target_link_libraries(casttest ${OPENSSL_TEST_LIBS})
334
+ add_platform_test(casttest casttest)
335
+
336
+ # chachatest
337
+ add_executable(chachatest chachatest.c)
338
+ target_link_libraries(chachatest ${OPENSSL_TEST_LIBS})
339
+ add_platform_test(chachatest chachatest)
340
+
341
+ # cipher_list
342
+ add_executable(cipher_list cipher_list.c)
343
+ target_link_libraries(cipher_list ${OPENSSL_TEST_LIBS})
344
+ add_platform_test(cipher_list cipher_list)
345
+
346
+ # cipherstest
347
+ add_executable(cipherstest cipherstest.c)
348
+ target_link_libraries(cipherstest ${OPENSSL_TEST_LIBS})
349
+ add_platform_test(cipherstest cipherstest)
350
+
351
+ ## clienttest
352
+ add_executable(clienttest clienttest.c)
353
+ target_link_libraries(clienttest ${OPENSSL_TEST_LIBS})
354
+ add_platform_test(clienttest clienttest)
355
+
356
+ # cmstest
357
+ add_executable(cmstest cmstest.c)
358
+ target_link_libraries(cmstest ${OPENSSL_TEST_LIBS})
359
+ prepare_emscripten_test_target(cmstest)
360
+ add_platform_test(cmstest cmstest)
361
+
362
+ # configtest
363
+ add_executable(configtest configtest.c)
364
+ target_link_libraries(configtest ${LIBTLS_TEST_LIBS})
365
+ add_platform_test(configtest configtest)
366
+
367
+ # constraints
368
+ add_executable(constraints constraints.c)
369
+ target_link_libraries(constraints ${OPENSSL_TEST_LIBS})
370
+ add_platform_test(constraints constraints)
371
+
372
+ # crypto_test
373
+ add_executable(crypto_test crypto_test.c)
374
+ target_link_libraries(crypto_test ${OPENSSL_TEST_LIBS})
375
+ add_platform_test(crypto_test crypto_test)
376
+
377
+ # cttest
378
+ add_executable(cttest cttest.c)
379
+ target_link_libraries(cttest ${OPENSSL_TEST_LIBS})
380
+ set_source_files_properties(cttest.c PROPERTIES COMPILE_FLAGS
381
+ -DCTPATH=\\"${CMAKE_CURRENT_SOURCE_DIR}\\")
382
+ prepare_emscripten_test_target(cttest)
383
+ add_platform_test(cttest cttest)
384
+
385
+ # destest
386
+ add_executable(destest destest.c)
387
+ target_link_libraries(destest ${OPENSSL_TEST_LIBS})
388
+ add_platform_test(destest destest)
389
+
390
+ # dhtest
391
+ add_executable(dhtest dhtest.c)
392
+ target_link_libraries(dhtest ${OPENSSL_TEST_LIBS})
393
+ add_platform_test(dhtest dhtest)
394
+
395
+ # dsatest
396
+ add_executable(dsatest dsatest.c)
397
+ target_link_libraries(dsatest ${OPENSSL_TEST_LIBS})
398
+ add_platform_test(dsatest dsatest)
399
+
400
+ # XXX This test is too flaky for CI. Disable it until it is fixed.
401
+ # # dtlstest
402
+ # if(NOT WIN32)
403
+ # add_executable(dtlstest dtlstest.c)
404
+ # target_link_libraries(dtlstest ${OPENSSL_TEST_LIBS})
405
+ # add_test(NAME dtlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/dtlstest.sh)
406
+ # set_tests_properties(dtlstest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
407
+ # endif()
408
+
409
+ # ecc_cdh
410
+ add_executable(ecc_cdh ecc_cdh.c)
411
+ target_link_libraries(ecc_cdh ${OPENSSL_TEST_LIBS})
412
+ add_platform_test(ecc_cdh ecc_cdh)
413
+
414
+ # ec_asn1_test
415
+ add_executable(ec_asn1_test ec_asn1_test.c)
416
+ target_link_libraries(ec_asn1_test ${OPENSSL_TEST_LIBS})
417
+ prepare_emscripten_test_target(ec_asn1_test)
418
+ add_platform_test(ec_asn1_test ec_asn1_test)
419
+
420
+ # ec_point_conversion
421
+ add_executable(ec_point_conversion ec_point_conversion.c)
422
+ target_link_libraries(ec_point_conversion ${OPENSSL_TEST_LIBS})
423
+ prepare_emscripten_test_target(ec_point_conversion)
424
+ add_platform_test(ec_point_conversion ec_point_conversion)
425
+
426
+ # ecdhtest
427
+ add_executable(ecdhtest ecdhtest.c)
428
+ target_link_libraries(ecdhtest ${OPENSSL_TEST_LIBS})
429
+ add_platform_test(ecdhtest ecdhtest)
430
+
431
+ # ecdsatest
432
+ add_executable(ecdsatest ecdsatest.c)
433
+ target_link_libraries(ecdsatest ${OPENSSL_TEST_LIBS})
434
+ add_platform_test(ecdsatest ecdsatest)
435
+
436
+ # ectest
437
+ add_executable(ectest ectest.c)
438
+ target_link_libraries(ectest ${OPENSSL_TEST_LIBS})
439
+ add_platform_test(ectest ectest)
440
+
441
+ # ed25519test
442
+ add_executable(ed25519test ed25519test.c)
443
+ target_link_libraries(ed25519test ${OPENSSL_TEST_LIBS})
444
+ add_platform_test(ed25519test ed25519test)
445
+
446
+ # err_test
447
+ add_executable(err_test err_test.c)
448
+ target_link_libraries(err_test ${OPENSSL_TEST_LIBS})
449
+ add_platform_test(err_test err_test)
450
+
451
+ # evp_ecx_test
452
+ add_executable(evp_ecx_test evp_ecx_test.c)
453
+ target_link_libraries(evp_ecx_test ${OPENSSL_TEST_LIBS})
454
+ add_platform_test(evp_ecx_test evp_ecx_test)
455
+
456
+ # evp_pkey_cleanup
457
+ add_executable(evp_pkey_cleanup evp_pkey_cleanup.c)
458
+ target_link_libraries(evp_pkey_cleanup ${OPENSSL_TEST_LIBS})
459
+ add_platform_test(evp_pkey_cleanup evp_pkey_cleanup)
460
+
461
+ # evptest
462
+ add_executable(evptest evptest.c)
463
+ target_link_libraries(evptest ${OPENSSL_TEST_LIBS})
464
+ prepare_emscripten_test_target(evptest)
465
+ add_platform_test(evptest evptest ${CMAKE_CURRENT_SOURCE_DIR}/evptests.txt)
466
+
467
+ # evp_test
468
+ add_executable(evp_test evp_test.c)
469
+ target_link_libraries(evp_test ${OPENSSL_TEST_LIBS})
470
+ add_platform_test(evp_test evp_test)
471
+
472
+ # exdata_test
473
+ add_executable(exdata_test exdata_test.c)
474
+ target_link_libraries(exdata_test ${OPENSSL_TEST_LIBS})
475
+ add_platform_test(exdata_test exdata_test)
476
+
477
+ # expirecallback.c
478
+
479
+ # explicit_bzero
480
+ # SA_ONSTACK is unavailable on Windows, sigsuspend is unavailable on Emscripten
481
+ if(NOT (WIN32 OR EMSCRIPTEN))
482
+ if(HAVE_MEMMEM)
483
+ add_executable(explicit_bzero explicit_bzero.c)
484
+ else()
485
+ add_executable(explicit_bzero explicit_bzero.c compat/memmem.c)
486
+ endif()
487
+ target_link_libraries(explicit_bzero ${OPENSSL_TEST_LIBS})
488
+ add_test(explicit_bzero explicit_bzero)
489
+ endif()
490
+
491
+ # exportertest
492
+ add_executable(exportertest exportertest.c)
493
+ target_link_libraries(exportertest ${OPENSSL_TEST_LIBS})
494
+ add_platform_test(exportertest exportertest)
495
+
496
+ # freenull
497
+ add_executable(freenull freenull.c)
498
+ set_source_files_properties(freenull.c PROPERTIES COMPILE_FLAGS
499
+ -ULIBRESSL_INTERNAL)
500
+ target_link_libraries(freenull ${OPENSSL_TEST_LIBS})
501
+ add_platform_test(freenull freenull)
502
+
503
+ # gcm128test
504
+ add_executable(gcm128test gcm128test.c)
505
+ target_link_libraries(gcm128test ${OPENSSL_TEST_LIBS})
506
+ add_platform_test(gcm128test gcm128test)
507
+
508
+ # handshake_table
509
+ add_executable(handshake_table handshake_table.c)
510
+ target_link_libraries(handshake_table ${OPENSSL_TEST_LIBS})
511
+ add_platform_test(handshake_table handshake_table)
512
+
513
+ # hkdf_test
514
+ add_executable(hkdf_test hkdf_test.c)
515
+ target_link_libraries(hkdf_test ${OPENSSL_TEST_LIBS})
516
+ add_platform_test(hkdf_test hkdf_test)
517
+
518
+ # hmactest
519
+ add_executable(hmactest hmactest.c)
520
+ target_link_libraries(hmactest ${OPENSSL_TEST_LIBS})
521
+ add_platform_test(hmactest hmactest)
522
+
523
+ # ideatest
524
+ add_executable(ideatest ideatest.c)
525
+ target_link_libraries(ideatest ${OPENSSL_TEST_LIBS})
526
+ add_platform_test(ideatest ideatest)
527
+
528
+ # igetest
529
+ add_executable(igetest igetest.c)
530
+ target_link_libraries(igetest ${OPENSSL_TEST_LIBS})
531
+ add_platform_test(igetest igetest)
532
+
533
+ # init_pledge
534
+
535
+ # key_schedule
536
+ add_executable(key_schedule key_schedule.c)
537
+ target_link_libraries(key_schedule ${OPENSSL_TEST_LIBS})
538
+ add_platform_test(key_schedule key_schedule)
539
+
540
+ # keypair
541
+ add_executable(keypairtest keypairtest.c)
542
+ target_link_libraries(keypairtest ${LIBTLS_TEST_LIBS})
543
+ target_include_directories(keypairtest BEFORE PUBLIC ../tls)
544
+ prepare_emscripten_test_target(keypairtest)
545
+ add_platform_test(keypairtest keypairtest
546
+ ${CMAKE_CURRENT_SOURCE_DIR}/ca-root-rsa.pem
547
+ ${CMAKE_CURRENT_SOURCE_DIR}/server1-rsa.pem
548
+ ${CMAKE_CURRENT_SOURCE_DIR}/server1-rsa.pem)
549
+
550
+ # lhash_test
551
+ add_executable(lhash_test lhash_test.c)
552
+ target_link_libraries(lhash_test ${OPENSSL_TEST_LIBS})
553
+ prepare_emscripten_test_target(lhash_test)
554
+ add_platform_test(lhash_test lhash_test)
555
+
556
+ # md_test
557
+ # XXX - ftruncate and mkstemp missing from Windows
558
+ if(NOT WIN32)
559
+ add_executable(md_test md_test.c ${TEST_HELPER_SRC})
560
+ target_link_libraries(md_test ${OPENSSL_TEST_LIBS})
561
+ add_platform_test(md_test md_test)
562
+ endif()
563
+
564
+ # mlkem_tests
565
+ add_executable(mlkem_tests mlkem_tests.c mlkem_tests_util.c parse_test_file.c)
566
+ target_link_libraries(mlkem_tests ${OPENSSL_TEST_LIBS})
567
+ prepare_emscripten_test_target(mlkem_tests)
568
+ if(NOT WIN32)
569
+ add_test(NAME mlkem_tests COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mlkem_tests.sh)
570
+ set_tests_properties(mlkem_tests PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
571
+ endif()
572
+ # XXX - add tests for Windows
573
+
574
+ # mlkem_iteration_tests
575
+ add_executable(mlkem_iteration_tests mlkem_iteration_tests.c mlkem_tests_util.c)
576
+ target_link_libraries(mlkem_iteration_tests ${OPENSSL_TEST_LIBS})
577
+ prepare_emscripten_test_target(mlkem_iteration_tests)
578
+ add_platform_test(mlkem_iteration_tests mlkem_iteration_tests)
579
+
580
+ # mlkem_unittest
581
+ add_executable(mlkem_unittest mlkem_unittest.c mlkem_tests_util.c)
582
+ target_link_libraries(mlkem_unittest ${OPENSSL_TEST_LIBS})
583
+ prepare_emscripten_test_target(mlkem_unittest)
584
+ add_platform_test(mlkem_unittest mlkem_unittest)
585
+
586
+ # objectstest
587
+ add_executable(objectstest objectstest.c)
588
+ target_link_libraries(objectstest ${OPENSSL_TEST_LIBS})
589
+ add_platform_test(objectstest objectstest)
590
+
591
+ # ocsp_test
592
+ if(ENABLE_EXTRATESTS)
593
+ add_executable(ocsp_test ocsp_test.c)
594
+ target_link_libraries(ocsp_test ${OPENSSL_TEST_LIBS})
595
+ if(NOT WIN32)
596
+ add_test(NAME ocsptest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ocsptest.sh)
597
+ else()
598
+ add_test(NAME ocsptest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ocsptest.bat $<TARGET_FILE:ocsp_test>)
599
+ endif()
600
+ endif()
601
+
602
+ # optionstest
603
+ add_executable(optionstest optionstest.c)
604
+ target_link_libraries(optionstest ${OPENSSL_TEST_LIBS})
605
+ add_platform_test(optionstest optionstest)
606
+
607
+ # pbkdf2
608
+ add_executable(pbkdf2 pbkdf2.c)
609
+ target_link_libraries(pbkdf2 ${OPENSSL_TEST_LIBS})
610
+ prepare_emscripten_test_target(pbkdf2)
611
+ add_platform_test(pbkdf2 pbkdf2)
612
+
613
+ # pidwraptest
614
+ # pidwraptest relies on an OS-specific way to give out pids and is generally
615
+ # awkward on systems with slow fork
616
+ if(ENABLE_EXTRATESTS AND NOT MSVC)
617
+ add_executable(pidwraptest pidwraptest.c)
618
+ target_link_libraries(pidwraptest ${OPENSSL_TEST_LIBS})
619
+ add_test(pidwraptest ${CMAKE_CURRENT_SOURCE_DIR}/pidwraptest.sh)
620
+ endif()
621
+
622
+ # pkcs7test
623
+ add_executable(pkcs7test pkcs7test.c)
624
+ target_link_libraries(pkcs7test ${OPENSSL_TEST_LIBS})
625
+ prepare_emscripten_test_target(pkcs7test)
626
+ add_platform_test(pkcs7test pkcs7test)
627
+
628
+ # poly1305test
629
+ add_executable(poly1305test poly1305test.c)
630
+ target_link_libraries(poly1305test ${OPENSSL_TEST_LIBS})
631
+ add_platform_test(poly1305test poly1305test)
632
+
633
+ # policy
634
+ add_executable(policy policy.c)
635
+ set_source_files_properties(policy.c PROPERTIES COMPILE_FLAGS
636
+ -DCERTSDIR=\\"${CMAKE_CURRENT_SOURCE_DIR}\\")
637
+ target_link_libraries(policy ${OPENSSL_TEST_LIBS})
638
+ prepare_emscripten_test_target(policy)
639
+ add_platform_test(policy policy)
640
+
641
+ # pq_test
642
+ add_executable(pq_test pq_test.c)
643
+ target_link_libraries(pq_test ${OPENSSL_TEST_LIBS})
644
+ add_platform_test(pq_test pq_test)
645
+
646
+ # quictest
647
+ set(QUICTEST_SRC quictest.c)
648
+ add_executable(quictest ${QUICTEST_SRC})
649
+ target_link_libraries(quictest ${OPENSSL_TEST_LIBS})
650
+ prepare_emscripten_test_target(quictest)
651
+ if(NOT WIN32)
652
+ add_test(NAME quictest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/quictest.sh)
653
+ else()
654
+ add_test(NAME quictest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/quictest.bat $<TARGET_FILE:quictest>)
655
+ endif()
656
+ set_tests_properties(quictest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
657
+
658
+ # randtest
659
+ add_executable(randtest randtest.c)
660
+ target_link_libraries(randtest ${OPENSSL_TEST_LIBS})
661
+ add_platform_test(randtest randtest)
662
+
663
+ # rc2_test
664
+ add_executable(rc2_test rc2_test.c)
665
+ target_link_libraries(rc2_test ${OPENSSL_TEST_LIBS})
666
+ add_platform_test(rc2_test rc2_test)
667
+
668
+ # rc4_test
669
+ add_executable(rc4_test rc4_test.c)
670
+ target_link_libraries(rc4_test ${OPENSSL_TEST_LIBS})
671
+ add_platform_test(rc4_test rc4_test)
672
+
673
+ # recordtest
674
+ add_executable(recordtest recordtest.c)
675
+ target_link_libraries(recordtest ${OPENSSL_TEST_LIBS})
676
+ add_platform_test(recordtest recordtest)
677
+
678
+ # record_layer_test
679
+ add_executable(record_layer_test record_layer_test.c)
680
+ target_link_libraries(record_layer_test ${OPENSSL_TEST_LIBS})
681
+ add_platform_test(record_layer_test record_layer_test)
682
+
683
+ # renegotiation_test
684
+ set(RENEGOTIATION_TEST_SRC renegotiation_test.c)
685
+ add_executable(renegotiation_test ${RENEGOTIATION_TEST_SRC})
686
+ target_link_libraries(renegotiation_test ${OPENSSL_TEST_LIBS})
687
+ prepare_emscripten_test_target(renegotiation_test)
688
+ if(NOT MSVC)
689
+ add_test(NAME renegotiation_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/renegotiation_test.sh)
690
+ else()
691
+ add_test(NAME renegotiation_test COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/renegotiation_test.bat $<TARGET_FILE:renegotiation_test>)
692
+ endif()
693
+ set_tests_properties(renegotiation_test PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
694
+
695
+ # rfc3779
696
+ add_executable(rfc3779 rfc3779.c)
697
+ target_link_libraries(rfc3779 ${OPENSSL_TEST_LIBS})
698
+ add_platform_test(rfc3779 rfc3779)
699
+
700
+ # rfc5280time
701
+ add_executable(rfc5280time rfc5280time.c)
702
+ target_link_libraries(rfc5280time ${OPENSSL_TEST_LIBS})
703
+ add_platform_test(rfc5280time rfc5280time)
704
+ if(SMALL_TIME_T)
705
+ set_property(TEST rfc5280time PROPERTY WILL_FAIL TRUE)
706
+ endif()
707
+
708
+ # rmd_test
709
+ add_executable(rmd_test rmd_test.c)
710
+ target_link_libraries(rmd_test ${OPENSSL_TEST_LIBS})
711
+ add_platform_test(rmd_test rmd_test)
712
+
713
+ # rsa_method_test
714
+ add_executable(rsa_method_test rsa_method_test.c)
715
+ target_link_libraries(rsa_method_test ${OPENSSL_TEST_LIBS})
716
+ add_platform_test(rsa_method_test rsa_method_test)
717
+
718
+ # rsa_padding_test
719
+ add_executable(rsa_padding_test rsa_padding_test.c)
720
+ target_link_libraries(rsa_padding_test ${OPENSSL_TEST_LIBS})
721
+ add_platform_test(rsa_padding_test rsa_padding_test)
722
+
723
+ # rsa_test
724
+ add_executable(rsa_test rsa_test.c)
725
+ target_link_libraries(rsa_test ${OPENSSL_TEST_LIBS})
726
+ add_platform_test(rsa_test rsa_test)
727
+
728
+ # server.c
729
+
730
+ # servertest
731
+ add_executable(servertest servertest.c)
732
+ target_link_libraries(servertest ${OPENSSL_TEST_LIBS})
733
+ prepare_emscripten_test_target(servertest)
734
+ if(NOT WIN32)
735
+ add_test(NAME servertest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/servertest.sh)
736
+ else()
737
+ add_test(NAME servertest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/servertest.bat $<TARGET_FILE:servertest>)
738
+ endif()
739
+ set_tests_properties(servertest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
740
+
741
+ # sha_test
742
+ # XXX - ftruncate and mkstemp missing from Windows
743
+ if(NOT WIN32)
744
+ add_executable(sha_test sha_test.c ${TEST_HELPER_SRC})
745
+ target_link_libraries(sha_test ${OPENSSL_TEST_LIBS})
746
+ add_platform_test(sha_test sha_test)
747
+ endif()
748
+
749
+ # shutdowntest
750
+ set(SHUTDOWNTEST_SRC shutdowntest.c)
751
+ add_executable(shutdowntest ${SHUTDOWNTEST_SRC})
752
+ target_link_libraries(shutdowntest ${OPENSSL_TEST_LIBS})
753
+ prepare_emscripten_test_target(shutdowntest)
754
+ if(NOT WIN32)
755
+ add_test(NAME shutdowntest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/shutdowntest.sh)
756
+ else()
757
+ add_test(NAME shutdowntest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/shutdowntest.bat $<TARGET_FILE:shutdowntest>)
758
+ endif()
759
+ set_tests_properties(shutdowntest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
760
+
761
+ # signertest
762
+ # Emscripten does not support socketpair syscall.
763
+ if(NOT (CMAKE_SYSTEM_NAME MATCHES "WindowsStore" OR EMSCRIPTEN))
764
+ set(SIGNERTEST_SRC signertest.c)
765
+ check_symbol_exists(pipe2 "fcntl.h;unistd.h" HAVE_PIPE2)
766
+ if(HAVE_PIPE2)
767
+ add_definitions(-DHAVE_PIPE2)
768
+ else()
769
+ set(SIGNERTEST_SRC ${SIGNERTEST_SRC} compat/pipe2.c)
770
+ endif()
771
+
772
+ set_source_files_properties(signertest.c PROPERTIES COMPILE_FLAGS
773
+ -DCERTSDIR=\\"${CMAKE_CURRENT_SOURCE_DIR}\\")
774
+ add_executable(signertest ${SIGNERTEST_SRC})
775
+ target_link_libraries(signertest ${LIBTLS_TEST_LIBS})
776
+ target_include_directories(signertest BEFORE PUBLIC ../tls)
777
+ add_platform_test(signertest signertest)
778
+ endif()
779
+
780
+ # sm2crypttest
781
+ # sm2evptest
782
+ # sm2sigtest
783
+
784
+ # sm3test
785
+ add_executable(sm3test sm3test.c)
786
+ target_link_libraries(sm3test ${OPENSSL_TEST_LIBS})
787
+ add_platform_test(sm3test sm3test)
788
+
789
+ # sm4test
790
+ add_executable(sm4test sm4test.c)
791
+ target_link_libraries(sm4test ${OPENSSL_TEST_LIBS})
792
+ add_platform_test(sm4test sm4test)
793
+
794
+ # ssl_get_shared_ciphers
795
+ add_executable(ssl_get_shared_ciphers ssl_get_shared_ciphers.c)
796
+ set_source_files_properties(ssl_get_shared_ciphers.c PROPERTIES COMPILE_FLAGS
797
+ -DCERTSDIR=\\"${CMAKE_CURRENT_SOURCE_DIR}\\")
798
+ target_link_libraries(ssl_get_shared_ciphers ${OPENSSL_TEST_LIBS})
799
+ prepare_emscripten_test_target(ssl_get_shared_ciphers)
800
+ add_platform_test(ssl_get_shared_ciphers ssl_get_shared_ciphers)
801
+
802
+ # ssl_methods
803
+ add_executable(ssl_methods ssl_methods.c)
804
+ target_link_libraries(ssl_methods ${OPENSSL_TEST_LIBS})
805
+ add_platform_test(ssl_methods ssl_methods)
806
+
807
+ # ssl_set_alpn_protos
808
+ add_executable(ssl_set_alpn_protos ssl_set_alpn_protos.c)
809
+ target_link_libraries(ssl_set_alpn_protos ${OPENSSL_TEST_LIBS})
810
+ add_platform_test(ssl_set_alpn_protos ssl_set_alpn_protos)
811
+
812
+ # ssl_verify_param
813
+ add_executable(ssl_verify_param ssl_verify_param.c)
814
+ target_link_libraries(ssl_verify_param ${OPENSSL_TEST_LIBS})
815
+ add_platform_test(ssl_verify_param ssl_verify_param)
816
+
817
+ # ssl_versions
818
+ add_executable(ssl_versions ssl_versions.c)
819
+ target_link_libraries(ssl_versions ${OPENSSL_TEST_LIBS})
820
+ add_platform_test(ssl_versions ssl_versions)
821
+
822
+ # ssltest
823
+ add_executable(ssltest ssltest.c)
824
+ target_link_libraries(ssltest ${OPENSSL_TEST_LIBS})
825
+ prepare_emscripten_test_target(ssltest)
826
+ if(NOT WIN32)
827
+ add_test(NAME ssltest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ssltest.sh)
828
+ else()
829
+ add_test(NAME ssltest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ssltest.bat $<TARGET_FILE:ssltest> $<TARGET_FILE:openssl>)
830
+ endif()
831
+ set_tests_properties(ssltest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
832
+
833
+ # testdsa, testenc, testrsa don't have an executable instead they use openssl executable which
834
+ # access various files for IO. Adding such files to --preload-file is infeasible.
835
+ if(NOT EMSCRIPTEN)
836
+ # testdsa
837
+ if(NOT WIN32)
838
+ add_test(NAME testdsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testdsa.sh)
839
+ else()
840
+ add_test(NAME testdsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testdsa.bat $<TARGET_FILE:openssl>)
841
+ endif()
842
+ set_tests_properties(testdsa PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
843
+
844
+ # testenc
845
+ if(NOT WIN32)
846
+ add_test(NAME testenc COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testenc.sh)
847
+ else()
848
+ add_test(NAME testenc COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testenc.bat $<TARGET_FILE:openssl>)
849
+ endif()
850
+ set_tests_properties(testenc PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
851
+
852
+ # testrsa
853
+ if(NOT WIN32)
854
+ add_test(NAME testrsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testrsa.sh)
855
+ else()
856
+ add_test(NAME testrsa COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testrsa.bat $<TARGET_FILE:openssl>)
857
+ endif()
858
+ set_tests_properties(testrsa PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
859
+ endif()
860
+
861
+ # timingsafe
862
+ add_executable(timingsafe timingsafe.c)
863
+ target_link_libraries(timingsafe ${OPENSSL_TEST_LIBS})
864
+ add_platform_test(timingsafe timingsafe)
865
+
866
+ # tlsexttest
867
+ add_executable(tlsexttest tlsexttest.c)
868
+ target_link_libraries(tlsexttest ${OPENSSL_TEST_LIBS})
869
+ add_platform_test(tlsexttest tlsexttest)
870
+
871
+ # tlslegacytest
872
+ add_executable(tlslegacytest tlslegacytest.c)
873
+ target_link_libraries(tlslegacytest ${OPENSSL_TEST_LIBS})
874
+ prepare_emscripten_test_target(tlslegacytest)
875
+ add_platform_test(tlslegacytest tlslegacytest)
876
+
877
+ # tlstest
878
+ # Emscripten does not support socketpair syscall.
879
+ if(NOT (CMAKE_SYSTEM_NAME MATCHES "WindowsStore" OR EMSCRIPTEN))
880
+ set(TLSTEST_SRC tlstest.c)
881
+ check_symbol_exists(pipe2 "fcntl.h;unistd.h" HAVE_PIPE2)
882
+ if(HAVE_PIPE2)
883
+ add_definitions(-DHAVE_PIPE2)
884
+ else()
885
+ set(TLSTEST_SRC ${TLSTEST_SRC} compat/pipe2.c)
886
+ endif()
887
+
888
+ add_executable(tlstest ${TLSTEST_SRC})
889
+ target_link_libraries(tlstest ${LIBTLS_TEST_LIBS})
890
+ if(NOT WIN32)
891
+ add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.sh)
892
+ else()
893
+ add_test(NAME tlstest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.bat $<TARGET_FILE:tlstest>)
894
+ endif()
895
+ set_tests_properties(tlstest PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
896
+ endif()
897
+
898
+ # tls_ext_alpn
899
+ add_executable(tls_ext_alpn tls_ext_alpn.c)
900
+ target_link_libraries(tls_ext_alpn ${OPENSSL_TEST_LIBS})
901
+ add_platform_test(tls_ext_alpn tls_ext_alpn)
902
+
903
+ # tls_prf
904
+ add_executable(tls_prf tls_prf.c)
905
+ target_link_libraries(tls_prf ${OPENSSL_TEST_LIBS})
906
+ add_platform_test(tls_prf tls_prf)
907
+
908
+ # utf8test
909
+ add_executable(utf8test utf8test.c)
910
+ target_link_libraries(utf8test ${OPENSSL_TEST_LIBS})
911
+ add_platform_test(utf8test utf8test)
912
+
913
+ # valid_handshakes_terminate
914
+ add_executable(valid_handshakes_terminate valid_handshakes_terminate.c)
915
+ target_link_libraries(valid_handshakes_terminate ${OPENSSL_TEST_LIBS})
916
+ add_platform_test(valid_handshakes_terminate valid_handshakes_terminate)
917
+
918
+ # verifytest
919
+ add_executable(verifytest verifytest.c)
920
+ target_link_libraries(verifytest ${LIBTLS_TEST_LIBS})
921
+ add_platform_test(verifytest verifytest)
922
+
923
+ # x25519test
924
+ add_executable(x25519test x25519test.c)
925
+ target_link_libraries(x25519test ${OPENSSL_TEST_LIBS})
926
+ add_platform_test(x25519test x25519test)
927
+
928
+ # x509attribute
929
+ add_executable(x509attribute x509attribute.c)
930
+ target_link_libraries(x509attribute ${OPENSSL_TEST_LIBS})
931
+ add_platform_test(x509attribute x509attribute)
932
+
933
+ # x509_algor
934
+ add_executable(x509_algor x509_algor.c)
935
+ target_link_libraries(x509_algor ${OPENSSL_TEST_LIBS})
936
+ add_platform_test(x509_algor x509_algor)
937
+
938
+ # x509_asn1
939
+ add_executable(x509_asn1 x509_asn1.c)
940
+ target_link_libraries(x509_asn1 ${OPENSSL_TEST_LIBS})
941
+ prepare_emscripten_test_target(x509_asn1)
942
+ add_platform_test(x509_asn1 x509_asn1)
943
+
944
+ # x509_extensions_test
945
+ add_executable(x509_extensions_test x509_extensions_test.c)
946
+ target_link_libraries(x509_extensions_test ${OPENSSL_TEST_LIBS})
947
+ add_platform_test(x509_extensions_test x509_extensions_test)
948
+
949
+ # x509_info
950
+ add_executable(x509_info x509_info.c)
951
+ target_link_libraries(x509_info ${OPENSSL_TEST_LIBS})
952
+ add_platform_test(x509_info x509_info)
953
+
954
+ # x509_name_test
955
+ add_executable(x509_name_test x509_name_test.c)
956
+ target_link_libraries(x509_name_test ${OPENSSL_TEST_LIBS})
957
+ add_platform_test(x509_name_test x509_name_test)
958
+
959
+ # x509req_ext
960
+ add_executable(x509req_ext x509req_ext.c)
961
+ target_link_libraries(x509req_ext ${OPENSSL_TEST_LIBS})
962
+ add_platform_test(x509req_ext x509req_ext)
963
+
964
+ add_custom_command(TARGET x25519test POST_BUILD
965
+ COMMAND "${CMAKE_COMMAND}" -E copy
966
+ "$<TARGET_FILE:tls>"
967
+ "$<TARGET_FILE:ssl>"
968
+ "$<TARGET_FILE:crypto>"
969
+ "${CMAKE_CURRENT_BINARY_DIR}"
970
+ COMMENT "Copying DLLs for regression tests")