All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 1/3] kunit: Do not pollute source directory with generated files (.kunitconfig)
@ 2020-10-15 15:23 Andy Shevchenko
  2020-10-15 15:23 ` [PATCH v1 2/3] kunit: Do not pollute source directory with generated files (test.log) Andy Shevchenko
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Andy Shevchenko @ 2020-10-15 15:23 UTC (permalink / raw)
  To: Brendan Higgins, linux-kselftest, Shuah Khan, kunit-dev; +Cc: Andy Shevchenko

When --build_dir is provided use it and do not pollute source directory
which even can be mounted over network or read-only.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 tools/testing/kunit/kunit.py        | 25 ++++++++++++-------------
 tools/testing/kunit/kunit_kernel.py | 24 +++++++++++++++++++-----
 2 files changed, 31 insertions(+), 18 deletions(-)

diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
index ebf5f5763dee..1907bf9aacac 100755
--- a/tools/testing/kunit/kunit.py
+++ b/tools/testing/kunit/kunit.py
@@ -11,7 +11,6 @@ import argparse
 import sys
 import os
 import time
-import shutil
 
 from collections import namedtuple
 from enum import Enum, auto
@@ -44,11 +43,6 @@ class KunitStatus(Enum):
 	BUILD_FAILURE = auto()
 	TEST_FAILURE = auto()
 
-def create_default_kunitconfig():
-	if not os.path.exists(kunit_kernel.kunitconfig_path):
-		shutil.copyfile('arch/um/configs/kunit_defconfig',
-				kunit_kernel.kunitconfig_path)
-
 def get_kernel_root_path():
 	parts = sys.argv[0] if not __file__ else __file__
 	parts = os.path.realpath(parts).split('tools/testing/kunit')
@@ -61,7 +55,6 @@ def config_tests(linux: kunit_kernel.LinuxSourceTree,
 	kunit_parser.print_with_timestamp('Configuring KUnit Kernel ...')
 
 	config_start = time.time()
-	create_default_kunitconfig()
 	success = linux.build_reconfig(request.build_dir, request.make_options)
 	config_end = time.time()
 	if not success:
@@ -262,12 +255,12 @@ def main(argv, linux=None):
 		if not os.path.exists(cli_args.build_dir):
 			os.mkdir(cli_args.build_dir)
 
-		if not os.path.exists(kunit_kernel.kunitconfig_path):
-			create_default_kunitconfig()
-
 		if not linux:
 			linux = kunit_kernel.LinuxSourceTree()
 
+		linux.create_unitconfig(cli_args.build_dir)
+		linux.read_unitconfig(cli_args.build_dir)
+
 		request = KunitRequest(cli_args.raw_output,
 				       cli_args.timeout,
 				       cli_args.jobs,
@@ -283,12 +276,12 @@ def main(argv, linux=None):
 				not os.path.exists(cli_args.build_dir)):
 			os.mkdir(cli_args.build_dir)
 
-		if not os.path.exists(kunit_kernel.kunitconfig_path):
-			create_default_kunitconfig()
-
 		if not linux:
 			linux = kunit_kernel.LinuxSourceTree()
 
+		linux.create_unitconfig(cli_args.build_dir)
+		linux.read_unitconfig(cli_args.build_dir)
+
 		request = KunitConfigRequest(cli_args.build_dir,
 					     cli_args.make_options)
 		result = config_tests(linux, request)
@@ -301,6 +294,9 @@ def main(argv, linux=None):
 		if not linux:
 			linux = kunit_kernel.LinuxSourceTree()
 
+		linux.create_unitconfig(cli_args.build_dir)
+		linux.read_unitconfig(cli_args.build_dir)
+
 		request = KunitBuildRequest(cli_args.jobs,
 					    cli_args.build_dir,
 					    cli_args.alltests,
@@ -315,6 +311,9 @@ def main(argv, linux=None):
 		if not linux:
 			linux = kunit_kernel.LinuxSourceTree()
 
+		linux.create_unitconfig(cli_args.build_dir)
+		linux.read_unitconfig(cli_args.build_dir)
+
 		exec_request = KunitExecRequest(cli_args.timeout,
 						cli_args.build_dir,
 						cli_args.alltests)
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index b557b1e93f98..412dc5e3102b 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -6,10 +6,10 @@
 # Author: Felix Guo <felixguoxiuping@gmail.com>
 # Author: Brendan Higgins <brendanhiggins@google.com>
 
-
 import logging
 import subprocess
 import os
+import shutil
 import signal
 
 from contextlib import ExitStack
@@ -18,7 +18,8 @@ import kunit_config
 import kunit_parser
 
 KCONFIG_PATH = '.config'
-kunitconfig_path = '.kunitconfig'
+KUNITCONFIG_PATH = '.kunitconfig'
+DEFAULT_KUNITCONFIG_PATH = 'arch/um/configs/kunit_defconfig'
 BROKEN_ALLCONFIG_PATH = 'tools/testing/kunit/configs/broken_on_uml.config'
 
 class ConfigError(Exception):
@@ -99,19 +100,22 @@ class LinuxSourceTreeOperations(object):
 						   stderr=subprocess.STDOUT)
 			process.wait(timeout)
 
-
 def get_kconfig_path(build_dir):
 	kconfig_path = KCONFIG_PATH
 	if build_dir:
 		kconfig_path = os.path.join(build_dir, KCONFIG_PATH)
 	return kconfig_path
 
+def get_kunitconfig_path(build_dir):
+	kunitconfig_path = KUNITCONFIG_PATH
+	if build_dir:
+		kunitconfig_path = os.path.join(build_dir, KUNITCONFIG_PATH)
+	return kunitconfig_path
+
 class LinuxSourceTree(object):
 	"""Represents a Linux kernel source tree with KUnit tests."""
 
 	def __init__(self):
-		self._kconfig = kunit_config.Kconfig()
-		self._kconfig.read_from_file(kunitconfig_path)
 		self._ops = LinuxSourceTreeOperations()
 		signal.signal(signal.SIGINT, self.signal_handler)
 
@@ -123,6 +127,16 @@ class LinuxSourceTree(object):
 			return False
 		return True
 
+	def create_unitconfig(self, build_dir, defconfig=DEFAULT_KUNITCONFIG_PATH):
+		kunitconfig_path = get_kunitconfig_path(build_dir)
+		if not os.path.exists(kunitconfig_path):
+			shutil.copyfile(defconfig, kunitconfig_path)
+
+	def read_unitconfig(self, build_dir):
+		kunitconfig_path = get_kunitconfig_path(build_dir)
+		self._kconfig = kunit_config.Kconfig()
+		self._kconfig.read_from_file(kunitconfig_path)
+
 	def validate_config(self, build_dir):
 		kconfig_path = get_kconfig_path(build_dir)
 		validated_kconfig = kunit_config.Kconfig()
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v1 2/3] kunit: Do not pollute source directory with generated files (test.log)
  2020-10-15 15:23 [PATCH v1 1/3] kunit: Do not pollute source directory with generated files (.kunitconfig) Andy Shevchenko
@ 2020-10-15 15:23 ` Andy Shevchenko
  2020-10-23 20:39   ` Brendan Higgins
  2020-10-15 15:23 ` [PATCH v1 3/3] kunit: Introduce get_file_path() helper Andy Shevchenko
  2020-10-23 20:37 ` [PATCH v1 1/3] kunit: Do not pollute source directory with generated files (.kunitconfig) Brendan Higgins
  2 siblings, 1 reply; 6+ messages in thread
From: Andy Shevchenko @ 2020-10-15 15:23 UTC (permalink / raw)
  To: Brendan Higgins, linux-kselftest, Shuah Khan, kunit-dev; +Cc: Andy Shevchenko

When --build_dir is provided use it and do not pollute source directory
which even can be mounted over network or read-only.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 tools/testing/kunit/kunit_kernel.py | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index 412dc5e3102b..3a68dc51d33d 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -21,6 +21,7 @@ KCONFIG_PATH = '.config'
 KUNITCONFIG_PATH = '.kunitconfig'
 DEFAULT_KUNITCONFIG_PATH = 'arch/um/configs/kunit_defconfig'
 BROKEN_ALLCONFIG_PATH = 'tools/testing/kunit/configs/broken_on_uml.config'
+OUTFILE_PATH = 'test.log'
 
 class ConfigError(Exception):
 	"""Represents an error trying to configure the Linux kernel."""
@@ -89,11 +90,12 @@ class LinuxSourceTreeOperations(object):
 		except subprocess.CalledProcessError as e:
 			raise BuildError(e.output.decode())
 
-	def linux_bin(self, params, timeout, build_dir, outfile):
+	def linux_bin(self, params, timeout, build_dir):
 		"""Runs the Linux UML binary. Must be named 'linux'."""
 		linux_bin = './linux'
 		if build_dir:
 			linux_bin = os.path.join(build_dir, 'linux')
+		outfile = get_outfile_path(build_dir)
 		with open(outfile, 'w') as output:
 			process = subprocess.Popen([linux_bin] + params,
 						   stdout=output,
@@ -112,6 +114,12 @@ def get_kunitconfig_path(build_dir):
 		kunitconfig_path = os.path.join(build_dir, KUNITCONFIG_PATH)
 	return kunitconfig_path
 
+def get_outfile_path(build_dir):
+	outfile_path = OUTFILE_PATH
+	if build_dir:
+		outfile_path = os.path.join(build_dir, OUTFILE_PATH)
+	return outfile_path
+
 class LinuxSourceTree(object):
 	"""Represents a Linux kernel source tree with KUnit tests."""
 
@@ -192,8 +200,8 @@ class LinuxSourceTree(object):
 
 	def run_kernel(self, args=[], build_dir='', timeout=None):
 		args.extend(['mem=1G'])
-		outfile = 'test.log'
-		self._ops.linux_bin(args, timeout, build_dir, outfile)
+		self._ops.linux_bin(args, timeout, build_dir)
+		outfile = get_outfile_path(build_dir)
 		subprocess.call(['stty', 'sane'])
 		with open(outfile, 'r') as file:
 			for line in file:
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v1 3/3] kunit: Introduce get_file_path() helper
  2020-10-15 15:23 [PATCH v1 1/3] kunit: Do not pollute source directory with generated files (.kunitconfig) Andy Shevchenko
  2020-10-15 15:23 ` [PATCH v1 2/3] kunit: Do not pollute source directory with generated files (test.log) Andy Shevchenko
