tests: syscall: Support file-systems without extended attributes.
authorMathieu Othacehe <othacehe@gnu.org>
Fri, 5 Jun 2020 10:28:12 +0000 (12:28 +0200)
committerMathieu Othacehe <othacehe@gnu.org>
Fri, 5 Jun 2020 17:20:23 +0000 (19:20 +0200)
* tests/syscalls.scm (setxattr): Catch ENOTSUP that can be raised if the
file-system does not support extended user attributes.

tests/syscalls.scm

index 6098a09..6acaa0b 100644 (file)
@@ -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.
 ;;;
   (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"