anchor.diff:         (cache-expire *test-cache* :two :keep-file t)
          (format t "~2&expired :one and :two:~%")(finish-output)
          (print-files)
  -       (assert-true (string= (cache-get *test-cache* :one)   "ONE-4"))
  +       (assert-true (string= (cache-get *test-cache* :one)   "one-4"))
          (format t "~2&expirations~%~:{~15A in ~4D seconds~%~}"
                  (cache-map-entries *test-cache*
                                     'list (lambda (entry)
  
positive.code:                     (directory "/tmp/cache/**/*.*")))
     (setf *test-counter* 0)
     (let ((delay 7))
       (flet ((producer (key) (values (format nil "~A-~A" key 
                                              (incf *test-counter* ))
                                      (+ delay (get-universal-time))))
              (print-files ()
                (dolist (file (sort (mapcar (function namestring) (directory "/tmp/cache/**/*.*"))
                                    (function string<)))
                  (princ file) (terpri))))
         (setf *test-cache* (make-cache #p"/tmp/cache/" (function producer) 
                                        :value-file-type "SYM"))
         (assert-true (string= (cache-get *test-cache* :one)   "ONE-1"))
         (assert-true (string= (cache-get *test-cache* :two)   "TWO-2"))
         (assert-true (string= (cache-get *test-cache* :three) "THREE-3"))
         (assert-true (string= (cache-get *test-cache* :one)   "ONE-1"))
         (assert-true (string= (cache-get *test-cache* :two)   "TWO-2"))
         (assert-true (string= (cache-get *test-cache* :three) "THREE-3"))
         (setf *test-cache-2* (make-cache #p"/tmp/cache/" (function producer)))
         (assert-true (string= (cache-get *test-cache-2* :one)   "ONE-1"))
         (assert-true (string= "SYM" (cache-value-file-type *test-cache-2*)))
         (format t "~2&filled:~%")(finish-output)
         (print-files)
  
negative.code:        (format t "~2&waiting ~D s expiration of :one and :three:~%" delay)
         (finish-output)
         (sleep (1+ delay))
         (assert-true (string= (cache-get *test-cache* :one)   "one-5"))
         (assert-true (string= (cache-get *test-cache* :three) "three-6"))
         (cache-expire-all *test-cache*)
         (format t "~2&expired all~%")(finish-output)
         (print-files)
         (assert-true (string= (cache-get *test-cache* :one)   "one-7"))
         (assert-true (string= (cache-get *test-cache* :three) "three-8"))
         (assert-true (string= (cache-get *test-cache-2* :one)   "one-7"))
         (assert-true (string= (cache-get *test-cache-2* :three) "three-8"))
         (cache-map-entries *test-cache* nil (function print))))))
  
  #||
  
  