@ 2020-10-15 15:23 ` Andy Shevchenko
  2020-10-23 20:41   ` Brendan Higgins
  2020-10-23 20:37 ` [PATCH v1 1/3] kunit: Do not pollute source directory with generated files (.kunitconfig) Brendan Higgins
  2 siblings, 1 reply; 6+ messages in thread
From: Andy Shevchenko @ 2020-10-15 15:23 UTC (permalink / raw)
  To: Brendan Higgins, linux-kselftest, Shuah Khan, kunit-dev; +Cc: Andy Shevchenko

Helper allows to derive file names depending on --build_dir argument.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 tools/testing/kunit/kunit_kernel.py | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index 3a68dc51d33d..1f317bd1ec4f 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -23,6 +23,11 @@ DEFAULT_KUNITCONFIG_PATH = 'arch/um/configs/kunit_defconfig'
 BROKEN_ALLCONFIG_PATH = 'tools/testing/kunit/configs/broken_on_uml.config'
 OUTFILE_PATH = 'test.log'
 
+def get_file_path(build_dir, default):
+	if build_dir:
+		default = os.path.join(build_dir, default)
+	return default
+
 class ConfigError(Exception):
 	"""Represents an error trying to configure the Linux kernel."""
 
@@ -92,9 +97,7 @@ class LinuxSourceTreeOperations(object):
 
 	def linux_bin(self, params, timeout, build_dir):
 		"""Runs the Linux UML binary. Must be named 'linux'."""
-		linux_bin = './linux'
-		if build_dir:
-			linux_bin = os.path.join(build_dir, 'linux')
+		linux_bin = get_file_path(build_dir, 'linux')
 		outfile = get_outfile_path(build_dir)
 		with open(outfile, 'w') as output:
 			process = subprocess.Popen([linux_bin] + params,
@@ -103,22 +106,13 @@ class LinuxSourceTreeOperations(object):
 			process.wait(timeout)
 
 def get_kconfig_path(build_dir):
-	kconfig_path = KCONFIG_PATH
-	if build_dir:
-		kconfig_path = os.path.join(build_dir, KCONFIG_PATH)
-	return kconfig_path
+	return get_file_path(build_dir, KCONFIG_PATH)
 
 def get_kunitconfig_path(build_dir):
-	kunitconfig_path = KUNITCONFIG_PATH
-	if build_dir:
-		kunitconfig_path = os.path.join(build_dir, KUNITCONFIG_PATH)
-	return kunitconfig_path
+	return get_file_path(build_dir, KUNITCONFIG_PATH)
 
 def get_outfile_path(build_dir):
-	outfile_path = OUTFILE_PATH
-	if build_dir:
-		outfile_path = os.path.join(build_dir, OUTFILE_PATH)
-	return outfile_path
+	return get_file_path(build_dir, OUTFILE_PATH)
 
 class LinuxSourceTree(object):
 	"""Represents a Linux kernel source tree with KUnit tests."""
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 1/3] kunit: Do not pollute source directory with generated files (.kunitconfig)
  2020-10-15 15:23 [PATCH v1 1/3] kunit: Do not pollute source directory with generated files (.kunitconfig) Andy Shevchenko
  2020-10-15 15:23 ` [PATCH v1 2/3] kunit: Do not pollute source directory with generated files (test.log) Andy Shevchenko
  2020-10-15 15:23 ` [PATCH v1 3/3] kunit: Introduce get_file_path() helper Andy Shevchenko
@ 2020-10-23 20:37 ` Brendan Higgins
  2 siblings, 0 replies; 6+ messages in thread
