From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3F4C145CE8; Mon, 11 Nov 2024 12:36:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id ECD8242793; Mon, 11 Nov 2024 12:35:30 +0100 (CET) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by mails.dpdk.org (Postfix) with ESMTP id 1981841157 for ; Mon, 11 Nov 2024 12:35:30 +0100 (CET) Received: from mail.maildlp.com (unknown [172.18.186.31]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Xn6r22LLmz6K9C0; Mon, 11 Nov 2024 19:33:38 +0800 (CST) Received: from frapeml500007.china.huawei.com (unknown [7.182.85.172]) by mail.maildlp.com (Postfix) with ESMTPS id B3BB71404F4; Mon, 11 Nov 2024 19:35:29 +0800 (CST) Received: from localhost.localdomain (10.220.239.45) by frapeml500007.china.huawei.com (7.182.85.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Mon, 11 Nov 2024 12:35:29 +0100 From: Konstantin Ananyev To: CC: , , , , , , , , Subject: [PATCH v9 7/7] test: add stress test suite Date: Mon, 11 Nov 2024 07:25:35 -0500 Message-ID: <20241111122535.6214-8-konstantin.ananyev@huawei.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20241111122535.6214-1-konstantin.ananyev@huawei.com> References: <20241107182429.60406-1-konstantin.ananyev@huawei.com> <20241111122535.6214-1-konstantin.ananyev@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.220.239.45] X-ClientProxiedBy: frapeml100003.china.huawei.com (7.182.85.60) To frapeml500007.china.huawei.com (7.182.85.172) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add a new test suite which purpose is to run 'stress' tests: main purpose is put a pressure to dpdk sync algorithms to flag their misbehaving/slowdown/etc. Right now it consists from just 2 test-cases: meson test --suite stress-tests --list DPDK:stress-tests / ring_stress_autotest DPDK:stress-tests / soring_stress_autotest These tests are quite time consuming (~15 mins each), that's another reason to put them into a separate test-suite. Signed-off-by: Konstantin Ananyev Acked-by: Stephen Hemminger --- app/test/suites/meson.build | 10 ++++++++++ app/test/test.h | 1 + app/test/test_ring_stress.c | 2 +- app/test/test_soring_stress.c | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/test/suites/meson.build b/app/test/suites/meson.build index 191702cf76..e482373330 100644 --- a/app/test/suites/meson.build +++ b/app/test/suites/meson.build @@ -5,6 +5,7 @@ # to complete, so timeout to 10 minutes timeout_seconds = 600 timeout_seconds_fast = 10 +timeout_seconds_stress = 900 test_no_huge_args = ['--no-huge', '-m', '2048'] has_hugepage = run_command(has_hugepages_cmd, check: true).stdout().strip() != '0' @@ -21,6 +22,7 @@ endif # - fast_tests # - perf_tests # - driver_tests +# - stress_tests test_suites = run_command(get_test_suites_cmd, autotest_sources, check: true).stdout().strip().split() foreach suite:test_suites @@ -39,6 +41,14 @@ foreach suite:test_suites timeout: timeout_seconds, is_parallel: false) endforeach + elif suite_name == 'stress-tests' + foreach t: suite_tests + test(t, dpdk_test, + env: ['DPDK_TEST=' + t], + timeout: timeout_seconds_stress, + is_parallel: false, + suite: suite_name) + endforeach elif suite_name != 'fast-tests' # simple cases - tests without parameters or special handling foreach t: suite_tests diff --git a/app/test/test.h b/app/test/test.h index 15e23d297f..ebc4864bf8 100644 --- a/app/test/test.h +++ b/app/test/test.h @@ -208,5 +208,6 @@ void add_test_command(struct test_command *t); #define REGISTER_FAST_TEST(cmd, no_huge, ASan, func) REGISTER_TEST_COMMAND(cmd, func) #define REGISTER_PERF_TEST REGISTER_TEST_COMMAND #define REGISTER_DRIVER_TEST REGISTER_TEST_COMMAND +#define REGISTER_STRESS_TEST REGISTER_TEST_COMMAND #endif diff --git a/app/test/test_ring_stress.c b/app/test/test_ring_stress.c index 1af45e0fc8..82e19b02c3 100644 --- a/app/test/test_ring_stress.c +++ b/app/test/test_ring_stress.c @@ -63,4 +63,4 @@ test_ring_stress(void) return (k != n); } -REGISTER_TEST_COMMAND(ring_stress_autotest, test_ring_stress); +REGISTER_STRESS_TEST(ring_stress_autotest, test_ring_stress); diff --git a/app/test/test_soring_stress.c b/app/test/test_soring_stress.c index 334af6a29c..e5655d49cb 100644 --- a/app/test/test_soring_stress.c +++ b/app/test/test_soring_stress.c @@ -45,4 +45,4 @@ test_ring_stress(void) return (k != n); } -REGISTER_TEST_COMMAND(soring_stress_autotest, test_ring_stress); +REGISTER_STRESS_TEST(soring_stress_autotest, test_ring_stress); -- 2.35.3