osmo_io_uring: Run check of tests/osmo_io with io_uring also

Related: OS#5751
Change-Id: I82db9a15bc483a5447d86352512afaafa2bcfbb6
diff --git a/configure.ac b/configure.ac
index 29a9570..6c7126f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -282,6 +282,11 @@
 	[ENABLE_SCTP_TESTS=$enableval], [ENABLE_SCTP_TESTS="yes"])
 AM_CONDITIONAL(ENABLE_SCTP_TESTS, test x"$ENABLE_SCTP_TESTS" = x"yes")
 
+AC_ARG_ENABLE([uring-tests], [AS_HELP_STRING([--disable-uring-tests], [Do not run io_uring tests])],
+	[ENABLE_URING_TESTS=$enableval], [ENABLE_URING_TESTS="yes"])
+AM_CONDITIONAL(ENABLE_URING_TESTS, test x"$ENABLE_URING_TESTS" = x"yes")
+AC_SUBST(ENABLE_URING_TESTS)
+
 AC_ARG_ENABLE(plugin,
 	[AS_HELP_STRING(
 		[--disable-plugin],
diff --git a/debian/rules b/debian/rules
index f0105b4..db97497 100755
--- a/debian/rules
+++ b/debian/rules
@@ -30,6 +30,7 @@
 	set -x && \
 	CONFIGURE_FLAGS=" \
 		--disable-sctp-tests \
+		--disable-uring-tests \
 		--enable-static \
 		--enable-systemd-logging \
 	"; \
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7c109a1..8b1731d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -737,12 +737,12 @@
 
 check-local: atconfig $(TESTSUITE)
 	[ -e /proc/cpuinfo ] && cat /proc/cpuinfo
-	$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
+	$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) ENABLE_URING=$(ENABLE_URING) ENABLE_URING_TESTS=$(ENABLE_URING_TESTS)
 	$(MAKE) $(AM_MAKEFLAGS) ext-tests
 
 installcheck-local: atconfig $(TESTSUITE)
 	$(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
-		$(TESTSUITEFLAGS)
+		$(TESTSUITEFLAGS) ENABLE_URING=$(ENABLE_URING) ENABLE_URING_TESTS=$(ENABLE_URING_TESTS)
 
 clean-local:
 	test ! -f '$(TESTSUITE)' || \
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 4a0af0d..9ff64ac 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -530,6 +530,14 @@
 AT_CHECK([$abs_top_builddir/tests/osmo_io/osmo_io_test], [0], [expout], [experr])
 AT_CLEANUP
 
+AT_SETUP([osmo_io (uring)])
+AT_KEYWORDS([osmo_io (uring)])
+AT_SKIP_IF([ test "$ENABLE_URING" != "yes" || test "$ENABLE_URING_TESTS" != "yes" ])
+cat $abs_srcdir/osmo_io/osmo_io_test.ok > expout
+cat $abs_srcdir/osmo_io/osmo_io_test.err > experr
+AT_CHECK([LIBOSMO_IO_BACKEND=IO_URING $abs_top_builddir/tests/osmo_io/osmo_io_test], [0], [expout], [experr])
+AT_CLEANUP
+
 AT_SETUP([soft_uart])
 AT_KEYWORDS([soft_uart])
 cat $abs_srcdir/soft_uart/soft_uart_test.ok > expout