;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Efraim Flashner ;;; ;;; 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 (tests services linux) #:use-module (ice-9 match) #:use-module (gnu packages linux) #:use-module (gnu services linux) #:use-module (guix gexp) #:use-module (srfi srfi-64)) ;;; Tests for the (gnu services linux) module. (test-begin "linux-services") ;;; ;;; Early OOM daemon. ;;; (define earlyoom-configuration->command-line-args (@@ (gnu services linux) earlyoom-configuration->command-line-args)) (define %earlyoom-configuration-sample (earlyoom-configuration (minimum-available-memory 10) (minimum-free-swap 20) (prefer-regexp "icecat") (avoid-regexp "guix-daemon") (memory-report-interval 60) (ignore-positive-oom-score-adj? #f) (run-with-higher-priority? #t) (show-debug-messages? #f) (send-notification-command "python \"/some/path/notify-all-users.py\""))) (test-equal "earlyoom-configuration->command-line-args" (list (file-append earlyoom "/bin/earlyoom") "-m" "10" "-s" "20" "--prefer" "icecat" "--avoid" "guix-daemon" "-r" "60" "-p" "-N" "python \"/some/path/notify-all-users.py\"") (earlyoom-configuration->command-line-args %earlyoom-configuration-sample)) ;;; ;;; Zram swap device. ;;; (define zram-device-configuration->udev-string (@@ (gnu services linux) zram-device-configuration->udev-string)) (define %zram-swap-device-test-1 (zram-device-configuration (size "2G") (compression-algorithm 'zstd) (memory-limit "1G") (priority 42))) (test-equal "zram-swap-device-test-1" "KERNEL==\"zram0\", ATTR{comp_algorithm}=\"zstd\" ATTR{disksize}=\"2G\" ATTR{mem_limit}=\"1G\" RUN+=\"/run/current-system/profile/sbin/mkswap /dev/zram0\" RUN+=\"/run/current-system/profile/sbin/swapon --priority 42 /dev/zram0\"\n" (zram-device-configuration->udev-string %zram-swap-device-test-1)) (define %zram-swap-device-test-2 (zram-device-configuration (size 1048576) ; 1M (compression-algorithm 'lz4))) (test-equal "zram-swap-device-test-2" "KERNEL==\"zram0\", ATTR{comp_algorithm}=\"lz4\" ATTR{disksize}=\"1048576\" RUN+=\"/run/current-system/profile/sbin/mkswap /dev/zram0\" RUN+=\"/run/current-system/profile/sbin/swapon /dev/zram0\"\n" (zram-device-configuration->udev-string %zram-swap-device-test-2)) (define %zram-swap-device-test-3 (zram-device-configuration (memory-limit (* 512 1000)))) (test-equal "zram-swap-device-test-3" "KERNEL==\"zram0\", ATTR{comp_algorithm}=\"lzo\" ATTR{disksize}=\"1G\" ATTR{mem_limit}=\"512000\" RUN+=\"/run/current-system/profile/sbin/mkswap /dev/zram0\" RUN+=\"/run/current-system/profile/sbin/swapon /dev/zram0\"\n" (zram-device-configuration->udev-string %zram-swap-device-test-3)) (test-end "linux-services") Bakke 2020-04-13gnu: icu4c: Remove redundant icu4c-66.1 variable....* gnu/packages/icu4c.scm (icu4c-66.1): Remove variable. * gnu/packages/chromium.scm (ungoogled-chromium)[inputs]: Change from ICU4C-66.1 to ICU4C. Marius Bakke 2020-04-13Merge branch 'master' into core-updatesMarius Bakke 2020-04-12gnu: icu4c: Add 66.1....* gnu/packages/icu4c.scm (icu-66.1): New public variable. Marius Bakke 2020-03-27gnu: icu4c: Incorporate grafted changes....* gnu/packages/icu4c.scm (icu4c)[replacement]: Remove. [source](patches, patch-flags): New fields. (icu4c/fixed): Remove variable. Marius Bakke 2020-03-27Merge branch 'master' into core-updates... Conflicts: gnu/packages/icu4c.scm gnu/packages/man.scm gnu/packages/python-xyz.scm guix/scripts/environment.scm guix/scripts/pack.scm guix/scripts/package.scm guix/scripts/pull.scm guix/store.scm Marius Bakke 2020-03-26gnu: icu4c: Explicitly add patch flags in replacement package....This is to prevent a build failure when this gets merged to 'core-updates' which does not have any patch-flags to inherit. * gnu/packages/icu4c.scm (icu4c/fixed)[source](patch-flags): New field. Marius Bakke 2020-03-25gnu: icu4c: Fix CVE-2020-10531....* gnu/packages/patches/icu4c-CVE-2020-10531.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/icu4c.scm (icu4c)[replacement]: New field. (icu4c/fixed): New variable. Leo Famulari 2020-03-14gnu: icu4c: Update to 66.1....* gnu/packages/icu4c.scm (icu4c): Update to 66.1. Marius Bakke