~ruther/guix-local

5c6a062d48e36d6f086c0308d57c65df87b3c518 — Ludovic Courtès 10 years ago 158f573
lint: 'check-vulnerabilities' follows package replacements.

* guix/scripts/lint.scm (check-vulnerabilities): Check the replacement
of PACKAGE.
* tests/lint.scm ("cve: patched vulnerability in replacement"): New test.
2 files changed, 21 insertions(+), 1 deletions(-)

M guix/scripts/lint.scm
M tests/lint.scm
M guix/scripts/lint.scm => guix/scripts/lint.scm +2 -1
@@ 644,7 644,8 @@ from ~s: ~a (~s)~%")
    (()
     #t)
    ((vulnerabilities ...)
     (let* ((patches   (filter-map patch-file-name
     (let* ((package   (or (package-replacement package) package))
            (patches   (filter-map patch-file-name
                                   (or (and=> (package-source package)
                                              origin-patches)
                                       '())))

M tests/lint.scm => tests/lint.scm +19 -0
@@ 559,6 559,25 @@ requests."
                             (patches
                              (list "/a/b/pi-CVE-2015-1234.patch"))))))))))

(test-assert "cve: patched vulnerability in replacement"
  (mock ((guix scripts lint) package-vulnerabilities
         (lambda (package)
           (list (make-struct (@@ (guix cve) <vulnerability>) 0
                              "CVE-2015-1234"
                              (list (cons (package-name package)
                                          (package-version package)))))))
        (string-null?
         (with-warnings
           (check-vulnerabilities
            (dummy-package
             "pi" (version "3.14") (source (dummy-origin))
             (replacement (dummy-package
                           "pi" (version "3.14")
                           (source
                            (dummy-origin
                             (patches
                              (list "/a/b/pi-CVE-2015-1234.patch"))))))))))))

(test-assert "formatting: lonely parentheses"
  (string-contains
   (with-warnings