linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m
@ 2022-07-15  4:03 David Gow
  2022-07-18  0:44 ` Andrew Jeffery
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: David Gow @ 2022-07-15  4:03 UTC (permalink / raw)
  To: Brendan Higgins, Daniel Latypov, Shuah Khan, Ulf Hansson, Arnd Bergmann
  Cc: David Gow, kunit-dev, linux-kselftest, linux-mmc, linux-aspeed,
	Sadiya Kazi, Linux Kernel Mailing List, kernel test robot

While the sdhci-of-aspeed KUnit tests do work when builtin, and do work
when KUnit itself is being built as a module, the two together break.

This is because the KUnit tests (understandably) depend on KUnit, so a
built-in test cannot build if KUnit is a module.

Fix this by adding a dependency on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y),
which only excludes this one problematic configuration.

This was reported on a nasty openrisc-randconfig run by the kernel test
robot, though for some reason (compiler optimisations removing the test
code?) I wasn't able to reproduce it locally on x86:
https://lore.kernel.org/linux-mm/202207140122.fzhlf60k-lkp@intel.com/T/

Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: David Gow <davidgow@google.com>
---
 drivers/mmc/host/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index 10c563999d3d..e63608834411 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -171,6 +171,7 @@ config MMC_SDHCI_OF_ASPEED
 config MMC_SDHCI_OF_ASPEED_TEST
 	bool "Tests for the ASPEED SDHCI driver" if !KUNIT_ALL_TESTS
 	depends on MMC_SDHCI_OF_ASPEED && KUNIT
+	depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)
 	default KUNIT_ALL_TESTS
 	help
 	  Enable KUnit tests for the ASPEED SDHCI driver. Select this
-- 
2.37.0.170.g444d1eabd0-goog


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

* Re: [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m
  2022-07-15  4:03 [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m David Gow
@ 2022-07-18  0:44 ` Andrew Jeffery
  2022-07-19  1:41   ` David Gow
  2022-07-19  8:41 ` Ulf Hansson
  2022-08-03 20:35 ` Brendan Higgins
  2 siblings, 1 reply; 6+ messages in thread
From: Andrew Jeffery @ 2022-07-18  0:44 UTC (permalink / raw)
  To: David Gow, Brendan Higgins, Daniel Latypov, Shuah Khan,
	Ulf Hansson, Arnd Bergmann
  Cc: linux-aspeed, linux-mmc, Linux Kernel Mailing List,
	kbuild test robot, linux-kselftest, Sadiya Kazi, kunit-dev



On Fri, 15 Jul 2022, at 13:33, David Gow wrote:
> While the sdhci-of-aspeed KUnit tests do work when builtin, and do work
> when KUnit itself is being built as a module, the two together break.
>
> This is because the KUnit tests (understandably) depend on KUnit, so a
> built-in test cannot build if KUnit is a module.
>
> Fix this by adding a dependency on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y),
> which only excludes this one problematic configuration.
>
> This was reported on a nasty openrisc-randconfig run by the kernel test
> robot, though for some reason (compiler optimisations removing the test
> code?) I wasn't able to reproduce it locally on x86:
> https://lore.kernel.org/linux-mm/202207140122.fzhlf60k-lkp@intel.com/T/
>
> Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: David Gow <davidgow@google.com>
> ---
>  drivers/mmc/host/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
> index 10c563999d3d..e63608834411 100644
> --- a/drivers/mmc/host/Kconfig
> +++ b/drivers/mmc/host/Kconfig
> @@ -171,6 +171,7 @@ config MMC_SDHCI_OF_ASPEED
>  config MMC_SDHCI_OF_ASPEED_TEST
>  	bool "Tests for the ASPEED SDHCI driver" if !KUNIT_ALL_TESTS
>  	depends on MMC_SDHCI_OF_ASPEED && KUNIT
> +	depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)

Should this replace the line above? Isn't it just more constrained?

Regardless, thanks for your work here, the kunit integration with the 
ASPEED SDHCI driver bothered me a lot when I wrote it.

Andrew

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

* Re: [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m
  2022-07-18  0:44 ` Andrew Jeffery
@ 2022-07-19  1:41   ` David Gow
  2022-07-19  2:25     ` Andrew Jeffery
  0 siblings, 1 reply; 6+ messages in thread
From: David Gow @ 2022-07-19  1:41 UTC (permalink / raw)
  To: Andrew Jeffery
  Cc: Brendan Higgins, Daniel Latypov, Shuah Khan, Ulf Hansson,
	Arnd Bergmann, linux-aspeed, linux-mmc,
	Linux Kernel Mailing List, kbuild test robot,
	open list:KERNEL SELFTEST FRAMEWORK, Sadiya Kazi,
	KUnit Development

