From bc871637797ef0fa193a3c64b82389fff4ce3f44 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:13 -0300 Subject: lc-compliance: Refactor using Googletest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refactor lc-compliance using Googletest as the test framework. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: Niklas Söderlund Reviewed-by: Jacopo Mondi Signed-off-by: Jacopo Mondi --- src/lc-compliance/single_stream.cpp | 97 ------------------------------------- 1 file changed, 97 deletions(-) delete mode 100644 src/lc-compliance/single_stream.cpp (limited to 'src/lc-compliance/single_stream.cpp') diff --git a/src/lc-compliance/single_stream.cpp b/src/lc-compliance/single_stream.cpp deleted file mode 100644 index 8318b42f..00000000 --- a/src/lc-compliance/single_stream.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* - * Copyright (C) 2020, Google Inc. - * - * single_stream.cpp - Test a single camera stream - */ - -#include - -#include "simple_capture.h" -#include "tests.h" - -using namespace libcamera; - -Results::Result testRequestBalance(std::shared_ptr camera, - StreamRole role, unsigned int startCycles, - unsigned int numRequests) -{ - SimpleCaptureBalanced capture(camera); - - Results::Result ret = capture.configure(role); - if (ret.first != Results::Pass) - return ret; - - for (unsigned int starts = 0; starts < startCycles; starts++) { - ret = capture.capture(numRequests); - if (ret.first != Results::Pass) - return ret; - } - - return { Results::Pass, "Balanced capture of " + - std::to_string(numRequests) + " requests with " + - std::to_string(startCycles) + " start cycles" }; -} - -Results::Result testRequestUnbalance(std::shared_ptr camera, - StreamRole role, unsigned int numRequests) -{ - SimpleCaptureUnbalanced capture(camera); - - Results::Result ret = capture.configure(role); - if (ret.first != Results::Pass) - return ret; - - return capture.capture(numRequests); -} - -Results testSingleStream(std::shared_ptr camera) -{ - static const std::vector> roles = { - { "raw", Raw }, - { "still", StillCapture }, - { "video", VideoRecording }, - { "viewfinder", Viewfinder }, - }; - static const std::vector numRequests = { 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 }; - - Results results(numRequests.size() * roles.size() * 3); - - for (const auto &role : roles) { - std::cout << "= Test role " << role.first << std::endl; - /* - * Test single capture cycles - * - * Makes sure the camera completes the exact number of requests queued. - * Example failure is a camera that needs N+M requests queued to - * complete N requests to the application. - */ - std::cout << "* Test single capture cycles" << std::endl; - for (unsigned int num : numRequests) - results.add(testRequestBalance(camera, role.second, 1, num)); - - /* - * Test multiple start/stop cycles - * - * Makes sure the camera supports multiple start/stop cycles. - * Example failure is a camera that does not clean up correctly in its - * error path but is only tested by single-capture applications. - */ - std::cout << "* Test multiple start/stop cycles" << std::endl; - for (unsigned int num : numRequests) - results.add(testRequestBalance(camera, role.second, 3, num)); - - /* - * Test unbalanced stop - * - * Makes sure the camera supports a stop with requests queued. - * Example failure is a camera that does not handle cancelation - * of buffers coming back from the video device while stopping. - */ - std::cout << "* Test unbalanced stop" << std::endl; - for (unsigned int num : numRequests) - results.add(testRequestUnbalance(camera, role.second, num)); - } - - return results; -} -- cgit v1.2.1