| 1 | (prove:plan 1) | 
|---|
| 2 |  | 
|---|
| 3 | ;;; FIXME test shouldn't signal error | 
|---|
| 4 | (prove:plan 1) | 
|---|
| 5 | (let ((file (asdf:system-relative-pathname :abcl | 
|---|
| 6 |                                            "t/eg/compiler-fails-on-inline-recursion.lisp"))) | 
|---|
| 7 |   (prove:ok | 
|---|
| 8 |    (handler-case  | 
|---|
| 9 |        (compile-file file) | 
|---|
| 10 |      ;;; anything signalled as error is a failure | 
|---|
| 11 |      (t (e) (prove:diag (format nil "Compilation failed signalling ~a" e)))) | 
|---|
| 12 |    (format nil "Compiling '~a'~%" file))) | 
|---|
| 13 |       | 
|---|
| 14 | ;; <https://mailman.common-lisp.net/pipermail/armedbear-devel/2020-May/004054.html> | 
|---|
| 15 | (prove:plan 1) | 
|---|
| 16 | (prove:ok | 
|---|
| 17 |   (handler-case | 
|---|
| 18 |       (multiple-value-bind (compiled-function warnings failure) | 
|---|
| 19 |           (compile nil '(lambda () ((lambda () ((lambda () 0)))))) | 
|---|
| 20 |         (equal | 
|---|
| 21 |          (compiled-function warnings failure) | 
|---|
| 22 |          (t nil nil))) | 
|---|
| 23 |     (t (e) (prove:diag (format nil "Compilation failed signalling ~a" e)))) | 
|---|
| 24 |   "Able to compile nested lambda expression") | 
|---|
| 25 |  | 
|---|
| 26 | ;; <https://mailman.common-lisp.net/pipermail/armedbear-devel/2020-May/004055.html> | 
|---|
| 27 | (prove:plan 1) | 
|---|
| 28 | (prove:ok | 
|---|
| 29 |  (handler-case | 
|---|
| 30 |      (multiple-value-bind (compiled-function warnings failure) | 
|---|
| 31 |          (compile nil '(lambda () (dotimes (i 1 2) (catch 'c 3)))) | 
|---|
| 32 |        (equal | 
|---|
| 33 |         (compiled-function warnings failure) | 
|---|
| 34 |         (t nil nil))) | 
|---|
| 35 |    (t (e) (prove:diag (format nil "Compilation failed signalling ~a" e)))) | 
|---|
| 36 |  "Able to compile tagbody not found form.") | 
|---|
| 37 |  | 
|---|
| 38 | (prove:plan 1) | 
|---|
| 39 | (prove:ok | 
|---|
| 40 |  (let* ((instructions | 
|---|
| 41 |           (list | 
|---|
| 42 |            (jvm::make-instruction 58 '(5)) | 
|---|
| 43 |            (jvm::make-instruction 58 '(2 4 :wide-prefix)))) | 
|---|
| 44 |         (code | 
|---|
| 45 |           (make-array (length instructions) | 
|---|
| 46 |                       :initial-contents instructions)) | 
|---|
| 47 |         (bytes | 
|---|
| 48 |           (jvm::code-bytes code))) | 
|---|
| 49 |    (eq (length bytes) 6)) | 
|---|
| 50 |  "Compilation of wide ASTORE instruction.") | 
|---|
| 51 |  | 
|---|
| 52 | ;;; <https://github.com/armedbear/abcl/issues/541> | 
|---|
| 53 | (prove:plan 1) | 
|---|
| 54 | (let ((file (asdf:system-relative-pathname :abcl | 
|---|
| 55 |                                            "t/eg/compiler-fails-top-level-lambda.lisp"))) | 
|---|
| 56 |   (prove:ok | 
|---|
| 57 |    (handler-case  | 
|---|
| 58 |        (compile-file file) | 
|---|
| 59 |      ;;; anything signalled as error is a failure | 
|---|
| 60 |      (t (e) (prove:diag (format nil "Compilation failed signalling ~a" e)))) | 
|---|
| 61 |    (format nil "Compiling '~a'~%" file))) | 
|---|
| 62 |  | 
|---|
| 63 |   | 
|---|
| 64 |     | 
|---|
| 65 |  | 
|---|
| 66 | (prove:finalize) | 
|---|
| 67 |  | 
|---|