X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fpackages.impure.lisp;h=0e782181ebe30e68e43786e07feae83da3b20fb1;hb=179de85ab4fdff049c72ddb2767b93d838494b09;hp=db5c3b2aae565e0306cdab9615b514c040c50f5f;hpb=9152e162ab62d7027a4403fb9b461c31847649a2;p=sbcl.git diff --git a/tests/packages.impure.lisp b/tests/packages.impure.lisp index db5c3b2..0e78218 100644 --- a/tests/packages.impure.lisp +++ b/tests/packages.impure.lisp @@ -272,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 @@ -285,14 +290,17 @@ 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 () - (handler-bind ((error (lambda (c) - (sb-thread:signal-semaphore sem) - (signal c)))) - (make-package :bug-511072)))))) - (sb-thread:wait-on-semaphore sem) - (assert (eq 'cons (read-from-string "CL:CONS"))))) + (sem1 (sb-thread:make-semaphore)) + (sem2 (sb-thread:make-semaphore)) + (t2 (make-join-thread (lambda () + (handler-bind ((error (lambda (c) + (sb-thread:signal-semaphore sem1) + (sb-thread:wait-on-semaphore sem2) + (abort c)))) + (make-package :bug-511072)))))) + (sb-thread:wait-on-semaphore sem1) + (with-timeout 10 + (assert (eq 'cons (read-from-string "CL:CONS")))) + (sb-thread:signal-semaphore sem2)))