From 3e43172feea892ca96e69d8f4808cac8b26a8b00 Mon Sep 17 00:00:00 2001 From: Theo Buehler Date: Mon, 18 Aug 2025 10:39:05 +0200 Subject: Run mlkem_tests on Windows There's probably cleaner ways to do it, but shrug. Better than nothing. --- tests/CMakeLists.txt | 6 +++-- tests/Makefile.am | 3 +-- tests/mlkem_tests.bat | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 tests/mlkem_tests.bat (limited to 'tests') 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() add_executable(mlkem_tests mlkem_tests.c parse_test_file.c) target_link_libraries(mlkem_tests ${OPENSSL_TEST_LIBS}) prepare_emscripten_test_target(mlkem_tests) -if(NOT WIN32) +if(NOT MSVC) add_test(NAME mlkem_tests COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mlkem_tests.sh) set_tests_properties(mlkem_tests PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") +else() + add_test(NAME mlkem_tests COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mlkem_tests.bat $) endif() -# XXX - add tests for Windows +set_tests_properties(mlkem_tests PROPERTIES ENVIRONMENT "srcdir=${TEST_SOURCE_DIR}") # mlkem_iteration_tests add_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 TESTS += mlkem_tests.sh check_PROGRAMS += mlkem_tests mlkem_tests_SOURCES = mlkem_tests.c parse_test_file.c -EXTRA_DIST += mlkem_tests.sh +EXTRA_DIST += mlkem_tests.sh mlkem_tests.bat EXTRA_DIST += mlkem768_decap_tests.txt EXTRA_DIST += mlkem768_encap_tests.txt EXTRA_DIST += mlkem768_keygen_tests.txt @@ -589,7 +589,6 @@ EXTRA_DIST += mlkem1024_encap_tests.txt EXTRA_DIST += mlkem1024_keygen_tests.txt EXTRA_DIST += mlkem1024_nist_decap_tests.txt EXTRA_DIST += mlkem1024_nist_keygen_tests.txt -# XXX - add tests for Windows # mlkem_iteration_tests TESTS += 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 @@ +@echo off +setlocal enabledelayedexpansion + +:: Copyright (c) 2025 Theo Beuhler +:: +:: Permission to use, copy, modify, and distribute this software for any +:: purpose with or without fee is hereby granted, provided that the above +:: copyright notice and this permission notice appear in all copies. +:: +:: THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +:: WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +:: MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +:: ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +:: WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +:: ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +:: OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +set mlkem_tests_bin=%1 +set mlkem_tests_bin=%mlkem_tests_bin:/=\% +if not exist %mlkem_tests_bin% exit /b 1 + +%mlkem_tests_bin% mlkem768_decap_tests %srcdir%\mlkem768_decap_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) +%mlkem_tests_bin% mlkem768_encap_tests %srcdir%\mlkem768_encap_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) +%mlkem_tests_bin% mlkem768_keygen_tests %srcdir%\mlkem768_keygen_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) +%mlkem_tests_bin% mlkem768_nist_decap_tests %srcdir%\mlkem768_nist_decap_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) +%mlkem_tests_bin% mlkem768_nist_keygen_tests %srcdir%\mlkem768_nist_keygen_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) +%mlkem_tests_bin% mlkem1024_decap_tests %srcdir%\mlkem1024_decap_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) +%mlkem_tests_bin% mlkem1024_encap_tests %srcdir%\mlkem1024_encap_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) +%mlkem_tests_bin% mlkem1024_keygen_tests %srcdir%\mlkem1024_keygen_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) +%mlkem_tests_bin% mlkem1024_nist_decap_tests %srcdir%\mlkem1024_nist_decap_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) +%mlkem_tests_bin% mlkem1024_nist_keygen_tests %srcdir%\mlkem1024_nist_keygen_tests.txt +if !errorlevel! neq 0 ( + exit /b 1 +) + +endlocal -- cgit v1.2.3-55-g6feb