kunit: tool: fix --alltests flag
authorBrendan Higgins <brendanhiggins@google.com>
Wed, 23 Sep 2020 21:19:38 +0000 (14:19 -0700)
committerShuah Khan <skhan@linuxfoundation.org>
Wed, 23 Sep 2020 21:52:11 +0000 (15:52 -0600)
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>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/kunit/configs/broken_on_uml.config
tools/testing/kunit/kunit_kernel.py

index 239b9f0..a7f0603 100644 (file)
@@ -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
index e20e205..1b18265 100644 (file)
@@ -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: