All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kent Gibson <warthog618@gmail.com>
To: brgl@bgdev.pl
Cc: linux-gpio@vger.kernel.org
Subject: Re: [libgpiod][PATCH 0/2] support casting line.Value to bool
Date: Thu, 23 May 2024 07:57:12 +0800	[thread overview]
Message-ID: <20240522235712.GA5330@rigel> (raw)
In-Reply-To: <CAMRc=Mfd_i7uBBJnxkVbuZkiudxcb2N3rM8RmZGZAG-85iAYoA@mail.gmail.com>

On Wed, May 22, 2024 at 09:22:50AM -0700, brgl@bgdev.pl wrote:
> On Wed, 22 May 2024 02:46:41 +0200, Kent Gibson <warthog618@gmail.com> 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?
>

I guess the same applies to the C++ and Rust bindings - I'll have to
check.

> > 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
>

So a one-liner?

That gives me:

$ PYTHONPATH=./bindings/python LD_LIBRARY_PATH=./lib/.libs/:./tests/gpiosim/.libs/:bindings/python/ python3 -B -m tests
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/kent/libgpiod/bindings/python/tests/__main__.py", line 7, in <module>
    from .tests_chip import *
  File "/home/kent/libgpiod/bindings/python/tests/tests_chip.py", line 8, in <module>
    from . import gpiosim
  File "/home/kent/libgpiod/bindings/python/tests/gpiosim/__init__.py", line 4, in <module>
    from .chip import Chip
  File "/home/kent/libgpiod/bindings/python/tests/gpiosim/chip.py", line 4, in <module>
    from . import _ext
FileNotFoundError: [Errno 2] No such file or directory

That might also be as far as I got previously - I may've been mis-remembering
that the final hurdle was an import error, not an ld issue, though both are
looking for a module they can't find, so basically the same thing.

Cheers,
Kent.

  reply	other threads:[~2024-05-22 23:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-22  0:46 [libgpiod][PATCH 0/2] support casting line.Value to bool Kent Gibson
2024-05-22  0:46 ` [libgpiod][PATCH 1/2] bindings: python: tests: add test for " Kent Gibson
2024-05-22  0:46 ` [libgpiod][PATCH 2/2] bindings: python: support " Kent Gibson
2024-05-22 16:22 ` [libgpiod][PATCH 0/2] " brgl
2024-05-22 23:57   ` Kent Gibson [this message]
2024-05-23  0:32     ` Kent Gibson
2024-05-23  7:50       ` Bartosz Golaszewski
2024-05-23  7:55 ` Bartosz Golaszewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240522235712.GA5330@rigel \
    --to=warthog618@gmail.com \
    --cc=brgl@bgdev.pl \
    --cc=linux-gpio@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.