;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (test-cve) #:use-module (guix cve) #:use-module (srfi srfi-1) #:use-module (srfi srfi-64)) (define %sample (search-path %load-path "tests/cve-sample.xml")) (define (vulnerability id packages) (make-struct (@@ (guix cve) ) 0 id packages)) (define %expected-vulnerabilities ;; What we should get when reading %SAMPLE. (list ;; CVE-2003-0001 has no "/a" in its product list so it is omitted. ;; CVE-2004-0230 lists "tcp" as an application, but lacks a version number. (vulnerability "CVE-2008-2335" '(("phpvid" "1.2" "1.1"))) (vulnerability "CVE-2008-3522" '(("enterprise_virtualization" "3.5") ("jasper" "1.900.1"))) (vulnerability "CVE-2009-3301" '(("openoffice.org" "2.3.0" "2.2.1" "2.1.0"))) ;; CVE-2015-8330 has no software list. )) (test-begin "cve") (test-equal "xml->vulnerabilities" %expected-vulnerabilities (call-with-input-file %sample xml->vulnerabilities)) (test-equal "vulnerabilities->lookup-proc" (list (list (first %expected-vulnerabilities)) '() '() (list (second %expected-vulnerabilities)) (list (third %expected-vulnerabilities))) (let* ((vulns (call-with-input-file %sample xml->vulnerabilities)) (lookup (vulnerabilities->lookup-proc vulns))) (list (lookup "phpvid") (lookup "jasper" "2.0") (lookup "foobar") (lookup "jasper" "1.900.1") (lookup "openoffice.org" "2.3.0")))) (test-end "cve") ass='nohover'>AgeCommit message (Expand)Author 2019-05-13doc: Add Russian translation....Ludovic Courtès 2019-05-04doc: Warn about missing entries in htmlxref.cnf....Ludovic Courtès 2019-04-24doc: Add Simplified Chinese translation....Ludovic Courtès 2019-04-23doc: Add Spanish translation....Miguel Ángel Arruga Vivas 2019-03-13doc: Document the graphical installer some more....Ludovic Courtès 2018-11-01doc: Add German translation....Julien Lepiller 2018-04-29build: Use only one domain for guix-manual....Julien Lepiller 2018-04-25build: Add silent rules for Texinfo xref translation....Ludovic Courtès 2018-04-19gnu: doc: Add French documentation....Julien Lepiller 2018-04-19gnu: doc: Allow documentation to be translated....Julien Lepiller 2018-01-20build: Declare “doc/guix.texi“ dependencies....Mathieu Lirzin 2017-01-12build: Remove reference to 'doc/emacs.texi'....Ludovic Courtès 2016-05-24build: Use "%D%" in Makefile fragments....Mathieu Lirzin 2016-04-21build: Move 'Makefile' fragments to subdirectories....Mathieu Lirzin