aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas De Marchi <lucas.demarchi@intel.com>2021-01-29 18:28:38 -0800
committerLucas De Marchi <lucas.demarchi@intel.com>2021-02-05 19:52:00 -0800
commit1921c370c25cb4735105397c285ffa38a04b286b (patch)
tree8a931be4cc664176a327a6e608c47b77754eb306
parent3cee67ddd75114f9557ab7e13ef1751c277d9bd3 (diff)
downloadkmod-1921c370c25cb4735105397c285ffa38a04b286b.tar.gz
testsuite: compress modules if feature is enabled
Since the output needs to be the same, regardless if the module is compressed, change populate-modules.sh to conditionally compress the module if that feature is enabled. This way we can execute the tests with any build-time configuration and it should still pass. Suggested-by: Michal Suchánek <msuchanek@suse.de> Reviewed-by: Michal Suchánek <msuchanek@suse.de> Tested-by: Michal Suchánek <msuchanek@suse.de> Reviewed-by: Petr Vorel <pvorel@suse.cz>
-rw-r--r--Makefile.am2
-rwxr-xr-xtestsuite/populate-modules.sh27
-rw-r--r--testsuite/test-depmod.c2
3 files changed, 19 insertions, 12 deletions
diff --git a/Makefile.am b/Makefile.am
index b29e943..24a586e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -249,7 +249,7 @@ CREATE_ROOTFS = $(AM_V_GEN) ( $(RM) -rf $(ROOTFS) && mkdir -p $(dir $(ROOTFS)) &
find $(ROOTFS) -type d -exec chmod +w {} \; && \
find $(ROOTFS) -type f -name .gitignore -exec rm -f {} \; && \
$(top_srcdir)/testsuite/populate-modules.sh \
- $(MODULE_PLAYGROUND) $(ROOTFS) ) && \
+ $(MODULE_PLAYGROUND) $(ROOTFS) $(top_builddir)/config.h ) && \
touch testsuite/stamp-rootfs
build-module-playground:
diff --git a/testsuite/populate-modules.sh b/testsuite/populate-modules.sh
index b0cc932..ae43884 100755
--- a/testsuite/populate-modules.sh
+++ b/testsuite/populate-modules.sh
@@ -4,6 +4,12 @@ set -e
MODULE_PLAYGROUND=$1
ROOTFS=$2
+CONFIG_H=$3
+
+feature_enabled() {
+ local feature=$1
+ grep KMOD_FEATURES $CONFIG_H | head -n 1 | grep -q \+$feature
+}
declare -A map
map=(
@@ -99,15 +105,18 @@ done
# start poking the final rootfs...
-# gzip these modules
-for m in "${gzip_array[@]}"; do
- gzip "$ROOTFS/$m"
-done
-
-# zstd-compress these modules
-for m in "${zstd_array[@]}"; do
- zstd --rm $ROOTFS/$m
-done
+# compress modules with each format if feature is enabled
+if feature_enabled ZLIB; then
+ for m in "${gzip_array[@]}"; do
+ gzip "$ROOTFS/$m"
+ done
+fi
+
+if feature_enabled ZSTD; then
+ for m in "${zstd_array[@]}"; do
+ zstd --rm $ROOTFS/$m
+ done
+fi
for m in "${attach_sha1_array[@]}"; do
cat "${MODULE_PLAYGROUND}/dummy.sha1" >>"${ROOTFS}/$m"
diff --git a/testsuite/test-depmod.c b/testsuite/test-depmod.c
index 261559c..d7802d7 100644
--- a/testsuite/test-depmod.c
+++ b/testsuite/test-depmod.c
@@ -25,7 +25,6 @@
#include "testsuite.h"
-#ifdef ENABLE_ZLIB
#define MODULES_ORDER_UNAME "4.4.4"
#define MODULES_ORDER_ROOTFS TESTSUITE_ROOTFS "test-depmod/modules-order-compressed"
#define MODULES_ORDER_LIB_MODULES MODULES_ORDER_ROOTFS "/lib/modules/" MODULES_ORDER_UNAME
@@ -57,7 +56,6 @@ DEFINE_TEST(depmod_modules_order_for_compressed,
{ }
},
});
-#endif
#define SEARCH_ORDER_SIMPLE_ROOTFS TESTSUITE_ROOTFS "test-depmod/search-order-simple"
static noreturn int depmod_search_order_simple(const struct test *t)