From: Brendan Higgins @ 2020-10-23 20:37 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: open list:KERNEL SELFTEST FRAMEWORK, Shuah Khan, KUnit Development

On Thu, Oct 15, 2020 at 8:23 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> When --build_dir is provided use it and do not pollute source directory
> which even can be mounted over network or read-only.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Tested-by: Brendan Higgins <brendanhiggins@google.com>

One minor nit below:

> ---
>  tools/testing/kunit/kunit.py        | 25 ++++++++++++-------------
>  tools/testing/kunit/kunit_kernel.py | 24 +++++++++++++++++++-----
>  2 files changed, 31 insertions(+), 18 deletions(-)
>
> diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
> index ebf5f5763dee..1907bf9aacac 100755
> --- a/tools/testing/kunit/kunit.py
> +++ b/tools/testing/kunit/kunit.py
> @@ -11,7 +11,6 @@ import argparse
>  import sys
>  import os
>  import time
> -import shutil
>
>  from collections import namedtuple
>  from enum import Enum, auto
> @@ -44,11 +43,6 @@ class KunitStatus(Enum):
>         BUILD_FAILURE = auto()
>         TEST_FAILURE = auto()
>
> -def create_default_kunitconfig():
> -       if not os.path.exists(kunit_kernel.kunitconfig_path):
> -               shutil.copyfile('arch/um/configs/kunit_defconfig',
> -                               kunit_kernel.kunitconfig_path)
> -
>  def get_kernel_root_path():
>         parts = sys.argv[0] if not __file__ else __file__
>         parts = os.path.realpath(parts).split('tools/testing/kunit')
> @@ -61,7 +55,6 @@ def config_tests(linux: kunit_kernel.LinuxSourceTree,
>         kunit_parser.print_with_timestamp('Configuring KUnit Kernel ...')
>
>         config_start = time.time()
> -       create_default_kunitconfig()
>         success = linux.build_reconfig(request.build_dir, request.make_options)
>         config_end = time.time()
>         if not success:
> @@ -262,12 +255,12 @@ def main(argv, linux=None):
>                 if not os.path.exists(cli_args.build_dir):
>                         os.mkdir(cli_args.build_dir)
>
> -               if not os.path.exists(kunit_kernel.kunitconfig_path):
> -                       create_default_kunitconfig()
> -
>                 if not linux:
>                         linux = kunit_kernel.LinuxSourceTree()
>
> +               linux.create_unitconfig(cli_args.build_dir)
> +               linux.read_unitconfig(cli_args.build_dir)
> +
>                 request = KunitRequest(cli_args.raw_output,
>                                        cli_args.timeout,
>                                        cli_args.jobs,
> @@ -283,12 +276,12 @@ def main(argv, linux=None):
>                                 not os.path.exists(cli_args.build_dir)):
>                         os.mkdir(cli_args.build_dir)
>
> -               if not os.path.exists(kunit_kernel.kunitconfig_path):
> -                       create_default_kunitconfig()
> -
>                 if not linux:
>                         linux = kunit_kernel.LinuxSourceTree()
>
> +               linux.create_unitconfig(cli_args.build_dir)
> +               linux.read_unitconfig(cli_args.build_dir)
> +
>                 request = KunitConfigRequest(cli_args.build_dir,
>                                              cli_args.make_options)
>                 result = config_tests(linux, request)
> @@ -301,6 +294,9 @@ def main(argv, linux=None):
>                 if not linux:
>                         linux = kunit_kernel.LinuxSourceTree()
>
> +               linux.create_unitconfig(cli_args.build_dir)
> +               linux.read_unitconfig(cli_args.build_dir)
> +
>                 request = KunitBuildRequest(cli_args.jobs,
>                                             cli_args.build_dir,
>                                             cli_args.alltests,
> @@ -315,6 +311,9 @@ def main(argv, linux=None):
>                 if not linux:
>                         linux = kunit_kernel.LinuxSourceTree()
>
> +               linux.create_unitconfig(cli_args.build_dir)
> +               linux.read_unitconfig(cli_args.build_dir)
> +
>                 exec_request = KunitExecRequest(cli_args.timeout,
>                                                 cli_args.build_dir,
>                                                 cli_args.alltests)
> diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
> index b557b1e93f98..412dc5e3102b 100644
> --- a/tools/testing/kunit/kunit_kernel.py
> +++ b/tools/testing/kunit/kunit_kernel.py
> @@ -6,10 +6,10 @@
>  # Author: Felix Guo <felixguoxiuping@gmail.com>
>  # Author: Brendan Higgins <brendanhiggins@google.com>
>
> -
>  import logging
>  import subprocess
>  import os
> +import shutil
>  import signal
>
>  from contextlib import ExitStack
> @@ -18,7 +18,8 @@ import kunit_config
>  import kunit_parser
>
>  KCONFIG_PATH = '.config'
> -kunitconfig_path = '.kunitconfig'
> +KUNITCONFIG_PATH = '.kunitconfig'
> +DEFAULT_KUNITCONFIG_PATH = 'arch/um/configs/kunit_defconfig'
>  BROKEN_ALLCONFIG_PATH = 'tools/testing/kunit/configs/broken_on_uml.config'
>
>  class ConfigError(Exception):
> @@ -99,19 +100,22 @@ class LinuxSourceTreeOperations(object):
>                                                    stderr=subprocess.STDOUT)
>                         process.wait(timeout)
>
> -
>  def get_kconfig_path(build_dir):
>         kconfig_path = KCONFIG_PATH
>         if build_dir:
>                 kconfig_path = os.path.join(build_dir, KCONFIG_PATH)
>         return kconfig_path
>
> +def get_kunitconfig_path(build_dir):
> +       kunitconfig_path = KUNITCONFIG_PATH
> +       if build_dir:
> +               kunitconfig_path = os.path.join(build_dir, KUNITCONFIG_PATH)
> +       return kunitconfig_path
> +
>  class LinuxSourceTree(object):
>         """Represents a Linux kernel source tree with KUnit tests."""
>
>         def __init__(self):
> -               self._kconfig = kunit_config.Kconfig()
> -               self._kconfig.read_from_file(kunitconfig_path)
>                 self._ops = LinuxSourceTreeOperations()
>                 signal.signal(signal.SIGINT, self.signal_handler)
>
> @@ -123,6 +127,16 @@ class LinuxSourceTree(object):
>                         return False
>                 return True
>
> +       def create_unitconfig(self, build_dir, defconfig=DEFAULT_KUNITCONFIG_PATH):

nit: I think this should be create_kunitconfig() since everything else
refers to it as kunitconfig.

> +               kunitconfig_path = get_kunitconfig_path(build_dir)
> +               if not os.path.exists(kunitconfig_path):
> +                       shutil.copyfile(defconfig, kunitconfig_path)
> +
> +       def read_unitconfig(self, build_dir):

nit: Same as above: s/read_unitconfig/read_kunitconfig/.

> +               kunitconfig_path = get_kunitconfig_path(build_dir)
> +               self._kconfig = kunit_config.Kconfig()
> +               self._kconfig.read_from_file(kunitconfig_path)
> +
>         def validate_config(self, build_dir):
>                 kconfig_path = get_kconfig_path(build_dir)
>                 validated_kconfig = kunit_config.Kconfig()
> --
> 2.28.0

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 2/3] kunit: Do not pollute source directory with generated files (test.log)
  2020-10-15 15:23 ` [PATCH v1 2/3] kunit: Do not pollute source directory with generated files (test.log) Andy Shevchenko
@ 2020-10-23 20:39   ` Brendan Higgins
  0 siblings, 0 replies; 6+ messages in thread
