Re: [libgpiod v2][PATCH v2 5/5] bindings: python: add the implementation for v2 API

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

 



On Thu, Jun 30, 2022 at 04:14:50PM +0800, Kent Gibson wrote:
> On Thu, Jun 30, 2022 at 08:54:24AM +0200, Bartosz Golaszewski wrote:
> > On Thu, Jun 30, 2022 at 4:25 AM Kent Gibson <warthog618@xxxxxxxxx> wrote:
> > >
> > > On Tue, Jun 28, 2022 at 10:42:26AM +0200, Bartosz Golaszewski wrote:
> > > > This is the implementation of the new python API for libgpiod v2.
> > > >
> > >
> > > [snip]
> > >
> > > > +     }
> > > > +
> > > > +     res = PyObject_Call(method, args, line_cfg_kwargs);
> > > > +     Py_DECREF(args);
> > > > +     Py_DECREF(method);
> > > > +     if (!Py_IsNone(res)) {
> > > > +             Py_DECREF(res);
> > > > +             return NULL;
> > > > +     }
> > > > +
> > >
> > > Building against python 3.9 (the min required by configure.ac) gives:
> > >
> > > module.c:276:7: warning: implicit declaration of function ‘Py_IsNone’; did you mean ‘Py_None’? [-Wimplicit-function-declaration]
> > >   276 |  if (!Py_IsNone(res)) {
> > >       |       ^~~~~~~~~
> > >       |       Py_None
> > >
> > >
> > > Py_IsNone didn't get added to the Stable ABI until 3.10.
> > >
> > > Cheers,
> > > Kent.
> > 
> > It seems like most distros still ship python 3.9, I don't want to make
> > 3.10 the requirement. This can be replaced by `if (res != Py_None)`.
> > Are there any more build issues?
> > 
> 
> No, that was the only one.
> 

But I am seeing a test failure:

$ sudo bindings/python/tests/gpiod_py_test.py
.............................................................................F................................
======================================================================
FAIL: test_module_line_request_edge_detection (cases.tests_line_request.ModuleLineRequestWorks)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/dev/libgpiod/bindings/python/tests/cases/tests_line_request.py", line 71, in test_module_line_request_edge_detection
    self.assertTrue(req.wait_edge_event())
AssertionError: False is not true

----------------------------------------------------------------------
Ran 110 tests in 2.652s

FAILED (failures=1)

Cheers,
Kent.



[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