[-- Attachment #1: Type: text/plain, Size: 2240 bytes --]

On Mon, Jul 18, 2022 at 8:45 AM Andrew Jeffery <andrew@aj.id.au> wrote:
>
>
>
> On Fri, 15 Jul 2022, at 13:33, David Gow wrote:
> > While the sdhci-of-aspeed KUnit tests do work when builtin, and do work
> > when KUnit itself is being built as a module, the two together break.
> >
> > This is because the KUnit tests (understandably) depend on KUnit, so a
> > built-in test cannot build if KUnit is a module.
> >
> > Fix this by adding a dependency on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y),
> > which only excludes this one problematic configuration.
> >
> > This was reported on a nasty openrisc-randconfig run by the kernel test
> > robot, though for some reason (compiler optimisations removing the test
> > code?) I wasn't able to reproduce it locally on x86:
> > https://lore.kernel.org/linux-mm/202207140122.fzhlf60k-lkp@intel.com/T/
> >
> > Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: David Gow <davidgow@google.com>
> > ---
> >  drivers/mmc/host/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
> > index 10c563999d3d..e63608834411 100644
> > --- a/drivers/mmc/host/Kconfig
> > +++ b/drivers/mmc/host/Kconfig
> > @@ -171,6 +171,7 @@ config MMC_SDHCI_OF_ASPEED
> >  config MMC_SDHCI_OF_ASPEED_TEST
> >       bool "Tests for the ASPEED SDHCI driver" if !KUNIT_ALL_TESTS
> >       depends on MMC_SDHCI_OF_ASPEED && KUNIT
> > +     depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)
>
> Should this replace the line above? Isn't it just more constrained?
>

We need both lines. The first ensures that both KUNIT and
MMC_SDHCI_OF_ASPEED are available, and the second just targets the
case where KUNIT=m and MMC_SDHCI_OF_ASPEED=y.
If we got rid of the first line, we could end up compiling this
without KUnit at all (if MMC_SDHCI_OF_ASPEED=m).

> Regardless, thanks for your work here, the kunit integration with the
> ASPEED SDHCI driver bothered me a lot when I wrote it.

No worries: we're all still figuring out exactly how these sorts of
tests should interact with modules, so it's been a great real-world
example for us to experiment with.

Cheers,
-- David

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4003 bytes --]

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

* Re: [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m
  2022-07-19  1:41   ` David Gow
@ 2022-07-19  2:25     ` Andrew Jeffery
  0 siblings, 0 replies; 6+ messages in thread
From: Andrew Jeffery @ 2022-07-19  2:25 UTC (permalink / raw)
  To: David Gow
  Cc: Brendan Higgins, Daniel Latypov, Shuah Khan, Ulf Hansson,
	Arnd Bergmann, linux-aspeed, linux-mmc,
	Linux Kernel Mailing List, kbuild test robot,
	open list:KERNEL SELFTEST FRAMEWORK, Sadiya Kazi,
	KUnit Development



On Tue, 19 Jul 2022, at 11:11, David Gow wrote:
> On Mon, Jul 18, 2022 at 8:45 AM Andrew Jeffery <andrew@aj.id.au> wrote:
>>
>>
>>
>> On Fri, 15 Jul 2022, at 13:33, David Gow wrote:
>> > While the sdhci-of-aspeed KUnit tests do work when builtin, and do work
>> > when KUnit itself is being built as a module, the two together break.
>> >
>> > This is because the KUnit tests (understandably) depend on KUnit, so a
>> > built-in test cannot build if KUnit is a module.
>> >
>> > Fix this by adding a dependency on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y),
>> > which only excludes this one problematic configuration.
>> >
>> > This was reported on a nasty openrisc-randconfig run by the kernel test
>> > robot, though for some reason (compiler optimisations removing the test
>> > code?) I wasn't able to reproduce it locally on x86:
>> > https://lore.kernel.org/linux-mm/202207140122.fzhlf60k-lkp@intel.com/T/
>> >
>> > Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
>> > Reported-by: kernel test robot <lkp@intel.com>
>> > Signed-off-by: David Gow <davidgow@google.com>
>> > ---
>> >  drivers/mmc/host/Kconfig | 1 +
>> >  1 file changed, 1 insertion(+)
>> >
>> > diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
>> > index 10c563999d3d..e63608834411 100644
>> > --- a/drivers/mmc/host/Kconfig
>> > +++ b/drivers/mmc/host/Kconfig
>> > @@ -171,6 +171,7 @@ config MMC_SDHCI_OF_ASPEED
>> >  config MMC_SDHCI_OF_ASPEED_TEST
>> >       bool "Tests for the ASPEED SDHCI driver" if !KUNIT_ALL_TESTS
>> >       depends on MMC_SDHCI_OF_ASPEED && KUNIT
>> > +     depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)
>>
>> Should this replace the line above? Isn't it just more constrained?
>>
>
> We need both lines. The first ensures that both KUNIT and
> MMC_SDHCI_OF_ASPEED are available, and the second just targets the
> case where KUNIT=m and MMC_SDHCI_OF_ASPEED=y.
> If we got rid of the first line, we could end up compiling this
> without KUnit at all (if MMC_SDHCI_OF_ASPEED=m).

