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

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Oct 19 11:38:07 CEST 2022


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.

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