anchor.diff:    (format nil "~A/blob?key=~A"
             test-grid::*gae-blobstore-base-url* blob-key))
   
  -(defun lib-log-local-uri (test-run lib-result)
  +(defun lib-log-local-uri (joined-lib-result)
     (format nil "file://~A~A"
  -          (test-grid::run-directory (test-grid::run-descr test-run))
  -          (string-downcase (getf lib-result :libname))))
  -
  -(defun lib-log-uri (lib-result)
  -  (let ((blob-key (getf lib-result :log-blob-key)))
  +          (test-grid::run-directory (test-grid::run-descr (test-run joined-lib-result)))
  +          (string-downcase (getf (lib-result joined-lib-result) :libname))))
  +
  +(defun no-blob-key-js-alert (&rest unused-args)
  +  (declare (ignore unused-args))
  +  "javascript:alert('The blobstore key is not specified, seems like the library log was not submitted to the online storage')")
  +
  +;(defparameter *no-blob-key-printer* 'no-blob-key-js-alert)
  +(defparameter *no-blob-key-printer* 'lib-log-local-uri)
  +
  +(defun lib-log-uri (joined-lib-result)
  +  (let ((blob-key (getf (lib-result joined-lib-result) :log-blob-key)))
       (if blob-key
           (blob-uri blob-key)
  -        "javascript:alert('The blobstore key is not specified, seems like the library log was not submitted to the online storage')")))
  +        (funcall *no-blob-key-printer* joined-lib-result))))
   
   (defun aggregated-status (normalized-status)
     "Returns the test resutl as one symbol, even
  
positive.code: (defpackage #:test-grid-reporting
    (:use :cl))
  
  
negative.code:              (lisp (getf run-descr :lisp))
               (lib-world (getf run-descr :lib-world))
               (libname (getf lib-result :libname)))
          (push (make-instance 'joined-lib-result :lib-result lib-result :test-run run)
                (gethash (list lisp lib-world libname) all-results))))
      all-results))
  
  