[BUGFIX] selftests: Use real temporary working directory for archiving
diff mbox series

Message ID 157016600217.8022.346317009413291058.stgit@devnote2
State New
Headers show
Series
  • [BUGFIX] selftests: Use real temporary working directory for archiving
Related show

Commit Message

Masami Hiramatsu Oct. 4, 2019, 5:13 a.m. UTC
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.

Introduce mktemp to prepare a temporary working directory
for archiving kselftests.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
 tools/testing/selftests/gen_kselftest_tar.sh |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Jassi Brar Oct. 4, 2019, 4:34 p.m. UTC | #1
On Fri, 4 Oct 2019 at 00:13, Masami Hiramatsu <mhiramat@kernel.org> wrote:
>
> 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.
>
> Introduce mktemp to prepare a temporary working directory
> for archiving kselftests.
>
> Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
> ---
>  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 "$@"
>
FWIW,  Acked-by: Jassi Brar <jaswinder.singh@linaro.org>
Bird, Timothy Oct. 8, 2019, 11:39 p.m. UTC | #2
> -----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?
 -- Tim

> 
> Introduce mktemp to prepare a temporary working directory
> for archiving kselftests.
> 
> Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
> ---
>  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 Oct. 9, 2019, 2:44 a.m. UTC | #3
On Tue, 8 Oct 2019 23:39:40 +0000
<Tim.Bird@sony.com> 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@kernel.org>
> > ---
> >  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 "$@"
>

Patch
diff mbox series

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 "$@"