Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4053469pxj; Mon, 24 May 2021 22:41:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz9zIv+bm/7oa4ESAR8nw5ih1+IH47EXm6TKWR/X+OCAqAmNkLj9u1lIwZY6Hv/5/DnnNg/ X-Received: by 2002:a92:cd44:: with SMTP id v4mr21369959ilq.12.1621921280904; Mon, 24 May 2021 22:41:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621921280; cv=none; d=google.com; s=arc-20160816; b=Anme+DyVPvqKCIFTF1kT+nQc8MPJmZSGhsPqw0LFp5IHsALl4ITG1KjNTGnnQXWkUa W3bEFXB/WlWAql4506fwbChR6Kc4+bcoooZddy2IDydkHIckpS7eFldSTzhICBVlCpo3 9167h5d0a60SClwoNMJaYJK7csfn1JlnYfke1mzyO9fQxDlOJz641/Yxgq5/GGNyQDjp M9ZT1Wkd867ycVSJTy8c/sU6YWQUFSsUD0OqSuHIAtk8fUB0PH33nfPbjR4KkD5jNPca 7mb+AMr/2OHTWO/AHXSE7p3VNCcHbIXhM30/on6OZzxjTV40peyH1SlxIWWdbce/FFLH PswA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=EDlfCx2HsLnrCmFlgrTc2O7erXZLAmDRbDXAI6HC7mw=; b=LbgckCKb/xFvoIkqGnvan0yudy8Nd1R8+Wsf7GtgHOnx1N90CDHBY1iJ7iVkx1qVGb rGtQXX7FCk6G2PqoXxCEHIO4DufJLxa4Z+KXfngkMV7vvYyWyEQoyOgz1YlcNV9uJWqr 7dzBF2NilBp45FZ2oqoSlNqT/GOB+fOzVeIOgcYykltFIPUph2yj+AOoIKNVTxTN+fK8 NtCQaB7ImS7ZqmIUQabivY7tVvnXb5oR/hqxIRwZ0qHicZY0A6Dnlk8OM7RzzpB+M/bM exbWiDVdAp7GZd4/hPmKWRW95PVexA/FyJ86VMqzxwPmplPDk/QeIChkhrQwLPRRZNjY LkCQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m8si15676151ilh.136.2021.05.24.22.40.51; Mon, 24 May 2021 22:41:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230218AbhEYFkm (ORCPT + 99 others); Tue, 25 May 2021 01:40:42 -0400 Received: from mga04.intel.com ([192.55.52.120]:58412 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229621AbhEYFkm (ORCPT ); Tue, 25 May 2021 01:40:42 -0400 IronPort-SDR: 0J69OhRUvN6Xl26D7n6N3SibisoyWAwk7HRWLnE+wt7Qoh/+ivfTF6Kl1rpC87AiIaPOyQnSR8 ZG+Rw8XBekkg== X-IronPort-AV: E=McAfee;i="6200,9189,9994"; a="200207907" X-IronPort-AV: E=Sophos;i="5.82,327,1613462400"; d="scan'208";a="200207907" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2021 22:39:13 -0700 IronPort-SDR: srCLdOGQ/quM8mSMRWEgSVtuE5Wyu+EXg7mmUVLa6CP1ZSIoePwSH70d/lormDAzyyADHkrwC0 T9O004OyIaKg== X-IronPort-AV: E=Sophos;i="5.82,327,1613462400"; d="scan'208";a="443175071" Received: from rsiyer-mobl2.amr.corp.intel.com (HELO istotlan-desk.intel.com) ([10.212.132.70]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2021 22:39:13 -0700 From: Inga Stotland To: linux-bluetooth@vger.kernel.org Cc: luiz.dentz@gmail.com, Inga Stotland Subject: [PATCH BlueZ] tools/mgmt-tester: Fix expected HCI command accounting Date: Mon, 24 May 2021 22:39:05 -0700 Message-Id: <20210525053905.53138-1-inga.stotland@intel.com> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org This fixes test condition accounting in the expected HCI command callback. When the expected opcode has been detected, the test condition is either marked as completed in case of passing the checks or the test failure is reported. Any subsequent HCI commandis logged only as informational and does not contribute towards test accounting. Without the fix, in number of test cases where the expected HCI command is detected more than once, the test condition countdown goes into negative numbers or the test is erroneously reported as failed. --- tools/mgmt-tester.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c index c9de770c1..22b6a3387 100644 --- a/tools/mgmt-tester.c +++ b/tools/mgmt-tester.c @@ -6882,6 +6882,22 @@ static void command_setup_hci_callback(uint16_t opcode, const void *param, test_setup_condition_complete(data); } +static void command_hci_plus_callback(uint16_t opcode, const void *param, + uint8_t length, void *user_data) +{ + tester_print("Post HCI Command 0x%04x length %u", opcode, length); +} + +static gboolean hci_command_idle(void *user_data) +{ + struct test_data *data = user_data; + + hciemu_clear_master_post_command_hooks(data->hciemu); + hciemu_add_master_post_command_hook(data->hciemu, + command_hci_plus_callback, data); + return FALSE; +} + static void command_hci_callback(uint16_t opcode, const void *param, uint8_t length, void *user_data) { @@ -6896,6 +6912,8 @@ static void command_hci_callback(uint16_t opcode, const void *param, if (opcode != test->expect_hci_command || data->unmet_conditions <= 0) return; + g_idle_add(hci_command_idle, data); + if (test->expect_hci_func) expect_hci_param = test->expect_hci_func(&expect_hci_len); -- 2.26.3