tests: bytecmp: be more bytecmp friendly

This commit is contained in:
Daniel Kochmański 2016-09-07 14:29:21 +02:00
parent 93a2f19d4c
commit 29ab40fde8
4 changed files with 28 additions and 16 deletions

2
.gitignore vendored
View file

@ -67,3 +67,5 @@ regressions/eformat-tests/*.txt
/examples/ecl_qt/lisp-envi.a
/examples/ecl_qt/qt/.qmake.stash
/examples/ecl_qt/qt/Makefile
*fasc
*.orig

View file

@ -526,18 +526,25 @@
(ext:with-clean-symbols (foo)
(test cmp.0025.paths
(let* ((output (compile-file-pathname "tmp/aux" :type :fasl))
#-ecl-bytecmp
(h-file (compile-file-pathname output :type :h))
#-ecl-bytecmp
(c-file (compile-file-pathname output :type :c))
#-ecl-bytecmp
(data-file (compile-file-pathname output :type :data)))
(is-true
(and
(zerop (si::system "rm -rf tmp; mkdir -p tmp"))
(with-compiler ("aux-compiler.0103-paths.lsp" :output-file output :c-file t
:h-file t :data-file t)
(with-compiler ("aux-compiler.0103-paths.lsp"
:output-file output
:c-file t :h-file t :data-file t)
'(defun foo (x) (1+ x)))
(probe-file output)
#-ecl-bytecmp
(probe-file c-file)
#-ecl-bytecmp
(probe-file h-file)
#-ecl-bytecmp
(probe-file data-file)
(zerop (si::system "rm -rf tmp; mkdir -p tmp"))
(delete-file "aux-compiler.0103-paths.lsp"))))))
@ -955,7 +962,7 @@
;;; of a mismatch between the position of the fields bytecodes.entry
;;; and cfun.entry
;;;
#-ecl-bytcmp
#-ecl-bytecmp
(test cmp.0040.bytecodes-entry-position
(let ((indices (funcall (compile nil
'(lambda ()
@ -1017,10 +1024,12 @@
*compiler.0122*))
(is-eql :bytecodes
(compiler.0122a))
#-ecl-bytecmp
(is-eql :c/c++
(progn (compile 'compiler.0122a)
(compiler.0122a)
*compiler.0122*))
#-ecl-bytecmp
(is-eql :c/c++
(compiler.0122a))))
@ -1099,15 +1108,16 @@
#+ieee-floating-point
(ext:with-clean-symbols (infty-test)
(test cmp.0047.infinity-test
(finishes (compile nil
(lambda ()
(> 0.0 ext:single-float-negative-infinity))))
(finishes
(compile nil
(lambda ()
(> 0.0 ext:single-float-negative-infinity))))
(is-true
(progn
(with-compiler ("aux-compiler-0048.infty-test.2.lsp" :load t)
'(defun doit () (> 0.0 ext:single-float-negative-infinity)))
(let ((ofile
(with-compiler ("aux-compiler-0048.infty-test.2.lsp" :load t)
'(defun doit () (> 0.0 ext:single-float-negative-infinity)))))
(delete-file "aux-compiler-0048.infty-test.2.lsp")
(delete-file "aux-compiler-0048.infty-test.2.fas")
(delete-file ofile)
(doit)))))

View file

@ -22,7 +22,7 @@
;;;
;;; Header <internal.h> should be included as <ecl/internal.h>
;;;
#-ecl-bytecmp
(test ffi.0001.callback
(is
(and (zerop (si::system "rm -rf tmp; mkdir tmp"))
@ -47,6 +47,7 @@
;;; Description:
;;; Callback examples based on the C compiler
;;;
#-ecl-bytecmp
(test ffi.0002.callback-sffi-example
(is
(and (zerop (si::system "rm -rf tmp; mkdir tmp"))
@ -75,7 +76,7 @@ int (*foo)(int) = #0;
;;; Callback examples based on the DFFI. Only work if this feature
;;; has been linked in.
;;;
#+dffi
#+(and dffi (not ecl-bytecmp))
(test ffi.0003.callback-dffi-example
(is
(and (zerop (si::system "rm -rf tmp; mkdir tmp"))

View file

@ -454,13 +454,12 @@
(list (+ x 1) (+ y 2) (+ z 3)))
(defgeneric meaningless-user-generic-function-for-universe (x y z)
#+(or (not :gcl) :ansi-cl) (:method ((x integer) (y integer) (z integer)) (+ x y z)))
(:method ((x integer) (y integer) (z integer)) (+ x y z)))
#+ (or)
(eval-when (:load-toplevel :execute)
(compile 'meaningless-user-function-for-universe)
;; Conditionalize to avoid a cmucl bug
#-(or cmu gcl ecl) (compile 'meaningless-user-generic-function-for-universe)
)
(compile 'meaningless-user-generic-function-for-universe))
(defparameter *functions*
(list #'cons #'car #'append #'values