gnulib-tool: Transform license on build-aux/ files too.
[gnulib.git] / tests / test-link.c
index 255a939..250a821 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <unistd.h>
 
+#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 
 int
 main (int argc, char **argv)
 {
+  int ret;
+
   ASSERT (argc == 3);
-  ASSERT (link (argv[1], argv[2]) == 0);
+
+  ret = link (argv[1], argv[2]);
+  if (ret < 0)
+    {
+      /* If the device does not support hard links, errno is
+        EPERM on Linux, EOPNOTSUPP on FreeBSD.  */
+      switch (errno)
+       {
+       case EPERM:
+#ifdef EOPNOTSUPP
+       case EOPNOTSUPP:
+#endif
+         return 77;
+       default:
+         perror ("link");
+         return 1;
+       }
+    }
 
   return 0;
 }