]> wagner.pp.ru Git - openssl-gost/engine.git/blob - tcl_tests/runtest.bat
Update Copyright lines after registration rework
[openssl-gost/engine.git] / tcl_tests / runtest.bat
1 @echo off\r
2 \r
3 rem Тесты на коммерческий энжин выполняются с тем ДСЧ, на использование \r
4 rem которого сконфигурирован КриптоПакет (то есть который указан в файле \r
5 rem конфигурации или переменной окружения RNG). Исключение - наборы тестов\r
6 rem prng.try, rng.try, rng-seed.try (всегда тестируют ДСЧ PROGRAM) и \r
7 rem rng2.try (тестирует все ДСЧ, которые найдет на компьютере). \r
8 \r
9 \r
10 rem Состав набора тестов\r
11 rem 1. Этот скрипт\r
12 rem 2. Файлы *.try\r
13 rem 3. Файлы *.tcl\r
14 rem 4. Файлы *.ciphers\r
15 rem 5. calcstat\r
16 rem 6. oidfile\r
17 rem 7. name2oid.tst\r
18 \r
19 rem Пререквизиты, которые должны быть установлены на машине:\r
20 rem 1. tclsh.\r
21 rem 2. ssh (что характерно, называться должен именно так и не должен выводить\r
22 rem лишних сообщений), мы используем ssh.bat вокруг putty:\r
23 rem @plink -l build %*\r
24 rem Должен и настроен заход по ключам без пароля на lynx и все используемые\r
25 rem эталонники. Ключи этих машин должны быть в knownhosts с полными доменными \r
26 rem именами серверов, то есть lynx.lan.cryptocom.ru и т.д. (для putty \r
27 rem knownhosts хранятся в реесте).\r
28 rem В Firewall Windows необходимо прописать исключение, разрешающее \r
29 rem соединения для программы openssl.exe. Внимание, Windows неправильно \r
30 rem трактует понятие "локальная сеть" в описании исключения, нужно либо\r
31 rem выставлять "любой компьютер", либо явно задавать маску 10.51.0.0/255.255.0.0\r
32 \r
33 \r
34 IF "%OPENSSL_APP%"=="" set OPENSSL_APP=c:\cryptopack3\bin\openssl.exe\r
35 IF "%TCLSH%"=="" set TCLSH=c:\Tcl\bin\tclsh.exe\r
36 \r
37 %TCLSH% getengine.tcl > engine_name.txt\r
38 set /p ENGINE_NAME= < engine_name.txt\r
39 del engine_name.txt\r
40 \r
41 hostname > host_name.txt\r
42 set /p HOST_NAME= < host_name.txt\r
43 del host_name.txt\r
44 set TESTDIR=%HOST_NAME%-bat-%ENGINE_NAME%\r
45 rmdir /s /q %TESTDIR%\r
46 mkdir %TESTDIR%\r
47 copy oidfile %TESTDIR%\r
48 set OTHER_VERSION=../OtherVersion\r
49 \r
50 IF %ENGINE_NAME%==cryptocom (\r
51                 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\r
52                 set OTHER_DIR=../%HOST_NAME%-bat-gost\r
53 ) ELSE (\r
54         IF %ENGINE_NAME%==gost (\r
55                 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\r
56                 set OTHER_DIR=../%HOST_NAME%-bat-cryptocom\r
57         ) ELSE (\r
58                 echo No GOST providing engine found\r
59                 exit 1\r
60         )\r
61 )\r
62 \r
63 set PKCS7_COMPATIBILITY_TESTS=smime_cs cmsenc_cs cmsenc_sc\r
64 set CLIENT_TESTS=cp20 cp21\r
65 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\r
66 set SERVER_TESTS=cp20 cp21 csp36r4 csp39 csp4 csp4r3 csp5\r
67 set OPENSSL_DEBUG_MEMORY=on\r
68 \r
69 FOR %%t IN (%BASE_TESTS%) DO %TCLSH% %%t.try\r
70 FOR %%t IN (%PKCS7_COMPATIBILITY_TESTS%) DO %TCLSH% %%t.try\r
71 FOR %%t IN (%SERVER_TESTS%) DO %TCLSH% server.try %%t\r
72 FOR %%t IN (%CLIENT_TESTS%) DO %TCLSH% client.try %%t\r
73 set CVS_RSH=ssh\r
74 FOR %%t IN (%WINCLIENT_TESTS%) DO %TCLSH% wcli.try %%t\r
75 IF EXIST %TESTDIR%\%OTHER_DIR% %TCLSH% interop.try\r
76 IF EXIST %TESTDIR%\%OTHER_VERSION% (\r
77         set OTHER_DIR=%OTHER_VERSION%\r
78         IF %ENGINE_NAME%==cryptocom (\r
79                 set ALG_LIST="gost2001:A gost2001:B gost2001:C" \r
80                 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:"\r
81         ) ELSE (\r
82                 set ALG_LIST="gost2001:A gost2001:B gost2001:C" \r
83                 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:"\r
84         )\r
85         %TCLSH% interop.try\r
86 )\r
87 \r
88 %TCLSH% calcstat %TESTDIR%\stats %TESTDIR%\test.result\r