aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo Buehler <tb@openbsd.org>2025-08-18 10:39:05 +0200
committerTheo Buehler <tb@openbsd.org>2025-08-18 11:22:52 +0200
commit3e43172feea892ca96e69d8f4808cac8b26a8b00 (patch)
tree682d3de749cc38ae14793026b74a8b3868002c28
parentd811b09c21fc82ebb0cf7c67a89b10b5cdfbfa13 (diff)
downloadportable-3e43172feea892ca96e69d8f4808cac8b26a8b00.tar.gz
portable-3e43172feea892ca96e69d8f4808cac8b26a8b00.tar.bz2
portable-3e43172feea892ca96e69d8f4808cac8b26a8b00.zip
Run mlkem_tests on Windows
There's probably cleaner ways to do it, but shrug. Better than nothing.
-rw-r--r--tests/CMakeLists.txt6
-rw-r--r--tests/Makefile.am3
-rw-r--r--tests/mlkem_tests.bat63
3 files changed, 68 insertions, 4 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 32fe36a..55529cd 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -566,11 +566,13 @@ endif()
566add_executable(mlkem_tests mlkem_tests.c parse_test_file.c) 566add_executable(mlkem_tests mlkem_tests.c parse_test_file.c)
567target_link_libraries(mlkem_tests ${OPENSSL_TEST_LIBS}) 567target_link_libraries(mlkem_tests ${OPENSSL_TEST_LIBS})
568prepare_emscripten_test_target(mlkem_tests) 568prepare_emscripten_test_target(mlkem_tests)
569if(NOT WIN32) 569if(NOT MSVC)
570 add_test(NAME mlkem_tests COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mlkem_tests.sh) 570 add_test(NAME mlkem_tests COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mlkem_tests.sh)
571 set_tests_properties(mlkem_tests PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") 571 set_tests_properties(mlkem_tests PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
572else()
573 add_test(NAME mlkem_tests COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mlkem_tests.bat $<TARGET_FILE:mlkem_tests>)
572endif() 574endif()
573# XXX - add tests for Windows 575set_tests_properties(mlkem_tests PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}")
574 576
575# mlkem_iteration_tests 577# mlkem_iteration_tests
576add_executable(mlkem_iteration_tests mlkem_iteration_tests.c mlkem_tests_util.c) 578add_executable(mlkem_iteration_tests mlkem_iteration_tests.c mlkem_tests_util.c)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 2052f0c..066e020 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -578,7 +578,7 @@ noinst_HEADERS += parse_test_file.h
578TESTS += mlkem_tests.sh 578TESTS += mlkem_tests.sh
579check_PROGRAMS += mlkem_tests 579check_PROGRAMS += mlkem_tests
580mlkem_tests_SOURCES = mlkem_tests.c parse_test_file.c 580mlkem_tests_SOURCES = mlkem_tests.c parse_test_file.c
581EXTRA_DIST += mlkem_tests.sh 581EXTRA_DIST += mlkem_tests.sh mlkem_tests.bat
582EXTRA_DIST += mlkem768_decap_tests.txt 582EXTRA_DIST += mlkem768_decap_tests.txt
583EXTRA_DIST += mlkem768_encap_tests.txt 583EXTRA_DIST += mlkem768_encap_tests.txt
584EXTRA_DIST += mlkem768_keygen_tests.txt 584EXTRA_DIST += mlkem768_keygen_tests.txt
@@ -589,7 +589,6 @@ EXTRA_DIST += mlkem1024_encap_tests.txt
589EXTRA_DIST += mlkem1024_keygen_tests.txt 589EXTRA_DIST += mlkem1024_keygen_tests.txt
590EXTRA_DIST += mlkem1024_nist_decap_tests.txt 590EXTRA_DIST += mlkem1024_nist_decap_tests.txt
591EXTRA_DIST += mlkem1024_nist_keygen_tests.txt 591EXTRA_DIST += mlkem1024_nist_keygen_tests.txt
592# XXX - add tests for Windows
593 592
594# mlkem_iteration_tests 593# mlkem_iteration_tests
595TESTS += mlkem_iteration_tests 594TESTS += mlkem_iteration_tests
diff --git a/tests/mlkem_tests.bat b/tests/mlkem_tests.bat
new file mode 100644
index 0000000..618c9e0
--- /dev/null
+++ b/tests/mlkem_tests.bat
@@ -0,0 +1,63 @@
1@echo off
2setlocal enabledelayedexpansion
3
4:: Copyright (c) 2025 Theo Beuhler
5::
6:: Permission to use, copy, modify, and distribute this software for any
7:: purpose with or without fee is hereby granted, provided that the above
8:: copyright notice and this permission notice appear in all copies.
9::
10:: THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11:: WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12:: MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13:: ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14:: WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15:: ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16:: OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
18set mlkem_tests_bin=%1
19set mlkem_tests_bin=%mlkem_tests_bin:/=\%
20if not exist %mlkem_tests_bin% exit /b 1
21
22%mlkem_tests_bin% mlkem768_decap_tests %srcdir%\mlkem768_decap_tests.txt
23if !errorlevel! neq 0 (
24 exit /b 1
25)
26%mlkem_tests_bin% mlkem768_encap_tests %srcdir%\mlkem768_encap_tests.txt
27if !errorlevel! neq 0 (
28 exit /b 1
29)
30%mlkem_tests_bin% mlkem768_keygen_tests %srcdir%\mlkem768_keygen_tests.txt
31if !errorlevel! neq 0 (
32 exit /b 1
33)
34%mlkem_tests_bin% mlkem768_nist_decap_tests %srcdir%\mlkem768_nist_decap_tests.txt
35if !errorlevel! neq 0 (
36 exit /b 1
37)
38%mlkem_tests_bin% mlkem768_nist_keygen_tests %srcdir%\mlkem768_nist_keygen_tests.txt
39if !errorlevel! neq 0 (
40 exit /b 1
41)
42%mlkem_tests_bin% mlkem1024_decap_tests %srcdir%\mlkem1024_decap_tests.txt
43if !errorlevel! neq 0 (
44 exit /b 1
45)
46%mlkem_tests_bin% mlkem1024_encap_tests %srcdir%\mlkem1024_encap_tests.txt
47if !errorlevel! neq 0 (
48 exit /b 1
49)
50%mlkem_tests_bin% mlkem1024_keygen_tests %srcdir%\mlkem1024_keygen_tests.txt
51if !errorlevel! neq 0 (
52 exit /b 1
53)
54%mlkem_tests_bin% mlkem1024_nist_decap_tests %srcdir%\mlkem1024_nist_decap_tests.txt
55if !errorlevel! neq 0 (
56 exit /b 1
57)
58%mlkem_tests_bin% mlkem1024_nist_keygen_tests %srcdir%\mlkem1024_nist_keygen_tests.txt
59if !errorlevel! neq 0 (
60 exit /b 1
61)
62
63endlocal