diff mbox series

[v1] kunit: tool: fix --alltests flag

Message ID 20200923211938.3727976-1-brendanhiggins@google.com
State Accepted
Headers show
Series [v1] kunit: tool: fix --alltests flag | expand

Commit Message

Brendan Higgins Sept. 23, 2020, 9:19 p.m. UTC
Alltests flag evidently stopped working when run from outside of the
root of the source tree, so fix that. Also add an additional broken
config to the broken_on_uml config.

Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
---
 tools/testing/kunit/configs/broken_on_uml.config |  1 +
 tools/testing/kunit/kunit_kernel.py              | 15 ++++++++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)


base-commit: 92a2b470086f68bf35eb9f94b6cb5ebdfac41b25

Comments

Shuah Khan Sept. 23, 2020, 9:53 p.m. UTC | #1
On 9/23/20 3:19 PM, Brendan Higgins wrote:
> Alltests flag evidently stopped working when run from outside of the
> root of the source tree, so fix that. Also add an additional broken
> config to the broken_on_uml config.
> 
> Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
> ---
>   tools/testing/kunit/configs/broken_on_uml.config |  1 +
>   tools/testing/kunit/kunit_kernel.py              | 15 ++++++++++-----
>   2 files changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/testing/kunit/configs/broken_on_uml.config b/tools/testing/kunit/configs/broken_on_uml.config
> index 239b9f03da2c..a7f0603d33f6 100644
> --- a/tools/testing/kunit/configs/broken_on_uml.config
> +++ b/tools/testing/kunit/configs/broken_on_uml.config
> @@ -39,3 +39,4 @@
>   # CONFIG_QCOM_CPR is not set
>   # CONFIG_RESET_BRCMSTB_RESCAL is not set
>   # CONFIG_RESET_INTEL_GW is not set
> +# CONFIG_ADI_AXI_ADC is not set
> diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
> index e20e2056cb38..1b1826500f61 100644
> --- a/tools/testing/kunit/kunit_kernel.py
> +++ b/tools/testing/kunit/kunit_kernel.py
> @@ -53,18 +53,23 @@ class LinuxSourceTreeOperations(object):
>   		except subprocess.CalledProcessError as e:
>   			raise ConfigError(e.output)
>   
> -	def make_allyesconfig(self):
> +	def make_allyesconfig(self, build_dir, make_options):
>   		kunit_parser.print_with_timestamp(
>   			'Enabling all CONFIGs for UML...')
> +		command = ['make', 'ARCH=um', 'allyesconfig']
> +		if make_options:
> +			command.extend(make_options)
> +		if build_dir:
> +			command += ['O=' + build_dir]
>   		process = subprocess.Popen(
> -			['make', 'ARCH=um', 'allyesconfig'],
> +			command,
>   			stdout=subprocess.DEVNULL,
>   			stderr=subprocess.STDOUT)
>   		process.wait()
>   		kunit_parser.print_with_timestamp(
>   			'Disabling broken configs to run KUnit tests...')
>   		with ExitStack() as es:
> -			config = open(KCONFIG_PATH, 'a')
> +			config = open(get_kconfig_path(build_dir), 'a')
>   			disable = open(BROKEN_ALLCONFIG_PATH, 'r').read()
>   			config.write(disable)
>   		kunit_parser.print_with_timestamp(
> @@ -161,9 +166,9 @@ class LinuxSourceTree(object):
>   			return self.build_config(build_dir, make_options)
>   
>   	def build_um_kernel(self, alltests, jobs, build_dir, make_options):
> -		if alltests:
> -			self._ops.make_allyesconfig()
>   		try:
> +			if alltests:
> +				self._ops.make_allyesconfig(build_dir, make_options)
>   			self._ops.make_olddefconfig(build_dir, make_options)
>   			self._ops.make(jobs, build_dir, make_options)
>   		except (ConfigError, BuildError) as e:
> 
> base-commit: 92a2b470086f68bf35eb9f94b6cb5ebdfac41b25
> 


Thanks. Applied to linux-kselftest kunit-fiex for 5.10-rc1

thanks,
-- Shuah
diff mbox series

Patch

diff --git a/tools/testing/kunit/configs/broken_on_uml.config b/tools/testing/kunit/configs/broken_on_uml.config
index 239b9f03da2c..a7f0603d33f6 100644
--- a/tools/testing/kunit/configs/broken_on_uml.config
+++ b/tools/testing/kunit/configs/broken_on_uml.config
@@ -39,3 +39,4 @@ 
 # CONFIG_QCOM_CPR is not set
 # CONFIG_RESET_BRCMSTB_RESCAL is not set
 # CONFIG_RESET_INTEL_GW is not set
+# CONFIG_ADI_AXI_ADC is not set
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index e20e2056cb38..1b1826500f61 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -53,18 +53,23 @@  class LinuxSourceTreeOperations(object):
 		except subprocess.CalledProcessError as e:
 			raise ConfigError(e.output)
 
-	def make_allyesconfig(self):
+	def make_allyesconfig(self, build_dir, make_options):
 		kunit_parser.print_with_timestamp(
 			'Enabling all CONFIGs for UML...')
+		command = ['make', 'ARCH=um', 'allyesconfig']
+		if make_options:
+			command.extend(make_options)
+		if build_dir:
+			command += ['O=' + build_dir]
 		process = subprocess.Popen(
-			['make', 'ARCH=um', 'allyesconfig'],
+			command,
 			stdout=subprocess.DEVNULL,
 			stderr=subprocess.STDOUT)
 		process.wait()
 		kunit_parser.print_with_timestamp(
 			'Disabling broken configs to run KUnit tests...')
 		with ExitStack() as es:
-			config = open(KCONFIG_PATH, 'a')
+			config = open(get_kconfig_path(build_dir), 'a')
 			disable = open(BROKEN_ALLCONFIG_PATH, 'r').read()
 			config.write(disable)
 		kunit_parser.print_with_timestamp(
@@ -161,9 +166,9 @@  class LinuxSourceTree(object):
 			return self.build_config(build_dir, make_options)
 
 	def build_um_kernel(self, alltests, jobs, build_dir, make_options):
-		if alltests:
-			self._ops.make_allyesconfig()
 		try:
+			if alltests:
+				self._ops.make_allyesconfig(build_dir, make_options)
 			self._ops.make_olddefconfig(build_dir, make_options)
 			self._ops.make(jobs, build_dir, make_options)
 		except (ConfigError, BuildError) as e: