mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
- Capture before/after state of globaldb and global symbols for comparison. - Do a better job clobbering remants of defining forms after each test file. - Allow DEFSTRUCT and DEFTYPE in pure tests. The intent of this change is to get a larger set of tests that don't fork a new child, which will provide more metrics on the effectiveness of GC during the regression run. Contrary to the comments, DEFUN and DEFMACRO do not render a test impure, because DELETE-PACKAGE undoes those. Apparently thread creation is treated as pure, evidenced by the mere existence of 'threads.pure.lisp'. Also, creating a file is not impure, because state change outside the process is usually irrelevant. A failing pure test may have side-effects by accident, which isn't great, but we can live with it.
32 lines
1.2 KiB
Common Lisp
32 lines
1.2 KiB
Common Lisp
;;;; miscellaneous tests of LOOP-related stuff
|
|
|
|
;;;; This software is part of the SBCL system. See the README file for
|
|
;;;; more information.
|
|
;;;;
|
|
;;;; While most of SBCL is derived from the CMU CL system, the test
|
|
;;;; files (like this one) were written from scratch after the fork
|
|
;;;; from CMU CL.
|
|
;;;;
|
|
;;;; This software is in the public domain and is provided with
|
|
;;;; absolutely no warranty. See the COPYING and CREDITS files for
|
|
;;;; more information.
|
|
|
|
;;; Bug 49b, reported by Peter Van Eynde 2000-07-25, was fixed by
|
|
;;; Alexey Dejneka's patch on sbcl-devel 2001-09-30.
|
|
;;;
|
|
(let ((package (make-package "loop-test-scratch")))
|
|
(intern "blah" package)
|
|
(let ((blah2 (intern "blah2" package)))
|
|
(export blah2 package))
|
|
(assert (equal '("blah" "blah2")
|
|
(sort (loop for sym being each present-symbol of package
|
|
for sym-name = (symbol-name sym)
|
|
collect sym-name)
|
|
#'string<)))
|
|
(assert (equal '("blah2")
|
|
(sort (loop for sym being each external-symbol of package for
|
|
sym-name = (symbol-name sym) collect sym-name)
|
|
(function string<)))))
|
|
|
|
;;; success
|