Re: [libgpiod][PATCH 0/2] support casting line.Value to bool

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

 



On Wed, 22 May 2024 02:46:41 +0200, Kent Gibson <warthog618@xxxxxxxxx> said:
> While writing a gpiod plugin for gpiozero (Python), I had to map line.Value
> to its bool equivalent.  Casting seemed the obvious way to go, as it is
> essentially a boolean, but that didn't work as I expected - it always
> returned True. This is the case for any Python type that does not provide
> a suitable conversion operator.
>
> This series adds support for casting line.Value to bool.
>

Ha! Interesting. Do you think we may need it anywhere else too?

> Patch 1 adds a test that comfirms the existing behaviour.
> Patch 2 adds the __bool__() operator to make the Value behave as one
> might expect.
>
> As an aside, I couldn't for the life of me work out how to run the complete
> python test suite.  There are no hints in the documentation.
>
> There is a python-tests-run target in the Makefile, but that didn't work:
>
> ~/libgpiod/bindings/python$ make python-tests-run
> PYTHONPATH=/home/kent/libgpiod/bindings/python
> LD_LIBRARY_PATH=/home/kent/libgpiod/lib/.libs/:\
> 	/home/kent/libgpiod/tests/gpiosim/.libs/ \
> python3 -B -m tests
> /bin/bash: line 2: /home/kent/libgpiod/tests/gpiosim/.libs/: Is a directory
> make: *** [Makefile:677: python-tests-run] Error 126
>
> I tried fixing that but I still couldn't satisfy ld wrt the gpiosim
> (I don't have libgpiod installed - just using the local build),
> so gave up and called this particular test directly with
>

I typically run it like this:

    PYTHONPATH=./bindings/python
LD_LIBRARY_PATH=./lib/.libs/:./tests/gpiosim/.libs/:bindings/python/
python -B -m tests

Bart

> $ python -m unittest tests_line.py
>
> While that passes, I can't guarantee it hasn't caused some other
> breakage, though it seems very unlikely.
>
> Kent Gibson (2):
>   bindings: python: tests: add test for casting line.Value to bool
>   bindings: python: support casting line.Value to bool
>
>  bindings/python/gpiod/line.py       |  3 +++
>  bindings/python/tests/Makefile.am   |  1 +
>  bindings/python/tests/tests_line.py | 11 +++++++++++
>  3 files changed, 15 insertions(+)
>  create mode 100644 bindings/python/tests/tests_line.py
>
> --
> 2.39.2
>
>




[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