From: Brendan Higgins @ 2020-10-23 20:39 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: open list:KERNEL SELFTEST FRAMEWORK, Shuah Khan, KUnit Development

On Thu, Oct 15, 2020 at 8:23 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> When --build_dir is provided use it and do not pollute source directory
> which even can be mounted over network or read-only.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Tested-by: Brendan Higgins <brendanhiggins@google.com>

Thanks!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 3/3] kunit: Introduce get_file_path() helper
  2020-10-15 15:23 ` [PATCH v1 3/3] kunit: Introduce get_file_path() helper Andy Shevchenko
@ 2020-10-23 20:41   ` Brendan Higgins
  0 siblings, 0 replies; 6+ messages in thread
From: Brendan Higgins @ 2020-10-23 20:41 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: open list:KERNEL SELFTEST FRAMEWORK, Shuah Khan, KUnit Development

On Thu, Oct 15, 2020 at 8:23 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> Helper allows to derive file names depending on --build_dir argument.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Tested-by: Brendan Higgins <brendanhiggins@google.com>

Greatly appreciated!

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-10-23 20:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-15 15:23 [PATCH v1 1/3] kunit: Do not pollute source directory with generated files (.kunitconfig) Andy Shevchenko
2020-10-15 15:23 ` [PATCH v1 2/3] kunit: Do not pollute source directory with generated files (test.log) Andy Shevchenko
2020-10-23 20:39   ` Brendan Higgins
2020-10-15 15:23 ` [PATCH v1 3/3] kunit: Introduce get_file_path() helper Andy Shevchenko
2020-10-23 20:41   ` Brendan Higgins
2020-10-23 20:37 ` [PATCH v1 1/3] kunit: Do not pollute source directory with generated files (.kunitconfig) Brendan Higgins

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.