test: delayed_controls: Remove sequenceOffset

Commit 6f539a6d2f ("delayed_controls: Remove reduandant firstSequence_")
removed support for frame number start offset from the DelayedControls
class, as it is now guaranteed that the first sequence number as it comes
from the V4L2VideoDevice will always be 0.

However the delayed_controls.cpp unit still has two tests that passes
a non-zero first sequence number to the DelayedControl class, causing
the test to spin forever and consequentially fail.

Remove the two tests from the unit to fix this.

The first removed test was testing the class against frame start
sequence numbers greater than zero and can safely be removed.

The second test was instead validating the class against sequence number
overflow, which is now not possible to test anymore as the DelayedControls
class now assumes 0 as first frame sequence number.

Fixes: 6f539a6d2f ("delayed_controls: Remove reduandant firstSequence_")
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Jacopo Mondi 2022-07-05 20:35:36 +02:00
parent 458d917ca2
commit 2778c3298c

View file

@ -155,7 +155,7 @@ protected:
return TestPass; return TestPass;
} }
int dualControlsWithDelay(uint32_t startOffset) int dualControlsWithDelay()
{ {
static const unsigned int maxDelay = 2; static const unsigned int maxDelay = 2;
@ -175,25 +175,24 @@ protected:
delayed->reset(); delayed->reset();
/* Trigger the first frame start event */ /* Trigger the first frame start event */
delayed->applyControls(startOffset); delayed->applyControls(0);
/* Test dual control with delay. */ /* Test dual control with delay. */
for (unsigned int i = 1; i < 100; i++) { for (unsigned int i = 1; i < 100; i++) {
uint32_t frame = startOffset + i;
int32_t value = 10 + i; int32_t value = 10 + i;
ctrls.set(V4L2_CID_BRIGHTNESS, value); ctrls.set(V4L2_CID_BRIGHTNESS, value);
ctrls.set(V4L2_CID_CONTRAST, value + 1); ctrls.set(V4L2_CID_CONTRAST, value + 1);
delayed->push(ctrls); delayed->push(ctrls);
delayed->applyControls(frame); delayed->applyControls(i);
ControlList result = delayed->get(frame); ControlList result = delayed->get(i);
int32_t brightness = result.get(V4L2_CID_BRIGHTNESS).get<int32_t>(); int32_t brightness = result.get(V4L2_CID_BRIGHTNESS).get<int32_t>();
int32_t contrast = result.get(V4L2_CID_CONTRAST).get<int32_t>(); int32_t contrast = result.get(V4L2_CID_CONTRAST).get<int32_t>();
if (brightness != expected || contrast != expected + 1) { if (brightness != expected || contrast != expected + 1) {
cerr << "Failed dual controls" cerr << "Failed dual controls"
<< " frame " << frame << " frame " << i
<< " brightness " << brightness << " brightness " << brightness
<< " contrast " << contrast << " contrast " << contrast
<< " expected " << expected << " expected " << expected
@ -283,17 +282,7 @@ protected:
return ret; return ret;
/* Test dual controls with different delays. */ /* Test dual controls with different delays. */
ret = dualControlsWithDelay(0); ret = dualControlsWithDelay();
if (ret)
return ret;
/* Test dual controls with non-zero sequence start. */
ret = dualControlsWithDelay(10000);
if (ret)
return ret;
/* Test dual controls with sequence number wraparound. */
ret = dualControlsWithDelay(UINT32_MAX - 50);
if (ret) if (ret)
return ret; return ret;