;;; 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") p'>AgeCommit message (Expand)Author 2022-09-24system: image: Add wsl2 support....Alex Griffin 2022-09-24system: image: Add tarball support....Alex Griffin 2022-09-24image: Make the operating-system field mandatory....Mathieu Othacehe 2022-09-07image: Use #true and #false....Mathieu Othacehe 2022-09-07image: Use a default size partition value....Mathieu Othacehe 2022-08-31image: Add comments....Mathieu Othacehe 2022-08-30image: Remove an unused field....Mathieu Othacehe 2022-08-30image: Perform more sanitizing....Mathieu Othacehe 2022-07-01image: Add sanitizers for 'format' and 'partition-table-type'....Ludovic Courtès 2022-07-01image: Add default value for partition initializer....Ludovic Courtès 2022-05-25Move (gnu platform) and (gnu platforms ...) to guix/....Josselin Poiret 2021-12-23image: Add a shared-network? field....Mathieu Othacehe 2021-12-23image: Add a shared-store? field....Mathieu Othacehe 2021-11-12image: Support generating GPT images via `partition-table-type`....Ryan Sundberg 2021-10-11gnu: Add platform support....Mathieu Othacehe 2021-02-17image: Export image? procedure....Mathieu Othacehe 2020-09-30image: Add image-type support....Mathieu Othacehe 2020-06-24image: Move hurd image definition to a dedicated file....Mathieu Othacehe 2020-06-13image: Add 'target' support....Mathieu Othacehe