----- Original Message ----- > From: "shuah" <shuah@xxxxxxxxxx> > To: "Veronika Kabatova" <veronicca114@xxxxxxxxx> > Cc: sbrivio@xxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx, "Veronika Kabatova" <vkabatov@xxxxxxxxxx>, "shuah" > <shuah@xxxxxxxxxx> > Sent: Friday, May 1, 2020 4:49:34 PM > Subject: Re: [PATCH] selftests: introduce gen_tar Makefile target > > Hi Veronica, > Hi, > On 4/28/20 6:38 AM, Veronika Kabatova wrote: > > The gen_kselftest_tar.sh always packages *all* selftests and doesn't > > pass along any variables to `make install` to influence what should be > > built. This can result in an early error on the command line ("Unknown > > tarball format TARGETS=XXX"), or unexpected test failures as the > > tarball contains tests people wanted to skip on purpose. > > > > Since the makefile already contains all the logic, we can add a target > > for packaging. Keep the default .gz target the script uses, and actually > > extend the supported formats by using tar's autodetection. > > > > Thanks for working on this. gen_kselftest_tar.sh a while back before a > lot of the install features went in and Makefile supports it fully. It > makes perfect sense to use Makefile drive this. > > > To not break current workflows, keep the gen_kselftest_tar.sh script as > > it is, with an added suggestion to use the makefile target instead. > > > > Not sure how many people use this. It is a good idea keeping it around > for now. > > > Signed-off-by: Veronika Kabatova <vkabatov@xxxxxxxxxx> > > Reviewed-by: Stefano Brivio <sbrivio@xxxxxxxxxx> > > --- > > Documentation/dev-tools/kselftest.rst | 23 ++++++++++++++++++++ > > tools/testing/selftests/Makefile | 9 +++++++- > > tools/testing/selftests/gen_kselftest_tar.sh | 5 +++++ > > 3 files changed, 36 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/dev-tools/kselftest.rst > > b/Documentation/dev-tools/kselftest.rst > > index 61ae13c44f91..3fc559bcb597 100644 > > --- a/Documentation/dev-tools/kselftest.rst > > +++ b/Documentation/dev-tools/kselftest.rst > > @@ -151,6 +151,29 @@ note some tests will require root privileges:: > > $ cd kselftest > > $ ./run_kselftest.sh > > > > +Packaging selftests > > +=================== > > + > > +In some cases packaging is desired, such as when tests need to run on a > > +different system. To package selftests, run:: > > + > > + $ make -C tools/testing/selftests gen_tar > > + > > Does this work in the case of relocatable build.cross-build cases? > > > +This generates a tarball in the `INSTALL_PATH/kselftest-packages` > > directory. By > > +default, `.gz` format is used. The tar format can be overriden by > > specifying > > +a `FORMAT` make variable. Any value recognized by `tar's auto-compress`_ > > option > > +is supported, such as:: > > + > > + $ make -C tools/testing/selftests gen_tar FORMAT=.xz > > + > > +`make gen_tar` invokes `make install` so you can use it to package a > > subset of > > +tests by using variables specified in `Running a subset of selftests`_ > > +section:: > > + > > + $ make -C tools/testing/selftests gen_tar TARGETS="bpf" FORMAT=.xz > > Does this work in the case of relocatable build.cross-build cases? > The command only adds a "tar" call on top of "make install" and doesn't reach outside of INSTALL_PATH. If the cases you mention are supported by the regular "make install" then they should work with "gen_tar" as well. Veronika > Please try these cases as well and let me know. > > I would like to get this in for 5.8-rc1. > > thanks, > -- Shuah > >