anchor.diff:  
   (defun infer-package-name-1 (project-root lisp-file)
     (labels ((infer (project-root lisp-file)
  -             ; (project-root-asd-file project-root) => #P"/common-lisp/project-root/project-root.asd"
  -             ; lisp-file => #P"/common-lisp/project-root/tests/a/b.lisp
  +             ;; (project-root-asd-file project-root) =>
  +             ;;   #P"/common-lisp/project-root/project-root.asd"
  +             ;; lisp-file => #P"/common-lisp/project-root/tests/a/b.lisp
                (let ((dir1 (pathname-directory (project-root-asd-file project-root)))
                      (dir2 (pathname-directory lisp-file)))
                  (assert (eq :absolute (first dir1)))
  
positive.code:                              (null mismatch))
                     (return-from infer nil))
                   (if-let (pathname (project-root-pathname project-root))
                     (let ((prefix-directory (pathname-directory (uiop:ensure-directory-pathname pathname))))
                       ; prefix-directory => (:relative "tests")
                       (when (eq :relative (first prefix-directory))
                         (let* ((relative-lisp-file-directory (subseq dir2 mismatch))
  
negative.code:                                               (rest prefix-directory)
                                                :test #'equal)
                                      (length (rest prefix-directory)))))
                           ;; defsystem内に:pathname "tests"とあった場合
                           ;; project-root/tests/a/bの/a/bだけを残す
                           (when (eql mismatch2 (length (rest prefix-directory)))
                             (append (list (project-root-name project-root))
                                     (subseq relative-lisp-file-directory mismatch2)
  