diff mbox series

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

Message ID 20200923211938.3727976-1-brendanhiggins@google.com
State Accepted
Commit 67e2fae3b767fd4444f3f161f6420d0d0338a10d
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: