From patchwork Fri Mar 25 09:09:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 15549 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id C8ACBC0F1B for ; Fri, 25 Mar 2022 09:09:17 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 8490C604E9; Fri, 25 Mar 2022 10:09:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1648199357; bh=hLTmYuojHMjmtUh8gzJl2+HUWdtodTUsIN7+OUJacFM=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=dRrg0afGS0zbHW53ZDWFltI7E5l68zl2i86eHYSX9+8vLWLycVO5W3NwfFvQmDpVM IA1kFjspLk9MqZUE2kbQeNa1jF4D1P1tj8gG1xyDcn1sBrpADKL5ffbIkhjpK6IdXB a++QojN8ILk2Lx2SpHwx4KCDwEFEeFqHhhfb0jITzsMvseuvVOAbt0X+9FUk7o1zy5 JHxlCRqNx/EwP6qs9/uFpc9mYdaCdfO+6klF/oWZj9Mm0LND4qTkH0x5DtuD72f95w T7pJmGwLI1L1IDmWwIh83bAQEdXDCtoozKUMVPQ7lCSIG3hdGmL8A1KwkZ4r7o9xmH DU8WT4O0wZ+ww== Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 28D3E604E6 for ; Fri, 25 Mar 2022 10:09:14 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="CF3bepqC"; dkim-atps=neutral Received: by mail-wr1-x42a.google.com with SMTP id w4so9927216wrg.12 for ; Fri, 25 Mar 2022 02:09:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QSeLD6l2fNDLnVAXmscZh+AApyC398AN3impDShO8DQ=; b=CF3bepqCgGaH6okHE4GGcGrwEz2kWjKKWt3M/VJ8/7M/UHbH5rT90nlR1W3ffI+uof e+2daqUkmlqkb6L3wC8L/x6Q8WfWhrc2eaKXH5ybsKWPCMmmdl0mhGzJjz98KsPDQDrw EgrHzUPRtulSWAAYp7zSnfKFzRV4Uk0yy8Zk7Y3VEn43FGkFTpHNSuL1Kib6RZFt2sjJ 19Tm1WLl46Ix1KK8ppAvgpzC+LvZ6FowUGmOJvYqUUyR84ttb69GsBN/ey9IMkxXjxMD PaUuwPExNLZ1vBCDk2Su8pUfC8q8dLVLy9nJwqcVKY/CLH08p2QAsRN7wSGGLal5AmQu eSHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QSeLD6l2fNDLnVAXmscZh+AApyC398AN3impDShO8DQ=; b=TxQk3vb3Y7Y2tunSF+gpkYN1Gq2tTmyfBRQ1txdyLDzU+A99XYmATJEjliMk0zQ4HQ tDGWRG3IcRbKlSpc0Qbn3sx+ghDRI50s0DK8DCCZHTNEFLrSQ4TXXIpUhFQxKnJEv0Il Rk03DFHic6kQp7sAY3YTsGTFn4hX2SHl0nTQPN0ndBoWiMh1H0GyLnMKl7+LTOyAi32U o41vt07eorArgvuvMuJDVWfRPtHe8vuldFCpcXyDCAt7aeRycwjX7rsdvXTEmZ7mSJTk 46x8T5Oh6VIGO2SjCyPJcNGgjV3eNgsGQ3DNZl0SOnQsDIbJ58MJ37wuKcjCCgESk3dP Rdlg== X-Gm-Message-State: AOAM532FnIpNcny4GE3IJ6WdSfzH1VFVp3C8R7dq6j8meOv7quKa042k C8FaoJ1J+gK0GhGrQwHEx43gU8Yncu/ETw== X-Google-Smtp-Source: ABdhPJzKOXn/jCfLdbJNJOPcGT+16MTXA8KFe6DdU9UpEYe6ksSUvTS5w5qBUupCkyYLI0hfe23xqw== X-Received: by 2002:a5d:5406:0:b0:205:a2c2:3530 with SMTP id g6-20020a5d5406000000b00205a2c23530mr2587361wrv.587.1648199353696; Fri, 25 Mar 2022 02:09:13 -0700 (PDT) Received: from naush-laptop.pitowers.org ([2a00:1098:3142:14:478c:773f:4734:d0bc]) by smtp.gmail.com with ESMTPSA id c4-20020a056000184400b0020584c40778sm4915297wri.103.2022.03.25.02.09.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 02:09:12 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Fri, 25 Mar 2022 09:09:03 +0000 Message-Id: <20220325090903.880311-9-naush@raspberrypi.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220325090903.880311-1-naush@raspberrypi.com> References: <20220325090903.880311-1-naush@raspberrypi.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v5 8/8] test: Test V4L2BufferCache::isEmpty() member function X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Naushir Patuck via libcamera-devel From: Naushir Patuck Reply-To: Naushir Patuck Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Add a test for V4L2BufferCache::isEmpty() for various levels for cache fullness. Signed-off-by: Naushir Patuck Reviewed-by: Laurent Pinchart --- test/v4l2_videodevice/buffer_cache.cpp | 36 ++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/test/v4l2_videodevice/buffer_cache.cpp b/test/v4l2_videodevice/buffer_cache.cpp index b3f2bec11783..5a9aa2199c50 100644 --- a/test/v4l2_videodevice/buffer_cache.cpp +++ b/test/v4l2_videodevice/buffer_cache.cpp @@ -126,6 +126,35 @@ public: return TestPass; } + int testIsEmpty(const std::vector> &buffers) + { + V4L2BufferCache cache(buffers.size()); + + if (!cache.isEmpty()) + return TestFail; + + for (auto const &buffer : buffers) { + FrameBuffer &b = *buffer.get(); + cache.get(b); + } + + if (cache.isEmpty()) + return TestFail; + + unsigned int i; + for (i = 0; i < buffers.size() - 1; i++) + cache.put(i); + + if (cache.isEmpty()) + return TestFail; + + cache.put(i); + if (!cache.isEmpty()) + return TestFail; + + return TestPass; + } + int init() override { std::random_device rd; @@ -204,6 +233,13 @@ public: if (testHot(&cacheHalf, buffers, numBuffers / 2) != TestPass) return TestFail; + /* + * Test that the isEmpty function reports the correct result at + * various levels of cache fullness. + */ + if (testIsEmpty(buffers) != TestPass) + return TestFail; + return TestPass; }