~ruther/guix-local

0a9eb3f3e2b7a08e6df4db44bc6fd56f2cd34173 — Maxim Cournoyer 3 months ago c429863
tests: Add test to validate /etc/locatime is a symlink.

Match the modern desktop expectation set by systemd [0] and relied on by some
software (GNOME/glib, icecat, ungoogle-chromium, etc.).

[0]  https://www.man7.org/linux/man-pages/man5/localtime.5.html

* gnu/tests/base.scm
("/etc/localtime is a symlink to the timezone data file"): New test.

Change-Id: I8fb95abb6a3e455dd7019d5d798f7862d16b6263
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 12 insertions(+), 0 deletions(-)

M gnu/tests/base.scm
M gnu/tests/base.scm => gnu/tests/base.scm +12 -0
@@ 232,6 232,18 @@ info --version")
               `(tm:gmtoff (localtime ,sept-2021))
               marionette)))

          (test-equal "/etc/localtime is a symlink to the timezone data file"
            ;; This is a systemd-ism that most distributions follow; we do to,
            ;; for compatibility with software that assumes this is convention
            ;; is followed (see:
            ;; <https://www.freedesktop.org/software/systemd/man/latest/localtime.html#>)
            #$(operating-system-timezone os)
            (marionette-eval
             `(string-join
               (take-right (string-split (readlink "/etc/localtime") #\/) 2)
               "/")
             marionette))

          (test-equal "/var/log/messages is not world-readable"
            #o640                       ;<https://bugs.gnu.org/40405>
            (begin