aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.

(define-module (test-sets)
  #:use-module (guix sets)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-26)
  #:use-module (srfi srfi-64))


(test-begin "sets")

(test-assert "set-contains?"
  (let* ((lst (iota 123))
         (set (list->set lst)))
    (and (every (cut set-contains? set <>)
                lst)
         (not (set-contains? set -1)))))

(test-assert "set->list"
  (let* ((lst (iota 123))
         (set (list->set lst)))
    (lset= = lst (set->list set))))

(test-assert "set-union"
  (let* ((a  (list 'a))
         (b  (list 'b))
         (s1 (setq a))
         (s2 (setq b))
         (s3 (set-union s1 s2)))
    (and (set-contains? s3 a)
         (set-contains? s3 b))))

(test-end)
. (TRANSLATED_INFO): Use it to construct the list of files. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> 2021-04-18nls: Add Chinese (Traditional) translation.Julien Lepiller * po/doc/guix-cookbook.zh_Hans.po: New file. * doc/local.mk (info_TEXINFOS): Add it. * po/doc/local.mk (DOC_COOKBOOK_PO_FILES): Add it. 2021-04-18nls: Add Korean translation.Julien Lepiller * po/doc/guix-cookbook.ko.po: New file. * po/doc/guix-manual.ko.po: New file. * doc/local.mk (info_TEXINFOS): Add them. * po/doc/local.mk (DOC_PO_FILES, DOC_COOKBOOK_PO_FILES): Add them. * po/guix/ko.po: New file. * po/guix/LINGUAS: Add 'ko'. * po/packages/ko.po: New file. * po/packages/LINGUAS: Add 'ko'. 2021-04-18nls: Add Italian translation.Julien Lepiller * po/doc/guix-manual.it.po: New file. * po/doc/local.mk (DOC_PO_FILES): Add it. * doc/local.mk (info_TEXINFOS): Add it. * po/guix/it.po: New file. * po/guix/LINGUAS: Add 'it'. 2021-04-18nls: Add Persian translation.Julien Lepiller * po/packages/fa.po: New file. * po/packages/LINGUAS: Add 'fa'. * po/doc/guix-cookbook.fa.po: New file. * po/doc/guix-manual.fa.po: New file. * po/doc/local.mk (DOC_PO_FILES, DOC_COOKBOOK_PO_FILES): Add them. * doc/local.mk (info_TEXINFOS): Add them. 2021-04-18nls: Add Slovak translation.Julien Lepiller * po/packages/sk.po: New file. * po/packages/LINGUAS: Add 'sk'. * po/doc/guix-manual.sk.po: New file. * doc/local.mk (info_TEXINFOS): Add it. * po/doc/local.mk (DOC_PO_FILES): Add it. 2021-04-18nls: Add Portuguese (Brazil) translation of the manual.Julien Lepiller 2021-04-18nls: Add French translation of the cookbook.Julien Lepiller 2021-04-18doc: Fix pxref translation issue.Julien Lepiller * doc/local.mk (xref_command): Change regexp to match properly. 2020-10-27doc: Fix xref translation macro.Ludovic Courtès * doc/local.mk (xref_command): Wrap loop body in 'if [ -n "$$e" ]'. This avoids shell syntax errors when producing doc/guix-cookbook.de.texi, which for some reason gets an empty 'e' at one point. Quote the first argument to 'head'. 2020-05-22doc: Update 'Bootstrapping' for further binary seed reduction.Jan Nieuwenhuizen * doc/images/gcc-core-mesboot0-graph.dot: New image, replacing * doc/images/gcc-mesboot0-bag-graph.dot: ... remove file. * doc/local.mk (DOT_FILES): Update for new image file. * doc/guix.texi (Reduced Binary Seed Bootstrap): Use it in updated description of further reduction of the trusted computing base. 2020-04-24doc: Ensure guix-daemon is built before creating guix-daemon.1.Marius Bakke * doc/local.mk ($(srcdir)/%D%/guix-daemon.1): Depend on guix-daemon$(EXEEXT) instead of its source code. 2020-04-23build: Don't build man pages when cross-compiling.Ludovic Courtès * configure.ac: Define 'CROSS_COMPILING' Automake conditional. * doc/local.mk (dist_man1_MANS): Wrap in "if !CROSS_COMPILING". 2020-04-23doc: Build more man pages.Ludovic Courtès * doc/local.mk (sub_commands_mans): Add guix-deploy.1, guix-time-machine.1, and guix-weather.1. 2020-04-16doc: Document building and installing from JSON files.Ricardo Wurmus * doc/guix.texi (Invoking guix package): Augment pargraphs for "--install-from-file". (Invoking guix build): Document building from JSON files. * doc/package-hello.json: New file. * doc/local.mk (EXTRA_DIST): Add it. 2020-02-17doc: Add German Cookbook translation.Florian Pelz * doc/local.mk (info_TEXINFOS): Add guix-cookbook.de.texi. (TRANSLATED_INFO): Add guix-cookbook.de.texi. * po/doc/guix-cookbook.de.po: New file. * po/doc/local.mk (DOC_COOKBOOK_PO_FILES): Add guix-cookbook.de.po. 2019-09-24Merge branch 'master' into core-updatesLudovic Courtès 2019-09-18doc: Add Guix Cookbook.Ricardo Wurmus * .gitignore: Update ignore list. * Makefile.am (assert-no-store-file-names): Exclude the cookbook. * bootstrap: Generate po files for cookbook translations. * doc/guix-cookbook.texi: New file. * doc/local.mk (info_TEXINFOS): Add it; add a rule to build cookbook translations. * po/doc/local.mk (DOC_COOKBOOK_PO_FILES): New variable. (EXTRA_DIST): Add cookbook pot file and po files. (doc-po-update-cookbook-%): New target. (doc-pot-update): Also update cookbook pot file. (doc-po-update): Also update cookbook po files.