;;; 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") /packages/rrdtool.scm (rrdtool)[arguments]: Add a #:disallowed-references keyword. Leo Famulari 2022-01-20gnu: rrdtool: Use Python 3....* gnu/packages/rrdtool.scm (rrdtool)[inputs]: Replace PYTHON-2 with PYTHON. Leo Famulari 2021-12-13gnu: Simplify package inputs....This commit was obtained by running: ./pre-inst-env guix style without any additional argument. Ludovic Courtès 2021-07-24gnu: Use 'search-input-directory' when looking for tzdata....* gnu/packages/backup.scm (duplicity)[arguments]: Use 'search-input-directory' for "share/zoneinfo". * gnu/packages/bioinformatics.scm (pigx-rnaseq): Likewise. (pigx-bsseq): Likewise. * gnu/packages/calcurse.scm (calcurse): Likewise. * gnu/packages/calendar.scm (date): Likewise. * gnu/packages/compression.scm (lhasa): Likewise. * gnu/packages/cran.scm (r-rstan): Likewise. * gnu/packages/django.scm (python-django): Likewise. * gnu/packages/dlang.scm (ldc-bootstrap): Likewise. * gnu/packages/finance.scm (ledger): Likewise. * gnu/packages/glib.scm (glib): Likewise. * gnu/packages/golang.scm (go-1.4): Likewise. (go-1.14): Likewise. * gnu/packages/kde-frameworks.scm (kcalendarcore): Likewise. (kdelibs4support): Likewise. * gnu/packages/kodi.scm (kodi): Likewise. * gnu/packages/mail.scm (mu): Likewise. * gnu/packages/perl.scm (perl-libtime-parsedate): Likewise. * gnu/packages/python-xyz.scm (python-robotframework): Likewise. (python-dparse): Likewise. * gnu/packages/rrdtool.scm (rrdtool): Likewise. * gnu/packages/statistics.scm (r-with-tests): Likewise. * gnu/packages/vim.scm (vim): Likewise. * gnu/packages/virtualization.scm (ganeti): Likewise. * gnu/packages/vpn.scm (strongswan): Likewise. * gnu/packages/xfce.scm (xfce4-panel): Likewise. * gnu/packages/mate.scm (libmateweather): Use 'search-input-file' for "share/zoneinfo/zone.tab". Ludovic Courtès 2020-01-10gnu: rrdtool: Update to 1.7.2....* gnu/packages/rrdtool.scm (rrdtool): Update to 1.7.2. Tobias Geerinckx-Rice