Re: [PATCH v3 0/7] selftests: gpio: rework and port to GPIO uAPI v2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 19, 2021 at 1:31 PM Kent Gibson <warthog618@xxxxxxxxx> wrote:
>
> Initially I just wanted to port the selftests to the latest GPIO uAPI,
> but on finding that, due to dependency issues, the selftests are not built
> for the buildroot environments that I do most of my GPIO testing in, I
> decided to take a closer look.
>
> The first patch is essentially a rewrite of the exising test suite.
> It uses a simplified abstraction of the uAPI interfaces to allow a common
> test suite to test the gpio-mockup using either of the uAPI interfaces.
> The simplified cdev interface is implemented in gpio-mockup.sh, with the
> actual driving of the uAPI implemented in gpio-mockup-cdev.c.
> The simplified sysfs interface replaces gpio-mockup-sysfs.sh and is
> loaded over the cdev implementation when selected.
>
> The new tests should also be simpler to extend to cover new mockup
> interfaces, such as the one Bart has been working on.
>
> I have dropped support for testing modules other than gpio-mockup from
> the command line options, as the tests are very gpio-mockup specific so
> I didn't see any calling for it.
>
> I have also tried to emphasise in the test output that the tests are
> covering the gpio-mockup itself.  They do perform some implicit testing
> of gpiolib and the uAPI interfaces, and so can be useful as smoke tests
> for those, but their primary focus is the gpio-mockup.
>
> Patches 2 through 5 do some cleaning up that is now possible with the
> new implementation, including enabling building in buildroot environments.
> Patch 4 doesn't strictly clean up all the old gpio references that it
> could - the gpio was the only Level 1 test, so the Level 1 tests could
> potentially be removed, but I was unsure if there may be other
> implications to removing a whole test level, or that it may be useful
> as a placeholder in case other static LDLIBS tests are added in
> the future??
>
> Patch 6 finally gets around to porting the tests to the latest GPIO uAPI.
>
> And Patch 7 updates the config to set the CONFIG_GPIO_CDEV option that
> was added in v5.10.
>
> Cheers,
> Kent.
>
> Changes v2 -> v3:
>  - remove 'commit' from Fixes tag in patch 1.
>  - rebase on Bart's gpio/for-next
>
> Changes v1 -> v2 (all in patch 1 and gpio-mockup.sh unless stated
>  otherwise):
>  - reorder includes in gpio-mockup-cdev.c
>  - a multitude of improvements to gpio-mockup.sh and gpio-mockup-sysfs.sh
>    based on Andy's review comments
>  - improved cleanup to ensure all child processes are killed on exit
>  - added race condition prevention or mitigation including the wait in
>    release_line, the retries in assert_mock, the assert_mock in set_mock,
>    and the sleep in set_line
>
> Kent Gibson (7):
>   selftests: gpio: rework and simplify test implementation
>   selftests: gpio: remove obsolete gpio-mockup-chardev.c
>   selftests: remove obsolete build restriction for gpio
>   selftests: remove obsolete gpio references from kselftest_deps.sh
>   tools: gpio: remove uAPI v1 code no longer used by selftests
>   selftests: gpio: port to GPIO uAPI v2
>   selftests: gpio: add CONFIG_GPIO_CDEV to config
>
>  tools/gpio/gpio-utils.c                       |  89 ----
>  tools/gpio/gpio-utils.h                       |   6 -
>  tools/testing/selftests/Makefile              |   9 -
>  tools/testing/selftests/gpio/Makefile         |  26 +-
>  tools/testing/selftests/gpio/config           |   1 +
>  .../testing/selftests/gpio/gpio-mockup-cdev.c | 198 +++++++
>  .../selftests/gpio/gpio-mockup-chardev.c      | 323 ------------
>  .../selftests/gpio/gpio-mockup-sysfs.sh       | 168 ++----
>  tools/testing/selftests/gpio/gpio-mockup.sh   | 497 ++++++++++++------
>  tools/testing/selftests/kselftest_deps.sh     |   4 +-
>  10 files changed, 603 insertions(+), 718 deletions(-)
>  create mode 100644 tools/testing/selftests/gpio/gpio-mockup-cdev.c
>  delete mode 100644 tools/testing/selftests/gpio/gpio-mockup-chardev.c
>
>
> base-commit: 64e6066e16b8c562983dd9d33e604c0001ae0fc7
> --
> 2.30.0
>

Series applied, thanks!

Bartosz



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux