More efficient (stable) sort of lists
[sbcl.git] / tests / packages.impure.lisp
index 7e912ad..96431a5 100644 (file)
 (assert (eq *foo* (find-package "")))
 (assert (delete-package ""))
 
+(make-package "BAR")
+(defvar *baz* (rename-package "BAR" "BAZ"))
+(assert (eq *baz* (find-package "BAZ")))
+(assert (delete-package *baz*))
+
 (handler-case
     (export :foo)
   (package-error (c) (princ c))
@@ -248,7 +253,7 @@ if a restart was invoked."
 ;;; Make sure that resolving a name-conflict in IMPORT doesn't leave
 ;;; multiple symbols of the same name in the package (this particular
 ;;; scenario found in 1.0.38.9, but clearly a longstanding issue).
-(with-test (:name import-conflict-resolution :fails-on :sbcl)
+(with-test (:name import-conflict-resolution)
   (with-packages (("FOO" (:export "NIL"))
                   ("BAR" (:use)))
     (with-name-conflict-resolution ((sym "FOO" "NIL"))
@@ -267,6 +272,11 @@ if a restart was invoked."
       (is (eq (sym "FOO" "SYM")
               (sym "BAZ" "SYM"))))))
 
+(with-test (:name unintern.2)
+  (with-packages (("FOO" (:intern "SYM")))
+    (unintern :sym "FOO")
+    (assert (find-symbol "SYM" "FOO"))))
+
 ;;; WITH-PACKAGE-ITERATOR error signalling had problems
 (with-test (:name with-package-itarator.error)
   (assert (eq :good
@@ -280,8 +290,7 @@ if a restart was invoked."
                   :good)))))
 
 ;;; MAKE-PACKAGE error in another thread blocking FIND-PACKAGE & FIND-SYMBOL
-#+sb-thread
-(with-test (:name :bug-511072)
+(with-test (:name :bug-511072 :skipped-on '(not :sb-thread))
   (let* ((p (make-package :bug-511072))
          (sem (sb-thread:make-semaphore))
          (t2 (sb-thread:make-thread (lambda ()