aboutsummaryrefslogtreecommitdiff
path: root/tests/sets.scm
blob: cdb7efe1725d65501825ba23e2ec95e37dc8edb0 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
;;; 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)
ion->initrd' documentation. Ludovic Courtès 2016-02-10system: Selected locale is automatically built....Fixes <http://bugs.gnu.org/22572>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/system/locale.scm (%not-dot): New variable. (denormalize-codeset, locale-name->definition): New procedures. * gnu/system.scm (locale-name->definition*): New procedure. (operating-system-locale-directory): Instead of raising an error, add the missing locale. * doc/guix.texi (Locales): Adjust accordingly. Ludovic Courtès 2015-10-30system: Add 'locale-libcs' field....* gnu/system/locale.scm (localedef-command)[maybe-version-directory]: New procedure. Use it. (locale-directory): Rename to... (single-locale-directory): ... this. Check the version of LIBC to determine whether to create a "X.Y" sub-directory or to make it a symlink to ".". Add the version number in the derivation name. (locale-directory): New procedure. (%default-locale-libcs): New variable. * gnu/system.scm (<operating-system>)[locale-libcs]: New field. (operating-system-locale-directory): Pass it to 'locale-directory'. * doc/guix.texi (operating-system Reference): Document 'locale-libcs'. (Locales)[Locale Data Compatibility Considerations]: New section. Ludovic Courtès 2015-09-30gnu: libc: Look for locale data under /run/current-system/locale/X.Y....* gnu/packages/base.scm (glibc)[arguments]: Append VERSION to 'libc_cv_localedir'. * gnu/system/locale.scm (localedef-command): Write to the sub-directory called (package-version libc) in #$output. (locale-directory): Create said directory. * doc/guix.texi (Locales): Mention the per-version sub-directory. Ludovic Courtès 2015-08-29doc: Mention the "normalized codeset" used in locale names....* doc/guix.texi (Locales): Introduce "codeset". <%default-locale-definitions>: Mention the "normalized codeset", with an xref to libc's manual. * gnu/system/locale.scm (%default-locale-definitions)[utf8-locale]: Mention the "normalized codeset" in a comment. Ludovic Courtès 2015-01-16system: Add "en_US.UTF-8" to the default locales, for backward compatibility....* gnu/system/locale.scm (%default-locale-definitions): Add "en_US.UTF-8". Ludovic Courtès 2014-11-30system: locale: Fix typo in docstring....* gnu/system/locale.scm (localedef-command): Fix typo. Alex Kost 2014-11-27system: Build system-wide locale definitions....* gnu/system/locale.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/system.scm (<operating-system>)[locale]: Change the default to "en_US.utf8". (operating-system-locale-directory): New procecure. (operating-system-derivation): Use it. * doc/guix.texi (Using the Configuration System): Change example locale to "fr_FR.utf8". (operating-system Reference): Add xref to "Locales". Document 'locale-definitions'. (Locales): New section. * po/guix/POTFILES.in: Add gnu/system.scm. Ludovic Courtès