Re: [BUGFIX PATCH] selftests: Use real temporary working directory for archiving

From: Masami Hiramatsu
Date: Tue Oct 08 2019 - 22:44:58 EST


On Tue, 8 Oct 2019 23:39:40 +0000
<Tim.Bird@xxxxxxxx> wrote:

>
>
> > -----Original Message-----
> > From: Masami Hiramatsu on Thursday, October 03, 2019 7:13 PM
> >
> > Use real temporary working directory for generating kselftest
> > archive.
> >
> > tools/testing/selftests/kselftest directory has been used for
> > the temporary working directory for making a tar archive from
> > gen_kselftest_tar.sh, and it removes the directory for cleanup.
> >
> > However, since the kselftest directory became a part of the
> > repository, it must not be used as a working dir.
>
> I'm not objecting to the test, but I would like to understand this
> point better. Under normal circumstances (i.e. when not using O= or KBUILD_OUTPUT)
> the rest of the kernel directory structure holds generated files.
> What is the issue with using kselftest to hold generated files?

OK, after running ./gen_kselftest_tar.sh in tools/testing/selftests,
I found there is no tools/testing/selftests/kselftest was there.
Actually, this was found when I searched "runner.sh" on the tree
after building kselftest.tar.gz. I couldn't find it and realized that
the gen_kselftest_tar.sh removed kselftest directory.

This is not happen if you run gen_kselftest_tar.sh.

Thank you,

> -- Tim
>
> >
> > Introduce mktemp to prepare a temporary working directory
> > for archiving kselftests.
> >
> > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > ---
> > tools/testing/selftests/gen_kselftest_tar.sh | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/tools/testing/selftests/gen_kselftest_tar.sh
> > b/tools/testing/selftests/gen_kselftest_tar.sh
> > index a27e2eec3586..eba1e9987ffc 100755
> > --- a/tools/testing/selftests/gen_kselftest_tar.sh
> > +++ b/tools/testing/selftests/gen_kselftest_tar.sh
> > @@ -38,16 +38,16 @@ main()
> > esac
> > fi
> >
> > - install_dir=./kselftest
> > + tmpdir=`mktemp -d ./install-XXXXXX` || exit 1
> >
> > # Run install using INSTALL_KSFT_PATH override to generate install
> > # directory
> > -./kselftest_install.sh
> > -tar $copts kselftest${ext} $install_dir
> > +./kselftest_install.sh $tmpdir
> > +tar $copts kselftest${ext} -C $tmpdir kselftest
> > echo "Kselftest archive kselftest${ext} created!"
> >
> > # clean up install directory
> > -rm -rf kselftest
> > +rm -rf $tmpdir
> > }
> >
> > main "$@"
>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>