X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fgc.impure.lisp;h=2a3f9b4854c10bc5375462100d44ef7efd80ad13;hb=40f6a8f39da1faba169a081dfd3aeb7ad8391f55;hp=faf5693d34f42f237de4ceaf2ee0e27a969ad942;hpb=6848a92fd4af23d0695eeaaed9efcbdfd9e1d9e5;p=sbcl.git diff --git a/tests/gc.impure.lisp b/tests/gc.impure.lisp index faf5693..2a3f9b4 100644 --- a/tests/gc.impure.lisp +++ b/tests/gc.impure.lisp @@ -62,3 +62,17 @@ ;; OAOO-ify them (probably to src/compiler/generic/params.lisp). (assert (= (sb-ext:generation-minimum-age-before-gc i) 0.75)) (assert (= (sb-ext:generation-number-of-gcs-before-promotion i) 1)))) + +(defun stress-gc () + (let* ((x (make-array (truncate (* 0.2 (dynamic-space-size)) + sb-vm:n-word-bytes)))) + (elt x 0))) + +(with-test (:name :bug-936304) + (gc :full t) + (assert (eq :ok (handler-case + (progn + (loop repeat 50 do (stress-gc)) + :ok) + (storage-condition () + :oom)))))