;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Julien Lepiller ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Sarah Morgensen ;;; ;;; 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-opam) #:use-module (guix import opam) #:use-module (guix base32) #:
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2013-04-22packages: Add `package-field-location'....Ludovic Courtès
2013-04-17build: Add `sync-synopses.scm'....Ludovic Courtès
2013-03-19Work around <http://bugs.gnu.org/13095> in build-aux/download.scm....Ludovic Courtès
2013-01-15distro: Fetch bootstrap binaries from alpha.gnu.org....Ludovic Courtès
2013-01-06Merge branch 'master' into core-updates...Ludovic Courtès
2013-01-06distro: Update bootstrap binaries to an nscd-less libc....Ludovic Courtès
2013-01-06Update license headers....Ludovic Courtès
2012-12-20distro: Update bootstrap binaries....Ludovic Courtès
2012-11-16distro: Rebuild bootstrap Binutils and GCC....Ludovic Courtès
2012-10-17distro: Use our own pre-built Guile to bootstrap....Ludovic Courtès
(test-opam-syntax "parse-lists" list-pat '(("" . #f) ("[]" . list-pat) ("[make]" . (list-pat (var "make"))) ("[\"make\"]" . (list-pat (string-pat "make"))) ("[\n a\n b\n c]" . (list-pat (var "a") (var "b") (var "c"))) ("[a b \"c\"]" . (list-pat (var "a") (var "b") (string-pat "c"))) ;; complex lists ("[(a & b)]" . (list-pat (choice-pat (group-pat (var "a") (var "b"))))) ("[(a | b & c)]" . (list-pat (choice-pat (var "a") (group-pat (var "b") (var "c"))))) ("[a (b | c) d]" . (list-pat (var "a") (choice-pat (var "b") (var "c")) (var "d"))))) (test-opam-syntax "parse-dicts" dict '(("" . #f) ("{}" . dict) ("{a: \"b\"}" . (dict (record "a" (string-pat "b")))) ("{a: \"b\"\nc: \"d\"}" . (dict (record "a" (string-pat "b")) (record "c" (string-pat "d")))))) (test-opam-syntax "parse-conditions" condition '(("" . #f) ("{}" . #f) ("{build}" . (condition-var "build")) ("{>= \"0.2.0\"}" . (condition-greater-or-equal (condition-string "0.2.0"))) ("{>= \"0.2.0\" & test}" . (condition-and (condition-greater-or-equal (condition-string "0.2.0")) (condition-var "test"))) ("{>= \"0.2.0\" | build}" . (condition-or (condition-greater-or-equal (condition-string "0.2.0")) (condition-var "build"))) ("{ = \"1.0+beta19\" }" . (condition-eq (condition-string "1.0+beta19"))))) (test-opam-syntax "parse-comment" list-pat '(("" . #f) ("[#comment\n]" . list-pat))) (test-end "opam")