[v8,7/7] test: add stress test suite
Checks
Commit Message
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 <konstantin.ananyev@huawei.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
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(-)
@@ -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
@@ -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
@@ -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);
@@ -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);