guix/tests/services/linux.scm
Maxim Cournoyer d3e439e355
gnu: Add earlyoom-service-type.
* gnu/services/linux.scm: New file.
* tests/services/linux.scm: Add test.
* Makefile.am (SCM_TESTS): Register test.
* doc/guix.texi (Linux Services): Add a new section and document the new
service and its configuration.
2020-01-31 23:37:13 -05:00

58 lines
2 KiB
Scheme
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; 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 (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))
(test-end "linux-services")