This still needs refinements, but works.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
$(MAKE) do-regressions
do-regressions: regressions config.lsp
- $(ECL) -norc -load config.lsp -eval '(ecl-tests::run-regressions-tests)' -eval '(ext:quit)' < /dev/null
+ $(ECL) -norc -load config.lsp -eval '(ecl-tests::run-regressions-tests)' -eval '(ext:quit)' 2>&1 | tee regressions.log
show-fails: regressions.log
- grep "^Test .* failed" regressions.log
+ tail -n 8 regressions.log | head -n 6
#
# Create directories
;; we simply can not run these tests
#-msvc
(when (zerop (si::system "iconv -l >/dev/null 2>&1"))
- (load "eformat-002.lsp"))
+ (load "eformat-002.lsp"))
(load "eformat-001.lsp"))
-(time (sb-rt:do-tests))
+(setf sb-rt::*expected-failures*
+ (nconc sb-rt::*expected-failures*
+ '(MOP-GF-ADD/REMOVE-DEPENDENT)))
+(time (sb-rt:do-tests))
(format t "Mismatch on line ~D between~% ~S and~% ~S" n line i)
(return-from test-output nil))))
(when iconv-name
- (si::system (format nil "iconv -f ~A -t UTF-32BE ~A > ~A"
- iconv-name encoded-filename iconv-filename))
- (compare-files decoded-filename iconv-filename all-chars))))
+ (let ((command (format nil "iconv -f ~A -t UTF-32BE ~A > ~A"
+ iconv-name encoded-filename iconv-filename)))
+ (if (zerop
+ (si::system command))
+ (compare-files decoded-filename iconv-filename all-chars)
+ (prog1 T
+ (format t "~&;;; iconv command failed:~A" command)))))))
;;; Date: 09/01/2007
;;; From: Juanjo
:WINDOWS-1250 :WINDOWS-1251 :WINDOWS-1252 :WINDOWS-1253
:WINDOWS-1254 :WINDOWS-1256 :WINDOWS-1257
- ; :CP932 :WINDOWS-1255 :WINDOWS-1258 with
- ; iconv may output combined characters, when ECL would
- ; output the base and the comibining one. Hence, no simple
- ; comparison is possible.
+ ;; :CP932 :WINDOWS-1255 :WINDOWS-1258 with
+ ;; iconv may output combined characters, when ECL would
+ ;; output the base and the comibining one. Hence, no simple
+ ;; comparison is possible.
- :ISO-2022-JP :ISO-2022-JP-1)
+ :ISO-2022-JP
+ ;; :ISO-2022-JP-1
+ ;; iconv doesn't support ISO-2022-JP-1 (hue hue hue)
+ )
unless (progn
(format t "~%;;; Testing ~A " name)
(loop for i from 1 to 10
;; the first call to defmethod adds two entries: one for the
;; add-method and another one for a reinitialize-instance with
;; the name of the function
- (and (equalp l1 (list dep))
- (eq l2 (rest l3))
- (equalp l3
- (list (list f 'remove-method m1)
- (list f 'add-method m1)
- (list f :name 'mop-gf-add/remove-dependent)))
- (null l4)
- (eq l5 l3)
- (eq l6 l3)
- t)))
- t)
+ (values (equalp l1 (list dep))
+ (eq l2 (rest l3))
+ (equalp l3
+ (list (list f 'remove-method m1)
+ (list f 'add-method m1)
+ (list f :name 'mop-gf-add/remove-dependent)))
+ (null l4)
+ (eq l5 l3)
+ (eq l6 l3)
+ t)))
+ t t t t t t t)
;;; Date: 23/04/2012
;;; Description:
;;; RUNNING TESTS
;;;
-(defun run-regressions-tests (&optional (output (merge-pathnames "regressions.log"
- *output-directory*)))
+(defun run-regressions-tests ()
(ensure-regressions)
;; Cleanup stray files
(cleanup-directory *regressions-sandbox*)
- ;; Run with given image
- (ensure-directories-exist output)
(unwind-protect
(progn
(ext:chdir *regressions-sandbox*)
(ext:run-program *test-image*
*test-image-args*
:input (merge-pathnames "doit.lsp" *regressions-sandbox*)
- :output output
+ :output t
:error :output))
(ext:chdir *here*)))