[{"id":37588,"web_url":"https://patchwork.libcamera.org/comment/37588/","msgid":"<74bab7e3-bbc7-450b-8e1c-353cfce44e48@ideasonboard.com>","date":"2026-01-13T09:02:11","subject":"Re: [PATCH 05/36] test: ipa: ipa_interface: Use\n\tIPAManager::createIPA()","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2026. 01. 13. 1:07 keltezéssel, Laurent Pinchart írta:\n> The goal of ipa_interface is to unit test the IPA interface. It\n> currently creates the IPA proxy through the higher level PipelineHandler\n> class. Use the IPAManager::createIPA() function instead to keep the\n> focus on the components that were meant to be tested.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n\nReviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\n\n>   test/ipa/ipa_interface_test.cpp | 12 +++++++++++-\n>   1 file changed, 11 insertions(+), 1 deletion(-)\n> \n> diff --git a/test/ipa/ipa_interface_test.cpp b/test/ipa/ipa_interface_test.cpp\n> index ccff6ac106c8..41ef81721bfa 100644\n> --- a/test/ipa/ipa_interface_test.cpp\n> +++ b/test/ipa/ipa_interface_test.cpp\n> @@ -22,6 +22,8 @@\n> \n>   #include \"libcamera/internal/camera_manager.h\"\n>   #include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/global_configuration.h\"\n> +#include \"libcamera/internal/ipa_manager.h\"\n>   #include \"libcamera/internal/ipa_module.h\"\n>   #include \"libcamera/internal/pipeline_handler.h\"\n> \n> @@ -43,6 +45,8 @@ public:\n>   \t{\n>   \t\tdelete notifier_;\n>   \t\tipa_.reset();\n> +\t\tipaManager_.reset();\n> +\t\tconfig_.reset();\n>   \t\tcameraManager_.reset();\n>   \t}\n> \n> @@ -90,6 +94,10 @@ protected:\n>   \t\tnotifier_ = new EventNotifier(fd_, EventNotifier::Read, this);\n>   \t\tnotifier_->activated.connect(this, &IPAInterfaceTest::readTrace);\n> \n> +\t\t/* Create the IPA manager. */\n> +\t\tconfig_ = std::make_unique<GlobalConfiguration>();\n> +\t\tipaManager_ = std::make_unique<IPAManager>(*config_);\n> +\n>   \t\treturn TestPass;\n>   \t}\n> \n> @@ -98,7 +106,7 @@ protected:\n>   \t\tEventDispatcher *dispatcher = thread()->eventDispatcher();\n>   \t\tTimer timer;\n> \n> -\t\tipa_ = pipe_->createIPA<ipa::vimc::IPAProxyVimc>(0, 0);\n> +\t\tipa_ = ipaManager_->createIPA<ipa::vimc::IPAProxyVimc>(pipe_.get(), 0, 0);\n>   \t\tif (!ipa_) {\n>   \t\t\tcerr << \"Failed to create VIMC IPA interface\" << endl;\n>   \t\t\treturn TestFail;\n> @@ -173,6 +181,8 @@ private:\n>   \tstd::shared_ptr<PipelineHandler> pipe_;\n>   \tstd::unique_ptr<ipa::vimc::IPAProxyVimc> ipa_;\n>   \tstd::unique_ptr<CameraManager> cameraManager_;\n> +\tstd::unique_ptr<GlobalConfiguration> config_;\n> +\tstd::unique_ptr<IPAManager> ipaManager_;\n>   \tenum ipa::vimc::IPAOperationCode trace_;\n>   \tEventNotifier *notifier_;\n>   \tint fd_;\n> --\n> Regards,\n> \n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 5F419BDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 Jan 2026 09:02:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BA28C61F84;\n\tTue, 13 Jan 2026 10:02:17 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AF55661F84\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Jan 2026 10:02:15 +0100 (CET)","from [192.168.33.30] (185.221.143.114.nat.pool.zt.hu\n\t[185.221.143.114])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B47032E0;\n\tTue, 13 Jan 2026 10:01:49 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"sjfPgTOF\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1768294909;\n\tbh=Lw1U7FAcC70RgmLhRekAdYtvUwYgd89q5JT7paO/62E=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=sjfPgTOF2zlkRwXiabKTge2h4+n1JH96kF+ko+UugIm6I3EwxiXXlSla5c5BsKi0L\n\tPwRKihnjR5N0hIRF80aBrr1hWiHt9+zSPoZFtP1s9NTI0jIdLl6CQ3TcV5THVgQK/X\n\t4AOb/slLE8JWCzWKK9mBYxqUMtKwjG7fXP+Y++PM=","Message-ID":"<74bab7e3-bbc7-450b-8e1c-353cfce44e48@ideasonboard.com>","Date":"Tue, 13 Jan 2026 10:02:11 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 05/36] test: ipa: ipa_interface: Use\n\tIPAManager::createIPA()","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20260113000808.15395-1-laurent.pinchart@ideasonboard.com>\n\t<xEKGGYYUdkyNOg3omvsyp-TVdbe8cEDpq7tg0P7XJxqka8Qm5jIj1E-mL9tDTL0aKdu8kWNzeLOXSbiW-eJxCQ==@protonmail.internalid>\n\t<20260113000808.15395-6-laurent.pinchart@ideasonboard.com>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<20260113000808.15395-6-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]