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>
This commit is contained in:
Maxim Cournoyer 2025-11-13 09:38:35 +09:00
parent c4298638ca
commit 0a9eb3f3e2
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -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