aboutsummaryrefslogtreecommitdiff
path: root/tcl_tests/runtest.bat
diff options
context:
space:
mode:
authorDmitry Belyavskiy <beldmit@gmail.com>2019-11-10 04:30:14 +0300
committerDmitry Belyavskiy <beldmit@users.noreply.github.com>2020-01-12 00:20:37 +0300
commit3b8ddfe2f303b8931842e52bdb5c07c97042f651 (patch)
treebfebf3f9306a4064f35a2510100623d8577e1dfb /tcl_tests/runtest.bat
parente09d5a86fe1cb876b3c7cf5eb0d890f557b466d0 (diff)
downloadgost-engine-3b8ddfe2f303b8931842e52bdb5c07c97042f651.zip
gost-engine-3b8ddfe2f303b8931842e52bdb5c07c97042f651.tar.gz
gost-engine-3b8ddfe2f303b8931842e52bdb5c07c97042f651.tar.bz2
tcl_tests: Add TCL tests files
All source files are converted from cp1251 to utf-8.
Diffstat (limited to 'tcl_tests/runtest.bat')
-rwxr-xr-xtcl_tests/runtest.bat88
1 files changed, 88 insertions, 0 deletions
diff --git a/tcl_tests/runtest.bat b/tcl_tests/runtest.bat
new file mode 100755
index 0000000..68da053
--- /dev/null
+++ b/tcl_tests/runtest.bat
@@ -0,0 +1,88 @@
+@echo off
+
+rem Тесты на коммерческий энжин выполняются с тем ДСЧ, на использование
+rem которого сконфигурирован КриптоПакет (то есть который указан в файле
+rem конфигурации или переменной окружения RNG). Исключение - наборы тестов
+rem prng.try, rng.try, rng-seed.try (всегда тестируют ДСЧ PROGRAM) и
+rem rng2.try (тестирует все ДСЧ, которые найдет на компьютере).
+
+
+rem Состав набора тестов
+rem 1. Этот скрипт
+rem 2. Файлы *.try
+rem 3. Файлы *.tcl
+rem 4. Файлы *.ciphers
+rem 5. calcstat
+rem 6. oidfile
+rem 7. name2oid.tst
+
+rem Пререквизиты, которые должны быть установлены на машине:
+rem 1. tclsh.
+rem 2. ssh (что характерно, называться должен именно так и не должен выводить
+rem лишних сообщений), мы используем ssh.bat вокруг putty:
+rem @plink -l build %*
+rem Должен и настроен заход по ключам без пароля на lynx и все используемые
+rem эталонники. Ключи этих машин должны быть в knownhosts с полными доменными
+rem именами серверов, то есть lynx.lan.cryptocom.ru и т.д. (для putty
+rem knownhosts хранятся в реесте).
+rem В Firewall Windows необходимо прописать исключение, разрешающее
+rem соединения для программы openssl.exe. Внимание, Windows неправильно
+rem трактует понятие "локальная сеть" в описании исключения, нужно либо
+rem выставлять "любой компьютер", либо явно задавать маску 10.51.0.0/255.255.0.0
+
+
+IF "%OPENSSL_APP%"=="" set OPENSSL_APP=c:\cryptopack3\bin\openssl.exe
+IF "%TCLSH%"=="" set TCLSH=c:\Tcl\bin\tclsh.exe
+
+%TCLSH% getengine.tcl > engine_name.txt
+set /p ENGINE_NAME= < engine_name.txt
+del engine_name.txt
+
+hostname > host_name.txt
+set /p HOST_NAME= < host_name.txt
+del host_name.txt
+set TESTDIR=%HOST_NAME%-bat-%ENGINE_NAME%
+rmdir /s /q %TESTDIR%
+mkdir %TESTDIR%
+copy oidfile %TESTDIR%
+set OTHER_VERSION=../OtherVersion
+
+IF %ENGINE_NAME%==cryptocom (
+ set BASE_TESTS=engine dgst pkcs8 enc req-genpkey req-newkey ca smime smime2 smimeenc cms cms2 cmsenc pkcs12 nopath ocsp ts ssl smime_io cms_io smimeenc_io cmsenc_io
+ set OTHER_DIR=../%HOST_NAME%-bat-gost
+) ELSE (
+ IF %ENGINE_NAME%==gost (
+ set BASE_TESTS=engine dgst pkcs8 enc req-genpkey req-newkey ca smime smime2 smimeenc cms cms2 cmsenc pkcs12 nopath ocsp ts ssl smime_io cms_io smimeenc_io cmsenc_io
+ set OTHER_DIR=../%HOST_NAME%-bat-cryptocom
+ ) ELSE (
+ echo No GOST providing engine found
+ exit 1
+ )
+)
+
+set PKCS7_COMPATIBILITY_TESTS=smime_cs cmsenc_cs cmsenc_sc
+set CLIENT_TESTS=cp20 cp21
+set WINCLIENT_TESTS=p1-1xa-tls1-v-cp36r4-srv p1-1xa-tls1-v-cp39-srv p1-1xa-tls1-v-cp4-01 p2-1xa-tls1-v-cp4-01 p2-2xa-tls1-v-cp4-12S p2-5xa-tls1-v-cp4-12L p1-1xa-tls1-v-cp4r3-01 p2-1xa-tls1-v-cp4r3-01 p2-2xa-tls1-v-cp4r3-01 p2-5xa-tls1-v-cp4r3-01 p1-1xa-tls1_1-v-cp4r3-01 p2-1xa-tls1_1-v-cp4r3-01 p2-2xa-tls1_1-v-cp4r3-01 p2-5xa-tls1_1-v-cp4r3-01 p1-1xa-tls1_2-v-cp4r3-01 p2-1xa-tls1_2-v-cp4r3-01 p2-2xa-tls1_2-v-cp4r3-01 p2-5xa-tls1_2-v-cp4r3-01 p1-1xa-tls1-v-cp5-01 p2-1xa-tls1-v-cp5-01 p2-2xa-tls1-v-cp5-01 p2-5xa-tls1-v-cp5-01 p1-1xa-tls1_1-v-cp5-01 p2-1xa-tls1_1-v-cp5-01 p2-2xa-tls1_1-v-cp5-01 p2-5xa-tls1_1-v-cp5-01 p1-1xa-tls1_2-v-cp5-01 p2-1xa-tls1_2-v-cp5-01 p2-2xa-tls1_2-v-cp5-01 p2-5xa-tls1_2-v-cp5-01
+set SERVER_TESTS=cp20 cp21 csp36r4 csp39 csp4 csp4r3 csp5
+set OPENSSL_DEBUG_MEMORY=on
+
+FOR %%t IN (%BASE_TESTS%) DO %TCLSH% %%t.try
+FOR %%t IN (%PKCS7_COMPATIBILITY_TESTS%) DO %TCLSH% %%t.try
+FOR %%t IN (%SERVER_TESTS%) DO %TCLSH% server.try %%t
+FOR %%t IN (%CLIENT_TESTS%) DO %TCLSH% client.try %%t
+set CVS_RSH=ssh
+FOR %%t IN (%WINCLIENT_TESTS%) DO %TCLSH% wcli.try %%t
+IF EXIST %TESTDIR%\%OTHER_DIR% %TCLSH% interop.try
+IF EXIST %TESTDIR%\%OTHER_VERSION% (
+ set OTHER_DIR=%OTHER_VERSION%
+ IF %ENGINE_NAME%==cryptocom (
+ set ALG_LIST="gost2001:A gost2001:B gost2001:C"
+ set ENC_LIST="gost2001:A:1.2.643.2.2.31.3 gost2001:B:1.2.643.2.2.31.4 gost2001:C:1.2.643.2.2.31.2 gost2001:A:"
+ ) ELSE (
+ set ALG_LIST="gost2001:A gost2001:B gost2001:C"
+ set ENC_LIST="gost2001:A:1.2.643.2.2.31.3 gost2001:B:1.2.643.2.2.31.4 gost2001:C:1.2.643.2.2.31.2 gost2001:A:"
+ )
+ %TCLSH% interop.try
+)
+
+%TCLSH% calcstat %TESTDIR%\stats %TESTDIR%\test.result