forked from cl-plus-ssl/cl-plus-ssl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis-run-tests.sh
executable file
·64 lines (61 loc) · 3.29 KB
/
.travis-run-tests.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
# safe mode
set -euo pipefail
# verbose
set -v
ros -e '(when (uiop:getenvp "READTABLE_CASE_INVERT")
(format t "changing readtable-case to :invert~%")
(setq *readtable*
(let ((rt (copy-readtable)))
(setf (readtable-case rt) :invert)
rt)))' \
-e '(progn
(format t "(lisp-implementation-type): ~A~%" (lisp-implementation-type))
(format t "(lisp-implementation-version): ~A~%" (lisp-implementation-version))
(format t "*features*: ~A~%" *features*)
(format t "(asdf:asdf-version): ~A~%" (asdf:asdf-version)))' \
-e '#+abcl
(progn
(format t "Loading abcl-asdf and switching maven repo URL to HTTPS (see https://github.com/armedbear/abcl/issues/151)~%")
(require :abcl-contrib)
(format t "abcl-contrib loaded...~%")
(require :abcl-asdf)
(format t "abcl-asdf loaded...~%")
(format t "*features*: ~A~%" *features*)
(setf (symbol-value (read-from-string "abcl-asdf::*default-repository*"))
"https://repo1.maven.org/maven2/")
(format t "abcl-asdf::*default-repository* assigned the HTTPS URL.~%"))' \
-e '(ql:quickload :cffi)' \
-e '(format t "cffi loaded.~%")' \
-e '(ql:quickload :cl+ssl/config)' \
-e '(format t "cl+ssl/config loaded.~%")' \
-e '(let ((lib-load-mode (uiop:getenvp "LIB_LOAD_MODE")))
(cond ((string= "new" lib-load-mode)
(cl+ssl/config:define-libcrypto-path "test/run-on-many-lisps-and-openssls/openssl-releases/bin/'$OPENSSL-${BITS}bit'/lib/libcrypto.so")
(cl+ssl/config:define-libssl-path "test/run-on-many-lisps-and-openssls/openssl-releases/bin/'$OPENSSL-${BITS}bit'/lib/libssl.so"))
((string= "old" lib-load-mode)
(cffi:load-foreign-library "test/run-on-many-lisps-and-openssls/openssl-releases/bin/'$OPENSSL-${BITS}bit'/lib/libcrypto.so")
(format t "libcrypto.so loaded.~%")
(cffi:load-foreign-library "test/run-on-many-lisps-and-openssls/openssl-releases/bin/'$OPENSSL-${BITS}bit'/lib/libssl.so")
(format t "libssl.so loaded.~%")
(pushnew :cl+ssl-foreign-libs-already-loaded *features*))
(t
(format t "Unexpected LIB_LOAD_MODE value: ~A~%" lib-load-mode)
(uiop:quit 1))))' \
-e '(ql:quickload :cl+ssl) ;; load cl+ssl separately from cl+ssl.test only because cl+ssl.test can not be loaded in the :invert readtable-case due to its dependency ironclad, as of 2019-10-20' \
-e '(format t "cl+ssl loaded.~%")' \
-e '(when (uiop:getenvp "READTABLE_CASE_INVERT")
(format t "restoring readtable-case to :upcase before loading cl+ssl.test~%")
(setf (readtable-case *readtable*) :upcase))' \
-e '(ql:quickload :cl+ssl.test)' \
-e '(format t "(cl+ssl::compat-openssl-version): ~A~%" (cl+ssl::compat-openssl-version))' \
-e '(let ((results
#+ sbcl
(coveralls:with-coveralls (:exclude "test")
(5am:run :cl+ssl))
#- sbcl
(5am:run :cl+ssl)
))
(5am:explain! results)
(unless (5am:results-status results)
(uiop:quit 1)))'