[libcamera-devel] [PATCH] test: controls: control_info: Test default def() values

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Dec 16 18:40:14 CET 2022


On Wed, Oct 19, 2022 at 10:38:07AM +0100, Kieran Bingham wrote:
> Quoting Laurent Pinchart (2022-10-16 03:13:12)
> > On Wed, Oct 12, 2022 at 11:34:08AM +0100, Kieran Bingham wrote:
> > > Quoting Laurent Pinchart via libcamera-devel (2022-10-06 23:17:16)
> > > > On Fri, Oct 07, 2022 at 01:15:06AM +0300, Laurent Pinchart via libcamera-devel wrote:
> > > > > Extend the ControlInfoMap test to verify the behaviour of the default
> > > > > 'def' argument to the ControlInfoMap constructor.
> > > > 
> > > > s/ControlInfoMap/ControlInfo/
> > > > 
> > > > > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > > > > ---
> > > > >  test/controls/control_info.cpp | 8 +++++---
> > > > >  1 file changed, 5 insertions(+), 3 deletions(-)
> > > > > 
> > > > > diff --git a/test/controls/control_info.cpp b/test/controls/control_info.cpp
> > > > > index 56b4101f72fe..1176a5024b3a 100644
> > > > > --- a/test/controls/control_info.cpp
> > > > > +++ b/test/controls/control_info.cpp
> > > > > @@ -27,19 +27,21 @@ protected:
> > > > >               ControlInfo brightness;
> > > > >  
> > > > >               if (brightness.min().type() != ControlType::ControlTypeNone ||
> > > > > -                 brightness.max().type() != ControlType::ControlTypeNone) {
> > > > > +                 brightness.max().type() != ControlType::ControlTypeNone ||
> > > > > +                 brightness.def().type() != ControlType::ControlTypeNone) {
> > > 
> > > Should these use the .isNone() helper?
> > 
> > Yes they should. Should I do so in this patch or would you prefer a
> > separate one ?
> 
> Up to you.

I'll cook a patch on top.

> > > Otherwise, or either way:
> > > 
> > > Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> > > 
> > > > >                       cout << "Invalid control range for Brightness" << endl;
> > > > >                       return TestFail;
> > > > >               }
> > > > >  
> > > > >               /*
> > > > >                * Test information retrieval from a control with a minimum and
> > > > > -              * a maximum value.
> > > > > +              * a maximum value, and an implicit default value.
> > > 
> > > Except the 'implicit' default value is 'not a value' ?
> > 
> > I'm not sure to follow you.
> 
> It doesn't matter, re-reading it now it's ok.
> 
> But I just found it confusing that you're extending this to state that
> there will be an implicit default value. But the default value is
> 'None'. ... as in not a value - but that's an explicit state for our
> controls. So it *is* the default value.
> 
> > > > >                */
> > > > >               ControlInfo contrast(10, 200);
> > > > >  
> > > > >               if (contrast.min().get<int32_t>() != 10 ||
> > > > > -                 contrast.max().get<int32_t>() != 200) {
> > > > > +                 contrast.max().get<int32_t>() != 200 ||
> > > > > +                 !contrast.def().isNone()) {
> > > > >                       cout << "Invalid control range for Contrast" << endl;
> > > > >                       return TestFail;
> > > > >               }

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list