From: Reinette Chatre <reinette.chatre@intel.com>
To: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
linux-kselftest@vger.kernel.org, "Shuah Khan" <shuah@kernel.org>,
"Shaopeng Tan" <tan.shaopeng@jp.fujitsu.com>,
"Maciej Wieczór-Retman" <maciej.wieczor-retman@intel.com>,
"Fenghua Yu" <fenghua.yu@intel.com>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 18/24] selftests/resctrl: Introduce generalized test framework
Date: Thu, 2 Nov 2023 10:52:24 -0700 [thread overview]
Message-ID: <56769c01-e21d-4775-94f0-ef9f863c1e92@intel.com> (raw)
In-Reply-To: <20231024092634.7122-19-ilpo.jarvinen@linux.intel.com>
Hi Ilpo,
On 10/24/2023 2:26 AM, Ilpo Järvinen wrote:
...
> diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h
> index ec6efd36f60a..e017adf1390d 100644
> --- a/tools/testing/selftests/resctrl/resctrl.h
> +++ b/tools/testing/selftests/resctrl/resctrl.h
> @@ -37,6 +37,8 @@
>
> #define DEFAULT_SPAN (250 * MB)
>
> +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
> +
Shuah worked hard to remove all these copies within kselftest. Please
use the one in kselftest.h instead.
> #define PARENT_EXIT(err_msg) \
> do { \
> perror(err_msg); \
...
> @@ -233,25 +183,26 @@ int main(int argc, char **argv)
> case 't':
> token = strtok(optarg, ",");
>
> - mbm_test = false;
> - mba_test = false;
> - cmt_test = false;
> - cat_test = false;
> + if (!test_param_seen) {
> + for (i = 0; i < ARRAY_SIZE(resctrl_tests); i++)
> + resctrl_tests[i]->disabled = true;
> + tests = 0;
> + test_param_seen = true;
> + }
> while (token) {
> - if (!strncmp(token, MBM_STR, sizeof(MBM_STR))) {
> - mbm_test = true;
> - tests++;
> - } else if (!strncmp(token, MBA_STR, sizeof(MBA_STR))) {
> - mba_test = true;
> - tests++;
> - } else if (!strncmp(token, CMT_STR, sizeof(CMT_STR))) {
> - cmt_test = true;
> - tests++;
> - } else if (!strncmp(token, CAT_STR, sizeof(CAT_STR))) {
> - cat_test = true;
> - tests++;
> - } else {
> - printf("invalid argument\n");
> + bool found = false;
> +
> + for (i = 0; i < ARRAY_SIZE(resctrl_tests); i++) {
> + if (!strcasecmp(token, resctrl_tests[i]->name)) {
> + if (resctrl_tests[i]->disabled)
> + tests++;
> + resctrl_tests[i]->disabled = false;
> + found = true;
> + }
> + }
Could providing multiple "-t" result in the test count not
matching the number of tests run?
> +
> + if (!found) {
> + printf("invalid test: %s\n", token);
>
> return -1;
> }
A great improvement, thanks.
Reinette
next prev parent reply other threads:[~2023-11-02 17:52 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-24 9:26 [PATCH 00/24] selftests/resctrl: CAT test improvements & generalized test framework Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 01/24] selftests/resctrl: Split fill_buf to allow tests finer-grained control Ilpo Järvinen
2023-10-27 11:24 ` Maciej Wieczór-Retman
2023-11-02 17:46 ` Reinette Chatre
2023-10-24 9:26 ` [PATCH 02/24] selftests/resctrl: Refactor fill_buf functions Ilpo Järvinen
2023-10-27 11:32 ` Maciej Wieczór-Retman
2023-10-27 11:41 ` Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 03/24] selftests/resctrl: Refactor get_cbm_mask() Ilpo Järvinen
2023-10-27 11:39 ` Maciej Wieczór-Retman
2023-11-02 17:47 ` Reinette Chatre
2023-11-03 12:09 ` Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 04/24] selftests/resctrl: Mark get_cache_size() cache_type const Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 05/24] selftests/resctrl: Create cache_size() helper Ilpo Järvinen
2023-11-02 17:47 ` Reinette Chatre
2023-11-03 8:53 ` Ilpo Järvinen
2023-11-03 22:49 ` Reinette Chatre
2023-10-24 9:26 ` [PATCH 06/24] selftests/resctrl: Exclude shareable bits from schemata in CAT test Ilpo Järvinen
2023-11-02 17:48 ` Reinette Chatre
2023-10-24 9:26 ` [PATCH 07/24] selftests/resctrl: Split measure_cache_vals() function Ilpo Järvinen
2023-11-02 17:48 ` Reinette Chatre
2023-10-24 9:26 ` [PATCH 08/24] selftests/resctrl: Split show_cache_info() to test specific and generic parts Ilpo Järvinen
2023-11-02 17:48 ` Reinette Chatre
2023-10-24 9:26 ` [PATCH 09/24] selftests/resctrl: Remove unnecessary __u64 -> unsigned long conversion Ilpo Järvinen
2023-11-02 17:48 ` Reinette Chatre
2023-11-03 9:19 ` Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 10/24] selftests/resctrl: Remove nested calls in perf event handling Ilpo Järvinen
2023-11-02 17:49 ` Reinette Chatre
2023-11-03 9:45 ` Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 11/24] selftests/resctrl: Consolidate naming of perf event related things Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 12/24] selftests/resctrl: Improve perf init Ilpo Järvinen
2023-10-27 11:45 ` Maciej Wieczór-Retman
2023-10-24 9:26 ` [PATCH 13/24] selftests/resctrl: Convert perf related globals to locals Ilpo Järvinen
2023-10-27 11:47 ` Maciej Wieczór-Retman
2023-10-24 9:26 ` [PATCH 14/24] selftests/resctrl: Move cat_val() to cat_test.c and rename to cat_test() Ilpo Järvinen
2023-10-27 11:51 ` Maciej Wieczór-Retman
2023-10-27 12:18 ` Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 15/24] selftests/resctrl: Read in less obvious order to defeat prefetch optimizations Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 16/24] selftests/resctrl: Rewrite Cache Allocation Technology (CAT) test Ilpo Järvinen
2023-10-27 12:05 ` Maciej Wieczór-Retman
[not found] ` <fb5e1a50-ba7-1ee8-8bf2-bb8b64b27b1@linux.intel.com>
2023-10-31 7:24 ` Maciej Wieczór-Retman
2023-11-02 17:51 ` Reinette Chatre
2023-11-03 10:57 ` Ilpo Järvinen
2023-11-03 22:50 ` Reinette Chatre
2023-10-24 9:26 ` [PATCH 17/24] selftests/resctrl: Create struct for input parameter Ilpo Järvinen
2023-10-27 12:07 ` Maciej Wieczór-Retman
2023-11-02 17:51 ` Reinette Chatre
2023-11-03 11:24 ` Ilpo Järvinen
2023-11-03 22:50 ` Reinette Chatre
2023-11-06 9:06 ` Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 18/24] selftests/resctrl: Introduce generalized test framework Ilpo Järvinen
2023-11-02 17:52 ` Reinette Chatre [this message]
2023-11-03 9:54 ` Ilpo Järvinen
2023-11-03 22:50 ` Reinette Chatre
2023-10-24 9:26 ` [PATCH 19/24] selftests/resctrl: Pass write_schemata() resource instead of test name Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 20/24] selftests/resctrl: Add helper to convert L2/3 to integer Ilpo Järvinen
2023-10-27 12:09 ` Maciej Wieczór-Retman
2023-10-24 9:26 ` [PATCH 21/24] selftests/resctrl: Get resource id from cache id Ilpo Järvinen
[not found] ` <cb2ctfignowlom7lb2t5zhdgtm4s2jlzlvtumlnvxecwwtjk34@ysgepmgkv6bb>
[not found] ` <ab4c6aa5-ea49-363a-ff7b-2215665f185d@linux.intel.com>
2023-10-31 7:58 ` Maciej Wieczór-Retman
2023-10-24 9:26 ` [PATCH 22/24] selftests/resctrl: Add test groups and name L3 CAT test L3_CAT Ilpo Järvinen
2023-10-24 9:26 ` [PATCH 23/24] selftests/resctrl: Add L2 CAT test Ilpo Järvinen
2023-11-02 17:57 ` Reinette Chatre
2023-11-03 10:39 ` Ilpo Järvinen
2023-11-03 22:53 ` Reinette Chatre
2023-11-06 9:53 ` Ilpo Järvinen
2023-11-06 17:03 ` Reinette Chatre
2023-11-06 21:22 ` Reinette Chatre
2023-11-07 9:33 ` Ilpo Järvinen
2023-11-08 16:31 ` Reinette Chatre
2023-10-24 9:26 ` [PATCH 24/24] selftests/resctrl: Ignore failures from L2 CAT test with <= 2 bits Ilpo Järvinen
2023-11-02 17:57 ` Reinette Chatre
2023-11-03 10:24 ` Ilpo Järvinen
2023-11-03 22:53 ` Reinette Chatre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56769c01-e21d-4775-94f0-ef9f863c1e92@intel.com \
--to=reinette.chatre@intel.com \
--cc=fenghua.yu@intel.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=maciej.wieczor-retman@intel.com \
--cc=shuah@kernel.org \
--cc=tan.shaopeng@jp.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox