Message ID | 20200923211938.3727976-1-brendanhiggins@google.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v1] kunit: tool: fix --alltests flag | expand |
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 --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:
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