136e2c
From 8d2f8e36353fc23c198d06fd7bbcb2835d973d41 Mon Sep 17 00:00:00 2001
136e2c
From: Eric Garver <eric@garver.life>
136e2c
Date: Tue, 8 Oct 2019 16:50:28 -0400
136e2c
Subject: [PATCH 117/122] fix: build: distribute testsuite
136e2c
136e2c
Make some build changes that allow distributing the testsuite. User will
136e2c
still need to run ./configure to generate atconfig and atlocal, but they
136e2c
won't need autoconf installed anymore.
136e2c
136e2c
(cherry picked from commit 374f9411106b80b4d333053936b1582eeb4fab96)
136e2c
(cherry picked from commit 077eadda76bc6d9e4b433027ab2371ca781e69ab)
136e2c
---
136e2c
 .gitignore             |  1 +
136e2c
 configure.ac           |  1 +
136e2c
 src/tests/Makefile.am  | 17 ++++++-----------
136e2c
 src/tests/atlocal.in   |  6 ++++++
136e2c
 src/tests/functions.at |  6 +++---
136e2c
 5 files changed, 17 insertions(+), 14 deletions(-)
136e2c
 create mode 100644 src/tests/atlocal.in
136e2c
136e2c
diff --git a/.gitignore b/.gitignore
136e2c
index a0f455d7bf28..11e257f5f0b0 100644
136e2c
--- a/.gitignore
136e2c
+++ b/.gitignore
136e2c
@@ -39,6 +39,7 @@
136e2c
 /src/firewall-offline-cmd
136e2c
 /src/firewalld
136e2c
 /src/tests/atconfig
136e2c
+/src/tests/atlocal
136e2c
 /src/tests/package.m4
136e2c
 /src/tests/testsuite*
136e2c
 Makefile
136e2c
diff --git a/configure.ac b/configure.ac
136e2c
index 1f8f8dff07ae..ea5d1d72009e 100644
136e2c
--- a/configure.ac
136e2c
+++ b/configure.ac
136e2c
@@ -170,6 +170,7 @@ AC_CONFIG_FILES([Makefile
136e2c
 		 src/firewall/config/__init__.py
136e2c
 		 src/Makefile
136e2c
 		 src/tests/Makefile
136e2c
+		 src/tests/atlocal
136e2c
 		 src/icons/Makefile])
136e2c
 
136e2c
 m4_foreach([FILE], [[src/firewall-applet],
136e2c
diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
136e2c
index 9a0352bcab05..cfb80aa0c8c0 100644
136e2c
--- a/src/tests/Makefile.am
136e2c
+++ b/src/tests/Makefile.am
136e2c
@@ -8,7 +8,8 @@ EXTRA_DIST = \
136e2c
 	$(TESTSUITE) \
136e2c
 	$(TESTSUITE_FILES) \
136e2c
 	$(wildcard $(srcdir)/python/*.py) \
136e2c
-	$(srcdir)/package.m4
136e2c
+	$(srcdir)/package.m4 \
136e2c
+	atlocal.in
136e2c
 
136e2c
 DISTCLEANFILES = atconfig
136e2c
 
136e2c
@@ -18,23 +19,17 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac $(top_srcdir)/firewalld.spec $(
136e2c
 	echo 'm4_define([AT_PACKAGE_VERSION],[$(PACKAGE_VERSION)])' && \
136e2c
 	echo 'm4_define([AT_PACKAGE_STRING],[$(PACKAGE_STRING)])' && \
136e2c
 	echo 'm4_define([AT_PACKAGE_URL],[http://firewalld.org/])' && \
136e2c
-	echo 'm4_define([AT_PACKAGE_BUGREPORT],[https://github.com/firewalld/firewalld])' && \
136e2c
-	echo 'm4_define([IPTABLES],[$(IPTABLES)])' && \
136e2c
-	echo 'm4_define([IPTABLES_RESTORE],[$(IPTABLES_RESTORE)])' && \
136e2c
-	echo 'm4_define([IP6TABLES],[$(IP6TABLES)])' && \
136e2c
-	echo 'm4_define([IP6TABLES_RESTORE],[$(IP6TABLES_RESTORE)])' ; \
136e2c
+	echo 'm4_define([AT_PACKAGE_BUGREPORT],[https://github.com/firewalld/firewalld])' ; \
136e2c
 	} > "$@"
136e2c
 
136e2c
-check-local: atconfig $(TESTSUITE)
136e2c
+check-local: atconfig atlocal $(TESTSUITE)
136e2c
 	$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) \
136e2c
 		AUTOTEST_PATH="src" \
136e2c
-		PYTHON="$(PYTHON)" \
136e2c
 		PYTHONPATH="${abs_top_srcdir}/src:${PYTHONPATH}" \
136e2c
 		FIREWALLD_DEFAULT_CONFIG="${abs_top_srcdir}/config"
136e2c
 
136e2c
-installcheck-local: atconfig $(TESTSUITE)
136e2c
-	$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) \
136e2c
-		PYTHON="$(PYTHON)"
136e2c
+installcheck-local: atconfig atlocal $(TESTSUITE)
136e2c
+	$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
136e2c
 
136e2c
 clean-local:
136e2c
 	test ! -f '$(TESTSUITE)' || $(SHELL) '$(TESTSUITE)' --clean
136e2c
diff --git a/src/tests/atlocal.in b/src/tests/atlocal.in
136e2c
new file mode 100644
136e2c
index 000000000000..474685515437
136e2c
--- /dev/null
136e2c
+++ b/src/tests/atlocal.in
136e2c
@@ -0,0 +1,6 @@
136e2c
+export PYTHON=@PYTHON@
136e2c
+
136e2c
+export IPTABLES=@IPTABLES@
136e2c
+export IPTABLES_RESTORE=@IPTABLES_RESTORE@
136e2c
+export IP6TABLES=@IP6TABLES@
136e2c
+export IP6TABLES_RESTORE=@IP6TABLES_RESTORE@
136e2c
diff --git a/src/tests/functions.at b/src/tests/functions.at
136e2c
index 17ca6c9fc052..debabba8b8eb 100644
136e2c
--- a/src/tests/functions.at
136e2c
+++ b/src/tests/functions.at
136e2c
@@ -244,7 +244,7 @@ m4_define([EBTABLES_LIST_RULES], [
136e2c
 
136e2c
 m4_define([IPTABLES_LIST_RULES_ALWAYS], [
136e2c
     m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [], [
136e2c
-        NS_CHECK([IPTABLES -w -n -t $1 -L $2 | TRIM_WHITESPACE | tail -n +3], [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
136e2c
+        NS_CHECK([$IPTABLES -w -n -t $1 -L $2 | TRIM_WHITESPACE | tail -n +3], [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
136e2c
     ])
136e2c
 ])
136e2c
 
136e2c
@@ -257,7 +257,7 @@ m4_define([IPTABLES_LIST_RULES], [
136e2c
 m4_define([IP6TABLES_LIST_RULES_ALWAYS], [
136e2c
     m4_ifdef([TESTING_FIREWALL_OFFLINE_CMD], [], [
136e2c
     m4_if(yes, HOST_SUPPORTS_IP6TABLES, [
136e2c
-        NS_CHECK([IP6TABLES -w -n -t $1 -L $2 | TRIM_WHITESPACE | tail -n +3], [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
136e2c
+        NS_CHECK([$IP6TABLES -w -n -t $1 -L $2 | TRIM_WHITESPACE | tail -n +3], [$3], [m4_strip([$4])], [m4_strip([$5])], [$6], [$7])
136e2c
     ])
136e2c
     ])
136e2c
 ])
136e2c
@@ -425,7 +425,7 @@ m4_define([CHECK_MODULE_PROTO_GRE], [
136e2c
 m4_define([NFT_NUMERIC_ARGS], m4_esyscmd([nft -h |grep "numeric-protocol" >/dev/null && echo -n "" || { echo -n "-" && echo -n "nn"; } ]))
136e2c
 
136e2c
 m4_define([HOST_SUPPORTS_IP6TABLES], m4_esyscmd(
136e2c
-    if IP6TABLES -L >/dev/null 2>&1; then
136e2c
+    if $IP6TABLES -L >/dev/null 2>&1; then
136e2c
         echo -n "yes"
136e2c
     else
136e2c
         echo -n "no"
136e2c
-- 
136e2c
2.23.0
136e2c