Ah, yes. Fair enough!

Acked-by: Andrew Jeffery <andrew@aj.id.au>

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

* Re: [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m
  2022-07-15  4:03 [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m David Gow
  2022-07-18  0:44 ` Andrew Jeffery
@ 2022-07-19  8:41 ` Ulf Hansson
  2022-08-03 20:35 ` Brendan Higgins
  2 siblings, 0 replies; 6+ messages in thread
From: Ulf Hansson @ 2022-07-19  8:41 UTC (permalink / raw)
  To: David Gow
  Cc: Brendan Higgins, Daniel Latypov, Shuah Khan, Arnd Bergmann,
	kunit-dev, linux-kselftest, linux-mmc, linux-aspeed, Sadiya Kazi,
	Linux Kernel Mailing List, kernel test robot

On Fri, 15 Jul 2022 at 06:04, David Gow <davidgow@google.com> wrote:
>
> While the sdhci-of-aspeed KUnit tests do work when builtin, and do work
> when KUnit itself is being built as a module, the two together break.
>
> This is because the KUnit tests (understandably) depend on KUnit, so a
> built-in test cannot build if KUnit is a module.
>
> Fix this by adding a dependency on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y),
> which only excludes this one problematic configuration.
>
> This was reported on a nasty openrisc-randconfig run by the kernel test
> robot, though for some reason (compiler optimisations removing the test
> code?) I wasn't able to reproduce it locally on x86:
> https://lore.kernel.org/linux-mm/202207140122.fzhlf60k-lkp@intel.com/T/
>
> Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: David Gow <davidgow@google.com>

I assume this should go together with the other recent kunit patches,
so please add:

Acked-by: Ulf Hansson <ulf.hansson@linaro.org>

Kind regards
Uffe

> ---
>  drivers/mmc/host/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
> index 10c563999d3d..e63608834411 100644
> --- a/drivers/mmc/host/Kconfig
> +++ b/drivers/mmc/host/Kconfig
> @@ -171,6 +171,7 @@ config MMC_SDHCI_OF_ASPEED
>  config MMC_SDHCI_OF_ASPEED_TEST
>         bool "Tests for the ASPEED SDHCI driver" if !KUNIT_ALL_TESTS
>         depends on MMC_SDHCI_OF_ASPEED && KUNIT
> +       depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)
>         default KUNIT_ALL_TESTS
>         help
>           Enable KUnit tests for the ASPEED SDHCI driver. Select this
> --
> 2.37.0.170.g444d1eabd0-goog
>

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

* Re: [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m
  2022-07-15  4:03 [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m David Gow
  2022-07-18  0:44 ` Andrew Jeffery
  2022-07-19  8:41 ` Ulf Hansson
@ 2022-08-03 20:35 ` Brendan Higgins
  2 siblings, 0 replies; 6+ messages in thread
From: Brendan Higgins @ 2022-08-03 20:35 UTC (permalink / raw)
  To: David Gow
  Cc: Daniel Latypov, Shuah Khan, Ulf Hansson, Arnd Bergmann,
	kunit-dev, linux-kselftest, linux-mmc, linux-aspeed, Sadiya Kazi,
	Linux Kernel Mailing List, kernel test robot

On Fri, Jul 15, 2022 at 12:04 AM David Gow <davidgow@google.com> wrote:
>
> While the sdhci-of-aspeed KUnit tests do work when builtin, and do work
> when KUnit itself is being built as a module, the two together break.
>
> This is because the KUnit tests (understandably) depend on KUnit, so a
> built-in test cannot build if KUnit is a module.
>
> Fix this by adding a dependency on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y),
> which only excludes this one problematic configuration.
>
> This was reported on a nasty openrisc-randconfig run by the kernel test
> robot, though for some reason (compiler optimisations removing the test
> code?) I wasn't able to reproduce it locally on x86:
> https://lore.kernel.org/linux-mm/202207140122.fzhlf60k-lkp@intel.com/T/
>
> Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: David Gow <davidgow@google.com>

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

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

end of thread, other threads:[~2022-08-03 20:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-15  4:03 [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m David Gow
2022-07-18  0:44 ` Andrew Jeffery
2022-07-19  1:41   ` David Gow
2022-07-19  2:25     ` Andrew Jeffery
2022-07-19  8:41 ` Ulf Hansson
2022-08-03 20:35 ` Brendan Higgins

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).