aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-11-26 22:59:06 +0100
committerLudovic Courtès <ludo@gnu.org>2015-11-26 23:04:19 +0100
commit5432734b00ae14c3a93af358fc7bbf80e3db5ee8 (patch)
treea2dbd935bfb43f2d7e4523a2182de26f3268103f /tests
parent0eef7551303e3fc855809d84eed8421d2a075cfa (diff)
downloadgnu-guix-5432734b00ae14c3a93af358fc7bbf80e3db5ee8.tar
gnu-guix-5432734b00ae14c3a93af358fc7bbf80e3db5ee8.tar.gz
lint: Add "cve" checker.
Fixes <http://bugs.gnu.org/21289>. * guix/scripts/lint.scm (package-name->cpe-name, package-vulnerabilities) (check-vulnerabilities): New procedures. * guix/scripts/lint.scm (%checkers): Add "cve" checker. * tests/lint.scm ("cve", "cve: one vulnerability"): New tests. * doc/guix.texi (Invoking guix lint): Mention it.
Diffstat (limited to 'tests')
-rw-r--r--tests/lint.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/lint.scm b/tests/lint.scm
index 3f149562d4..50316ade9a 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -512,6 +512,23 @@ requests."
(check-source pkg))))
"not reachable: 404")))
+(test-assert "cve"
+ (mock ((guix scripts lint) package-vulnerabilities (const '()))
+ (string-null?
+ (with-warnings (check-vulnerabilities (dummy-package "x"))))))
+
+(test-assert "cve: one vulnerability"
+ (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-contains
+ (with-warnings
+ (check-vulnerabilities (dummy-package "pi" (version "3.14"))))
+ "vulnerable to CVE-2015-1234")))
+
(test-assert "formatting: lonely parentheses"
(string-contains
(with-warnings