Message ID | 20210130023600.24239-1-lucas.demarchi@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] testsuite: compress modules if feature is enabled | expand |
Hello, thanks for the patch. I tested it and it allows me to run tests with zstd disabled. It also makes the code much clearer. Reviewed-by: Michal Suchánek <msuchanek@suse.de> Tested-by: Michal Suchánek <msuchanek@suse.de> On Fri, Jan 29, 2021 at 06:35:59PM -0800, Lucas De Marchi wrote: > 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> > --- > Makefile.am | 2 +- > testsuite/populate-modules.sh | 27 ++++++++++++++++++--------- > testsuite/test-depmod.c | 2 -- > 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) > -- > 2.30.0 >
Pushed, thanks for reviews. Lucas De Marchi On Sat, Jan 30, 2021 at 1:40 AM Lucas De Marchi <lucas.demarchi@intel.com> wrote: > > 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> > --- > Makefile.am | 2 +- > testsuite/populate-modules.sh | 27 ++++++++++++++++++--------- > testsuite/test-depmod.c | 2 -- > 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) > -- > 2.30.0 >
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)