summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2020-06-05 12:28:12 +0200
committerMathieu Othacehe <othacehe@gnu.org>2020-06-05 19:20:23 +0200
commitea924134f819eef072ba7df9080d39de97fd73e6 (patch)
tree789db0310ca53f4332e4a4218aa8e4bd244f3632 /tests
parent1f9999df4a104558454d36d4aab821c9d5c631fd (diff)
downloadguix-ea924134f819eef072ba7df9080d39de97fd73e6.tar.gz
tests: syscall: Support file-systems without extended attributes.
* tests/syscalls.scm (setxattr): Catch ENOTSUP that can be raised if the
file-system does not support extended user attributes.
Diffstat (limited to 'tests')
-rw-r--r--tests/syscalls.scm11
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/syscalls.scm b/tests/syscalls.scm
index 6098a09437..6acaa0b131 100644
--- a/tests/syscalls.scm
+++ b/tests/syscalls.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
 ;;; Copyright © 2020 Simon South <simon@simonsouth.net>
+;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -276,8 +277,14 @@
   (let ((key "user.translator")
         (value "/hurd/pfinet\0")
         (file (open-file temp-file "w0")))
-    (setxattr temp-file key value)
-    (string=? (getxattr temp-file key) value)))
+    (catch 'system-error
+      (lambda ()
+        (setxattr temp-file key value)
+        (string=? (getxattr temp-file key) value))
+      (lambda args
+        ;; Accept ENOTSUP, if the file-system does not support extended user
+        ;; attributes.
+        (memv (system-error-errno args) (list ENOTSUP))))))
 
 (false-if-exception (delete-file temp-file))
 (test-equal "fcntl-flock wait"