Test for broken copy-more-arg harder
[sbcl.git] / tests / compiler.pure.lisp
index ee6905e..c61786e 100644 (file)
   ;; Fixed on x86oids only, but other platforms still start
   ;; their stack frames at 8 slots, so this is less likely
   ;; to happen.
-  (labels ((iota (n)
-             (loop for i below n collect i))
-           (test-function (function skip)
-             ;; function should just be (subseq x skip)
-             (loop for i from skip below (+ skip 16) do
-               (let* ((values (iota i))
-                      (f (apply function values))
-                      (subseq (subseq values skip)))
-                 (assert (equal f subseq)))))
-           (make-function (n)
-             (let ((gensyms (loop for i below n collect (gensym))))
-               (compile nil `(lambda (,@gensyms &rest rest)
-                               (declare (ignore ,@gensyms))
-                               rest)))))
-    (dotimes (i 16)
-      (test-function (make-function i) i))))
+  (let ((limit 33))
+    (labels ((iota (n)
+               (loop for i below n collect i))
+             (test-function (function skip)
+               ;; function should just be (subseq x skip)
+               (loop for i from skip below (+ skip limit) do
+                 (let* ((values (iota i))
+                        (f (apply function values))
+                        (subseq (subseq values skip)))
+                   (assert (equal f subseq)))))
+             (make-function (n)
+               (let ((gensyms (loop for i below n collect (gensym))))
+                 (compile nil `(lambda (,@gensyms &rest rest)
+                                 (declare (ignore ,@gensyms))
+                                 rest)))))
+      (dotimes (i limit)
+        (test-function (make-function i) i)))))