summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2020-07-22 21:07:31 +0300
committerEfraim Flashner <efraim@flashner.co.il>2020-08-02 15:54:37 +0300
commit587e0d911dfff81647015e89847084b606e68f71 (patch)
tree63cd6575ccc64c18205f589f34badade4b804e8d /tests
parenta05edef2ac692be8bf3033fe008b7c1b29f83123 (diff)
services: Add zram-device-service.
* gnu/services/linux.scm (<zram-device-configuration>): New record. (zram-device-service-type): New variable. * doc/guix.texi (Linux Services): Document it. * tests/services/linux.scm (zram-swap-device-test): New tests.
Diffstat (limited to 'tests')
-rw-r--r--tests/services/linux.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/services/linux.scm b/tests/services/linux.scm
index 8ad119c49f..e2cd191e48 100644
--- a/tests/services/linux.scm
+++ b/tests/services/linux.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -54,4 +55,40 @@
"-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")