Message ID | 20190701201504.28487-12-laurent.pinchart@ideasonboard.com |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
Hi Kieran, Thanks for your work. On 2019-07-01 23:15:02 +0300, Laurent Pinchart wrote: > From: Kieran Bingham <kieran.bingham@ideasonboard.com> > > Provide an initial test coverage for the ControlInfo class. > > Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> > --- > Changes since v2: > > - Renamed to control_info.cpp > --- > test/controls/control_info.cpp | 62 ++++++++++++++++++++++++++++++++++ > test/controls/meson.build | 1 + > 2 files changed, 63 insertions(+) > create mode 100644 test/controls/control_info.cpp > > diff --git a/test/controls/control_info.cpp b/test/controls/control_info.cpp > new file mode 100644 > index 000000000000..aa3a65b1e5ef > --- /dev/null > +++ b/test/controls/control_info.cpp > @@ -0,0 +1,62 @@ > +/* SPDX-License-Identifier: GPL-2.0-or-later */ > +/* > + * Copyright (C) 2019, Google Inc. > + * > + * control_info.cpp - ControlInfo tests > + */ > + > +#include <iostream> > + > +#include <libcamera/controls.h> > + > +#include "test.h" > + > +using namespace std; > +using namespace libcamera; > + > +class ControlInfoTest : public Test > +{ > +protected: > + int run() > + { > + /* > + * Test information retrieval from a control with no minimum > + * and maximum. > + */ > + ControlInfo info(Brightness); > + > + if (info.id() != Brightness || > + info.type() != ControlValueInteger || > + info.name() != std::string("Brightness")) { > + cout << "Invalid control identification for Brightness" << endl; > + return TestFail; > + } > + > + if (info.min().getInt() != 0 || info.max().getInt() != 0) { > + cout << "Invalid control range for Brightness" << endl; > + return TestFail; > + } > + > + /* > + * Test information retrieval from a control with a minimum and > + * a maximum value. > + */ > + info = ControlInfo(Contrast, 10, 200); > + > + if (info.id() != Contrast || > + info.type() != ControlValueInteger || > + info.name() != std::string("Contrast")) { > + cout << "Invalid control identification for Contrast" << endl; > + return TestFail; > + } > + > + if (info.min().getInt() != 10 || info.max().getInt() != 200) { > + cout << "Invalid control range for Contrast" << endl; > + return TestFail; > + } > + > + return TestPass; > + } > +}; > + > +TEST_REGISTER(ControlInfoTest) > diff --git a/test/controls/meson.build b/test/controls/meson.build > index 1161864d9949..f8cda2877e73 100644 > --- a/test/controls/meson.build > +++ b/test/controls/meson.build > @@ -1,4 +1,5 @@ > control_tests = [ > + [ 'control_info', 'control_info.cpp' ], > [ 'control_value', 'control_value.cpp' ], > ] > > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel
diff --git a/test/controls/control_info.cpp b/test/controls/control_info.cpp new file mode 100644 index 000000000000..aa3a65b1e5ef --- /dev/null +++ b/test/controls/control_info.cpp @@ -0,0 +1,62 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2019, Google Inc. + * + * control_info.cpp - ControlInfo tests + */ + +#include <iostream> + +#include <libcamera/controls.h> + +#include "test.h" + +using namespace std; +using namespace libcamera; + +class ControlInfoTest : public Test +{ +protected: + int run() + { + /* + * Test information retrieval from a control with no minimum + * and maximum. + */ + ControlInfo info(Brightness); + + if (info.id() != Brightness || + info.type() != ControlValueInteger || + info.name() != std::string("Brightness")) { + cout << "Invalid control identification for Brightness" << endl; + return TestFail; + } + + if (info.min().getInt() != 0 || info.max().getInt() != 0) { + cout << "Invalid control range for Brightness" << endl; + return TestFail; + } + + /* + * Test information retrieval from a control with a minimum and + * a maximum value. + */ + info = ControlInfo(Contrast, 10, 200); + + if (info.id() != Contrast || + info.type() != ControlValueInteger || + info.name() != std::string("Contrast")) { + cout << "Invalid control identification for Contrast" << endl; + return TestFail; + } + + if (info.min().getInt() != 10 || info.max().getInt() != 200) { + cout << "Invalid control range for Contrast" << endl; + return TestFail; + } + + return TestPass; + } +}; + +TEST_REGISTER(ControlInfoTest) diff --git a/test/controls/meson.build b/test/controls/meson.build index 1161864d9949..f8cda2877e73 100644 --- a/test/controls/meson.build +++ b/test/controls/meson.build @@ -1,4 +1,5 @@ control_tests = [ + [ 'control_info', 'control_info.cpp' ], [ 'control_value', 'control_value.cpp' ], ]