[PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m

1 view
Skip to first unread message

David Gow

unread,
Jul 15, 2022, 12:04:01 AM7/15/22
to Brendan Higgins, Daniel Latypov, Shuah Khan, Ulf Hansson, Arnd Bergmann, David Gow, kuni...@googlegroups.com, linux-k...@vger.kernel.org, linu...@vger.kernel.org, linux-...@lists.ozlabs.org, 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...@intel.com/T/

Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
Reported-by: kernel test robot <l...@intel.com>
Signed-off-by: David Gow <davi...@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

Andrew Jeffery

unread,
Jul 17, 2022, 8:45:15 PM7/17/22
to David Gow, Brendan Higgins, Daniel Latypov, Shuah Khan, Ulf Hansson, Arnd Bergmann, linux-...@lists.ozlabs.org, linux-mmc, Linux Kernel Mailing List, kbuild test robot, linux-k...@vger.kernel.org, Sadiya Kazi, kuni...@googlegroups.com
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

David Gow

unread,
Jul 18, 2022, 9:41:50 PM7/18/22
to Andrew Jeffery, 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
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

Andrew Jeffery

unread,
Jul 18, 2022, 10:25:33 PM7/18/22
to David Gow, 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
Ah, yes. Fair enough!

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

Ulf Hansson

unread,
Jul 19, 2022, 4:42:07 AM7/19/22
to David Gow, Brendan Higgins, Daniel Latypov, Shuah Khan, Arnd Bergmann, kuni...@googlegroups.com, linux-k...@vger.kernel.org, linu...@vger.kernel.org, linux-...@lists.ozlabs.org, Sadiya Kazi, Linux Kernel Mailing List, kernel test robot
On Fri, 15 Jul 2022 at 06:04, David Gow <davi...@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...@intel.com/T/
>
> Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
> Reported-by: kernel test robot <l...@intel.com>
> Signed-off-by: David Gow <davi...@google.com>

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

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

Kind regards
Uffe

Brendan Higgins

unread,
Aug 3, 2022, 4:35:46 PM8/3/22
to David Gow, Daniel Latypov, Shuah Khan, Ulf Hansson, Arnd Bergmann, kuni...@googlegroups.com, linux-k...@vger.kernel.org, linu...@vger.kernel.org, linux-...@lists.ozlabs.org, Sadiya Kazi, Linux Kernel Mailing List, kernel test robot
On Fri, Jul 15, 2022 at 12:04 AM David Gow <davi...@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...@intel.com/T/
>
> Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
> Reported-by: kernel test robot <l...@intel.com>
> Signed-off-by: David Gow <davi...@google.com>

Acked-by: Brendan Higgins <brendan...@google.com>
Reply all
Reply to author
Forward
0 new messages