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 91EE745B01; Tue, 15 Oct 2024 15:02:16 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 42CB140430; Tue, 15 Oct 2024 15:01:51 +0200 (CEST) Received: from forward500b.mail.yandex.net (forward500b.mail.yandex.net [178.154.239.144]) by mails.dpdk.org (Postfix) with ESMTP id 6A3424067D for ; Tue, 15 Oct 2024 15:01:49 +0200 (CEST) Received: from mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:9519:0:640:299f:0]) by forward500b.mail.yandex.net (Yandex) with ESMTPS id 26BAC61280; Tue, 15 Oct 2024 16:01:49 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id C1LmJKRThCg0-D3ttlA5x; Tue, 15 Oct 2024 16:01:48 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1728997308; bh=Bp1svm9oCw7nIGdD2q7SUnHSiDjPaZsSVYXZJP5KCKM=; h=Message-Id:Date:In-Reply-To:Cc:Subject:References:To:From; b=MUT/56yfqQeoJdpesNUO5wVgEoF09B9ws+PGeY1apOTFvX1R9OFDMyAkuWBwp7ViB v0ZVa8GZzjkdszzNcwQC3jqAP1suvniqNVPInMzF8a+i0IfZPeIQZfkI+xiozL973x bpUhUPwy1A4/k6+7TLdTOEp3ILosgF38tyII13+4= Authentication-Results: mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net; dkim=pass header.i=@yandex.ru From: Konstantin Ananyev To: dev@dpdk.org Cc: honnappa.nagarahalli@arm.com, jerinj@marvell.com, hemant.agrawal@nxp.com, bruce.richardson@intel.com, drc@linux.vnet.ibm.com, ruifeng.wang@arm.com, mb@smartsharesystems.com, eimear.morrissey@huawei.com, stephen@networkplumber.org, Konstantin Ananyev Subject: [PATCH v5 6/6] test: add stress test suite Date: Tue, 15 Oct 2024 14:01:11 +0100 Message-Id: <20241015130111.826-7-konstantin.v.ananyev@yandex.ru> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20241015130111.826-1-konstantin.v.ananyev@yandex.ru> References: <20240917120946.1212-1-konstantin.v.ananyev@yandex.ru> <20241015130111.826-1-konstantin.v.ananyev@yandex.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Yandex-Filter: 1 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 From: Konstantin Ananyev 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 --- 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