X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompare-and-swap.impure.lisp;h=e16e0cb86dc610e00a0a3f27c85b36be072db884;hb=9c9d6dbdc28a8bfe70be09f35263e9ec02411d0e;hp=e1dc09bfa94064376aae6302334e17addfeb94b6;hpb=3cd0a9aafc20ce12075f38ebaed86676c922fde2;p=sbcl.git diff --git a/tests/compare-and-swap.impure.lisp b/tests/compare-and-swap.impure.lisp index e1dc09b..e16e0cb 100644 --- a/tests/compare-and-swap.impure.lisp +++ b/tests/compare-and-swap.impure.lisp @@ -3,7 +3,7 @@ (defstruct xxx yyy) (macrolet ((test (init op) - `(with-test (:name (:cas :basics ,op)) + `(with-test (:name (:cas :basics ,(intern (symbol-name op) "KEYWORD"))) (let ((x ,init) (y (list 'foo)) (z (list 'bar))) @@ -120,6 +120,10 @@ (defstruct box (word 0 :type sb-vm:word)) +;; Have the following tests check that CAS access to the superclass +;; works in the presence of a subclass sharing the conc-name. +(defstruct (subbox (:include box) (:conc-name "BOX-"))) + (defun inc-box (box n) (declare (fixnum n) (box box)) (loop repeat n @@ -427,7 +431,7 @@ (assert (eq :ok (cas bar :ok nil))) (assert (not (cas bar nil t))))) -(with-test (:name atomic-push +(with-test (:name :atomic-push :skipped-on '(not :sb-thread)) (let ((store (cons nil nil)) (n 100000))