From b0bf6b0aa90e2ce94ec77e389eea0e5849f2eaec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=ADcolas=20F=2E=20R=2E=20A=2E=20Prado?= Date: Fri, 2 Jul 2021 09:21:10 -0300 Subject: libcamera: camera: Make stop() idempotent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make Camera::stop() idempotent so that it can be called in any state and consecutive times. When called in any state other than CameraRunning, it is a no-op. This simplifies the cleanup path for applications. Signed-off-by: NĂ­colas F. R. A. Prado Reviewed-by: Laurent Pinchart Reviewed-by: Jacopo Mondi Signed-off-by: Jacopo Mondi --- test/camera/statemachine.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'test') diff --git a/test/camera/statemachine.cpp b/test/camera/statemachine.cpp index f0c3d776..26fb5ca1 100644 --- a/test/camera/statemachine.cpp +++ b/test/camera/statemachine.cpp @@ -41,13 +41,13 @@ protected: if (camera_->queueRequest(&request) != -EACCES) return TestFail; - if (camera_->stop() != -EACCES) - return TestFail; - /* Test operations which should pass. */ if (camera_->release()) return TestFail; + if (camera_->stop()) + return TestFail; + /* Test valid state transitions, end in Acquired state. */ if (camera_->acquire()) return TestFail; @@ -71,7 +71,8 @@ protected: if (camera_->queueRequest(&request) != -EACCES) return TestFail; - if (camera_->stop() != -EACCES) + /* Test operations which should pass. */ + if (camera_->stop()) return TestFail; /* Test valid state transitions, end in Configured state. */ @@ -97,14 +98,14 @@ protected: if (camera_->queueRequest(&request1) != -EACCES) return TestFail; - if (camera_->stop() != -EACCES) - return TestFail; - /* Test operations which should pass. */ std::unique_ptr request2 = camera_->createRequest(); if (!request2) return TestFail; + if (camera_->stop()) + return TestFail; + /* Test valid state transitions, end in Running state. */ if (camera_->release()) return TestFail; -- cgit v1.2.1