+ (assert (string= (documentation #'docfoo t) "bar"))
+ (assert (string= (setf (documentation #'docfoo t) "zot") "zot"))
+ (assert (string= (documentation #'docfoo t) "zot"))
+ (assert (string= (documentation 'docfoo 'function) "baz"))
+ (assert (not (setf (documentation 'docfoo 'function) nil)))
+ (assert (string= (documentation 'docfoo 'function) "zot")))
+
+(with-test (:name (documentation built-in-macro) :skipped-on '(not :sb-doc))
+ (assert (documentation 'trace 'function)))
+
+(with-test (:name (documentation built-in-function) :skipped-on '(not :sb-doc))
+ (assert (documentation 'cons 'function)))
+
+(with-test (:name :describe-generic-function-with-assumed-type)
+ ;; Signalled an error at one point
+ (flet ((zoo () (gogo)))
+ (defmethod gogo () nil)
+ (describe 'gogo)))
+
+(defmacro bug-643958-test ()
+ "foo"
+ :ding!)
+
+(with-test (:name :bug-643958)
+ (assert (equal "foo" (documentation 'bug-643958-test 'function)))
+ (setf (documentation 'bug-643958-test 'function) "bar")
+ (assert (equal "bar" (documentation 'bug-643958-test 'function))))
+
+(with-test (:name :bug-881445
+ :skipped-on '(not :x86-64))
+ (let ((x (make-array (1- (expt 2 32)) :element-type '(unsigned-byte 8))))
+ (assert (> (sb-kernel:dynamic-usage) (length x)))
+ ;; prevent compiler from getting too smart...
+ (eval x)
+ t))