aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--configure.ac8
-rw-r--r--tests/Makefile.am282
-rw-r--r--tests/Makefile.am.tpl15
-rwxr-xr-xupdate.sh68
5 files changed, 293 insertions, 81 deletions
diff --git a/.gitignore b/.gitignore
index 6c70806..471ca3a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,7 +92,6 @@ INSTALL
92/stamp-h2 92/stamp-h2
93 93
94include/openssl/Makefile.am 94include/openssl/Makefile.am
95tests/Makefile.am
96 95
97crypto/VERSION 96crypto/VERSION
98ssl/VERSION 97ssl/VERSION
diff --git a/configure.ac b/configure.ac
index 0bbf998..206c97a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,6 +13,9 @@ AC_SUBST([USER_CFLAGS], "$CFLAGS")
13CFLAGS="-Wall -std=gnu99 -g -O2" 13CFLAGS="-Wall -std=gnu99 -g -O2"
14 14
15case $host_os in 15case $host_os in
16 *cygwin*)
17 HOST_OS=cygwin
18 ;;
16 *darwin*) 19 *darwin*)
17 HOST_OS=darwin 20 HOST_OS=darwin
18 HOST_ABI=macosx 21 HOST_ABI=macosx
@@ -54,6 +57,7 @@ case $host_os in
54 *) ;; 57 *) ;;
55esac 58esac
56 59
60AM_CONDITIONAL([HOST_CYGWIN], [test x$HOST_OS = xcygwin])
57AM_CONDITIONAL([HOST_DARWIN], [test x$HOST_OS = xdarwin]) 61AM_CONDITIONAL([HOST_DARWIN], [test x$HOST_OS = xdarwin])
58AM_CONDITIONAL([HOST_FREEBSD], [test x$HOST_OS = xfreebsd]) 62AM_CONDITIONAL([HOST_FREEBSD], [test x$HOST_OS = xfreebsd])
59AM_CONDITIONAL([HOST_HPUX], [test x$HOST_OS = xhpux]) 63AM_CONDITIONAL([HOST_HPUX], [test x$HOST_OS = xhpux])
@@ -284,6 +288,10 @@ AC_ARG_ENABLE([asm],
284 AS_HELP_STRING([--disable-asm], [Disable assembly])) 288 AS_HELP_STRING([--disable-asm], [Disable assembly]))
285AM_CONDITIONAL([OPENSSL_NO_ASM], [test "x$enable_asm" = "xno"]) 289AM_CONDITIONAL([OPENSSL_NO_ASM], [test "x$enable_asm" = "xno"])
286 290
291AC_ARG_ENABLE([extratests],
292 AS_HELP_STRING([--enable-extratests], [Enable extra tests that may be unreliable on some platforms]))
293AM_CONDITIONAL([ENABLE_EXTRATESTS], [test "x$enable_extratests" = xyes])
294
287old_cflags=$CFLAGS 295old_cflags=$CFLAGS
288CFLAGS="$USER_CFLAGS -I$srcdir/include" 296CFLAGS="$USER_CFLAGS -I$srcdir/include"
289AC_MSG_CHECKING([if BSWAP4 builds without __STRICT_ALIGNMENT]) 297AC_MSG_CHECKING([if BSWAP4 builds without __STRICT_ALIGNMENT])
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..2ed7a44
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,282 @@
1include $(top_srcdir)/Makefile.am.common
2
3AM_CPPFLAGS += -I $(top_srcdir)/crypto/modes
4AM_CPPFLAGS += -I $(top_srcdir)/crypto/asn1
5AM_CPPFLAGS += -I $(top_srcdir)/ssl
6
7LDADD = $(PLATFORM_LDADD) $(PROG_LDADD)
8LDADD += $(top_builddir)/ssl/libssl.la
9LDADD += $(top_builddir)/crypto/libcrypto.la
10
11TESTS =
12check_PROGRAMS =
13EXTRA_DIST =
14DISTCLEANFILES = pidwraptest.txt
15
16# aeadtest
17TESTS += aeadtest.sh
18check_PROGRAMS += aeadtest
19aeadtest_SOURCES = aeadtest.c
20EXTRA_DIST += aeadtest.sh
21EXTRA_DIST += aeadtests.txt
22
23# aes_wrap
24TESTS += aes_wrap
25check_PROGRAMS += aes_wrap
26aes_wrap_SOURCES = aes_wrap.c
27
28# arc4randomforktest
29# Windows/mingw does not have fork, but Cygwin does.
30if !HOST_WIN
31TESTS += arc4randomforktest.sh
32check_PROGRAMS += arc4randomforktest
33arc4randomforktest_SOURCES = arc4randomforktest.c
34endif
35EXTRA_DIST += arc4randomforktest.sh
36
37# asn1test
38TESTS += asn1test
39check_PROGRAMS += asn1test
40asn1test_SOURCES = asn1test.c
41
42# base64test
43TESTS += base64test
44check_PROGRAMS += base64test
45base64test_SOURCES = base64test.c
46
47# bftest
48TESTS += bftest
49check_PROGRAMS += bftest
50bftest_SOURCES = bftest.c
51
52# biotest
53# the BIO tests rely on resolver results that are OS and environment-specific
54if ENABLE_EXTRATESTS
55TESTS += biotest
56check_PROGRAMS += biotest
57biotest_SOURCES = biotest.c
58endif
59
60# bntest
61TESTS += bntest
62check_PROGRAMS += bntest
63bntest_SOURCES = bntest.c
64
65# bytestringtest
66TESTS += bytestringtest
67check_PROGRAMS += bytestringtest
68bytestringtest_SOURCES = bytestringtest.c
69
70# casttest
71TESTS += casttest
72check_PROGRAMS += casttest
73casttest_SOURCES = casttest.c
74
75# chachatest
76TESTS += chachatest
77check_PROGRAMS += chachatest
78chachatest_SOURCES = chachatest.c
79
80# cipherstest
81TESTS += cipherstest
82check_PROGRAMS += cipherstest
83cipherstest_SOURCES = cipherstest.c
84
85# cts128test
86TESTS += cts128test
87check_PROGRAMS += cts128test
88cts128test_SOURCES = cts128test.c
89
90# destest
91TESTS += destest
92check_PROGRAMS += destest
93destest_SOURCES = destest.c
94
95# dhtest
96TESTS += dhtest
97check_PROGRAMS += dhtest
98dhtest_SOURCES = dhtest.c
99
100# dsatest
101TESTS += dsatest
102check_PROGRAMS += dsatest
103dsatest_SOURCES = dsatest.c
104
105# ecdhtest
106TESTS += ecdhtest
107check_PROGRAMS += ecdhtest
108ecdhtest_SOURCES = ecdhtest.c
109
110# ecdsatest
111TESTS += ecdsatest
112check_PROGRAMS += ecdsatest
113ecdsatest_SOURCES = ecdsatest.c
114
115# ectest
116TESTS += ectest
117check_PROGRAMS += ectest
118ectest_SOURCES = ectest.c
119
120# enginetest
121TESTS += enginetest
122check_PROGRAMS += enginetest
123enginetest_SOURCES = enginetest.c
124
125# evptest
126TESTS += evptest.sh
127check_PROGRAMS += evptest
128evptest_SOURCES = evptest.c
129EXTRA_DIST += evptest.sh
130EXTRA_DIST += evptests.txt
131
132# explicit_bzero
133# explicit_bzero relies on SA_ONSTACK, which is unavailable on Windows
134if !HOST_WIN
135if !HOST_CYGWIN
136TESTS += explicit_bzero
137check_PROGRAMS += explicit_bzero
138explicit_bzero_SOURCES = explicit_bzero.c
139if !HAVE_MEMMEM
140explicit_bzero_SOURCES += memmem.c
141endif
142endif
143endif
144
145# exptest
146TESTS += exptest
147check_PROGRAMS += exptest
148exptest_SOURCES = exptest.c
149
150# gcm128test
151TESTS += gcm128test
152check_PROGRAMS += gcm128test
153gcm128test_SOURCES = gcm128test.c
154
155# gost2814789t
156TESTS += gost2814789t
157check_PROGRAMS += gost2814789t
158gost2814789t_SOURCES = gost2814789t.c
159
160# hmactest
161TESTS += hmactest
162check_PROGRAMS += hmactest
163hmactest_SOURCES = hmactest.c
164
165# ideatest
166TESTS += ideatest
167check_PROGRAMS += ideatest
168ideatest_SOURCES = ideatest.c
169
170# igetest
171TESTS += igetest
172check_PROGRAMS += igetest
173igetest_SOURCES = igetest.c
174
175# md4test
176TESTS += md4test
177check_PROGRAMS += md4test
178md4test_SOURCES = md4test.c
179
180# md5test
181TESTS += md5test
182check_PROGRAMS += md5test
183md5test_SOURCES = md5test.c
184
185# mdc2test
186TESTS += mdc2test
187check_PROGRAMS += mdc2test
188mdc2test_SOURCES = mdc2test.c
189
190# mont
191TESTS += mont
192check_PROGRAMS += mont
193mont_SOURCES = mont.c
194
195# pbkdf2
196TESTS += pbkdf2
197check_PROGRAMS += pbkdf2
198pbkdf2_SOURCES = pbkdf2.c
199
200# pidwraptest
201# pidwraptest relies on an OS-specific way to give out pids and is generally
202# awkward on systems with slow fork
203if ENABLE_EXTRATESTS
204TESTS += pidwraptest
205check_PROGRAMS += pidwraptest
206pidwraptest_SOURCES = pidwraptest.c
207endif
208
209# pkcs7test
210TESTS += pkcs7test
211check_PROGRAMS += pkcs7test
212pkcs7test_SOURCES = pkcs7test.c
213
214# poly1305test
215TESTS += poly1305test
216check_PROGRAMS += poly1305test
217poly1305test_SOURCES = poly1305test.c
218
219# pq_test
220TESTS += pq_test.sh
221check_PROGRAMS += pq_test
222pq_test_SOURCES = pq_test.c
223EXTRA_DIST += pq_test.sh
224EXTRA_DIST += pq_expected.txt
225
226# randtest
227TESTS += randtest
228check_PROGRAMS += randtest
229randtest_SOURCES = randtest.c
230
231# rc2test
232TESTS += rc2test
233check_PROGRAMS += rc2test
234rc2test_SOURCES = rc2test.c
235
236# rc4test
237TESTS += rc4test
238check_PROGRAMS += rc4test
239rc4test_SOURCES = rc4test.c
240
241# rmdtest
242TESTS += rmdtest
243check_PROGRAMS += rmdtest
244rmdtest_SOURCES = rmdtest.c
245
246# sha1test
247TESTS += sha1test
248check_PROGRAMS += sha1test
249sha1test_SOURCES = sha1test.c
250
251# sha256test
252TESTS += sha256test
253check_PROGRAMS += sha256test
254sha256test_SOURCES = sha256test.c
255
256# sha512test
257TESTS += sha512test
258check_PROGRAMS += sha512test
259sha512test_SOURCES = sha512test.c
260
261# shatest
262TESTS += shatest
263check_PROGRAMS += shatest
264shatest_SOURCES = shatest.c
265
266# ssltest
267TESTS += ssltest.sh
268check_PROGRAMS += ssltest
269ssltest_SOURCES = ssltest.c
270EXTRA_DIST += ssltest.sh
271EXTRA_DIST += testssl ca.pem server.pem
272
273# timingsafe
274TESTS += timingsafe
275check_PROGRAMS += timingsafe
276timingsafe_SOURCES = timingsafe.c
277
278# utf8test
279TESTS += utf8test
280check_PROGRAMS += utf8test
281utf8test_SOURCES = utf8test.c
282
diff --git a/tests/Makefile.am.tpl b/tests/Makefile.am.tpl
deleted file mode 100644
index 26334af..0000000
--- a/tests/Makefile.am.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
1include $(top_srcdir)/Makefile.am.common
2
3AM_CPPFLAGS += -I $(top_srcdir)/crypto/modes
4AM_CPPFLAGS += -I $(top_srcdir)/crypto/asn1
5AM_CPPFLAGS += -I $(top_srcdir)/ssl
6
7LDADD = $(PLATFORM_LDADD) $(PROG_LDADD)
8LDADD += $(top_builddir)/ssl/libssl.la
9LDADD += $(top_builddir)/crypto/libcrypto.la
10
11TESTS =
12check_PROGRAMS =
13EXTRA_DIST =
14DISTCLEANFILES = pidwraptest.txt
15
diff --git a/update.sh b/update.sh
index c4d33e8..85f8331 100755
--- a/update.sh
+++ b/update.sh
@@ -200,9 +200,6 @@ for i in `find $libcrypto_regress -name '*.c'`; do
200 $CP "$i" tests 200 $CP "$i" tests
201done 201done
202 202
203# the BIO tests rely on resolver results that are OS and environment-specific
204rm tests/biotest.c
205
206# copy libc tests 203# copy libc tests
207$CP $libc_regress/arc4random-fork/arc4random-fork.c tests/arc4randomforktest.c 204$CP $libc_regress/arc4random-fork/arc4random-fork.c tests/arc4randomforktest.c
208$CP $libc_regress/explicit_bzero/explicit_bzero.c tests 205$CP $libc_regress/explicit_bzero/explicit_bzero.c tests
@@ -213,71 +210,12 @@ $CP $libssl_regress/ssl/testssl tests
213for i in `find $libssl_regress -name '*.c'`; do 210for i in `find $libssl_regress -name '*.c'`; do
214 $CP "$i" tests 211 $CP "$i" tests
215done 212done
213
216$CP $libssl_regress/certs/ca.pem tests 214$CP $libssl_regress/certs/ca.pem tests
217$CP $libssl_regress/certs/server.pem tests 215$CP $libssl_regress/certs/server.pem tests
218
219# setup test drivers
220# do not directly run all test programs
221test_drivers=(
222 aeadtest
223 evptest
224 pq_test
225 ssltest
226 arc4randomforktest
227 pidwraptest
228)
229tests_posix_only=(
230 arc4randomforktest
231 explicit_bzero
232 pidwraptest
233)
234$CP $libc_src/string/memmem.c tests/
235(cd tests
236 $CP Makefile.am.tpl Makefile.am
237
238 for i in `ls -1 *.c|sort|grep -v memmem.c`; do
239 TEST=`echo $i|sed -e "s/\.c//"`
240 if [[ ${tests_posix_only[*]} =~ "$TEST" ]]; then
241 echo "if !HOST_WIN" >> Makefile.am
242 fi
243 if ! [[ ${test_drivers[*]} =~ "$TEST" ]]; then
244 echo "TESTS += $TEST" >> Makefile.am
245 fi
246 echo "check_PROGRAMS += $TEST" >> Makefile.am
247 echo "${TEST}_SOURCES = $i" >> Makefile.am
248 if [[ ${TEST} = "explicit_bzero" ]]; then
249 echo "if !HAVE_MEMMEM" >> Makefile.am
250 echo "explicit_bzero_SOURCES += memmem.c" >> Makefile.am
251 echo "endif" >> Makefile.am
252 fi
253 if [[ ${tests_posix_only[*]} =~ "$TEST" ]]; then
254 echo "endif" >> Makefile.am
255 fi
256 done
257)
258$CP $libcrypto_regress/evp/evptests.txt tests
259$CP $libcrypto_regress/aead/aeadtests.txt tests
260$CP $libcrypto_regress/pqueue/expected.txt tests/pq_expected.txt
261chmod 755 tests/testssl 216chmod 755 tests/testssl
262for i in "${test_drivers[@]}"; do
263 if [ -e tests/${i}.sh ]; then
264 if [[ ${tests_posix_only[*]} =~ "$i" ]]; then
265 echo "if !HOST_WIN" >> tests/Makefile.am
266 fi
267 if ! [[ ${tests_disabled[*]} =~ "$i" ]]; then
268 echo "TESTS += ${i}.sh" >> tests/Makefile.am
269 fi
270 if [[ ${tests_posix_only[*]} =~ "$i" ]]; then
271 echo "endif" >> tests/Makefile.am
272 fi
273 echo "EXTRA_DIST += ${i}.sh" >> tests/Makefile.am
274 fi
275done
276echo "EXTRA_DIST += aeadtests.txt" >> tests/Makefile.am
277echo "EXTRA_DIST += evptests.txt" >> tests/Makefile.am
278echo "EXTRA_DIST += pq_expected.txt" >> tests/Makefile.am
279echo "EXTRA_DIST += testssl ca.pem server.pem" >> tests/Makefile.am
280 217
218# add headers
281(cd include/openssl 219(cd include/openssl
282 $CP Makefile.am.tpl Makefile.am 220 $CP Makefile.am.tpl Makefile.am
283 for i in `ls -1 *.h|sort`; do 221 for i in `ls -1 *.h|sort`; do
@@ -285,8 +223,8 @@ echo "EXTRA_DIST += testssl ca.pem server.pem" >> tests/Makefile.am
285 done 223 done
286) 224)
287 225
288echo "copying manpages"
289# copy manpages 226# copy manpages
227echo "copying manpages"
290(cd man 228(cd man
291 $CP Makefile.am.tpl Makefile.am 229 $CP Makefile.am.tpl Makefile.am
292 230