diff mbox series

test/fsnotify: Skip fsnotify test if sys/fanotify.h not available

Message ID 20230214164613.2844230-1-alviro.iskandar@gnuweeb.org (mailing list archive)
State New
Headers show
Series test/fsnotify: Skip fsnotify test if sys/fanotify.h not available | expand

Commit Message

Alviro Iskandar Setiawan Feb. 14, 2023, 4:46 p.m. UTC
Fix build on Termux (Android). Most android devices don't have
<sys/fanotify.h> on Termux. Skip the test if it's not available.

Reported-by: Dwiky Rizky Ananditya <kyzsuki@gnuweeb.org>
Tested-by: Dwiky Rizky Ananditya <kyzsuki@gnuweeb.org>
Signed-off-by: Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
---
 configure       | 19 +++++++++++++++++++
 test/fsnotify.c | 13 ++++++++++++-
 2 files changed, 31 insertions(+), 1 deletion(-)

Comments

Jens Axboe Feb. 14, 2023, 4:49 p.m. UTC | #1
On Tue, 14 Feb 2023 16:46:13 +0000, Alviro Iskandar Setiawan wrote:
> Fix build on Termux (Android). Most android devices don't have
> <sys/fanotify.h> on Termux. Skip the test if it's not available.
> 
> 

Applied, thanks!

[1/1] test/fsnotify: Skip fsnotify test if sys/fanotify.h not available
      commit: 2f4296d06878cf5f8abc75549cdabcb96e34d8fa

Best regards,
diff mbox series

Patch

diff --git a/configure b/configure
index e9b7f882f0707e64..28f3eb0aee24f9ea 100755
--- a/configure
+++ b/configure
@@ -419,6 +419,22 @@  fi
 print_config "nolibc support" "$liburing_nolibc";
 #############################################################################
 
+####################################################
+# Most Android devices don't have sys/fanotify.h
+has_fanotify="no"
+cat > $TMPC << EOF
+#include <sys/fanotify.h>
+int main(void)
+{
+  return 0;
+}
+EOF
+if compile_prog "" "" "fanotify"; then
+  has_fanotify="yes"
+fi
+print_config "has_fanotify" "$has_fanotify"
+####################################################
+
 if test "$liburing_nolibc" = "yes"; then
   output_sym "CONFIG_NOLIBC"
 fi
@@ -452,6 +468,9 @@  fi
 if test "$nvme_uring_cmd" = "yes"; then
   output_sym "CONFIG_HAVE_NVME_URING"
 fi
+if test "$has_fanotify" = "yes"; then
+  output_sym "CONFIG_HAVE_FANOTIFY"
+fi
 
 echo "CC=$cc" >> $config_host_mak
 print_config "CC" "$cc"
diff --git a/test/fsnotify.c b/test/fsnotify.c
index b9b6926ced937c5f..d672f2cc2c3ff27c 100644
--- a/test/fsnotify.c
+++ b/test/fsnotify.c
@@ -2,6 +2,10 @@ 
 /*
  * Description: test fsnotify access off O_DIRECT read
  */
+
+#include "helpers.h"
+
+#ifdef CONFIG_HAVE_FANOTIFY
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -11,7 +15,6 @@ 
 #include <sys/wait.h>
 
 #include "liburing.h"
-#include "helpers.h"
 
 int main(int argc, char *argv[])
 {
@@ -99,3 +102,11 @@  out:
 		unlink(fname);
 	return err;
 }
+
+#else /* #ifdef CONFIG_HAVE_FANOTIFY */
+
+int main(void)
+{
+	return T_EXIT_SKIP;
+}
+#endif /* #ifdef CONFIG_HAVE_FANOTIFY */