From 6112ca0261d54f710e9895a414dfcabd53ccaa93 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 8 Sep 2023 17:07:25 +0200 Subject: tests/shell: add "--quick" option to skip slow tests (via NFT_TEST_SKIP_slow=y) It's important to run (a part) of the tests in a timely manner. Add an option to skip long running tests. Thereby, add a more general NFT_TEST_SKIP_* mechanism. This is related and inverse from "NFT_TEST_HAVE_json", where a test can require [ "$NFT_TEST_HAVE_json" != n ] to run, but is skipped when [ "$NFT_TEST_SKIP_slow" = y ]. Currently only NFT_TEST_SKIP_slow is supported. The user can set such environment variables (or use the -Q|--quick command line option). The configuration is printed in the test info. Tests should check for [ "$NFT_TEST_SKIP_slow" = y ] so that the variable has to be explicitly set to opt-out. For convenience, tests can also add a # NFT_TEST_SKIP(NFT_TEST_SKIP_slow) tag, which is evaluated by test-wrapper.sh. Or they can run a quick, reduced part of the test, but then should still indicate to be skipped. Mark 8 tests are as slow, that take longer than 5 seconds on my machine. With this, a parallel wall time for the non-slow tests is only 7 seconds (on my machine). The ultimate point is to integrate a call to "tests/shell/run-tests.sh" in a `make check` target. For development, you can then export NFT_TEST_SKIP_slow=y and have a fast `make check`. Signed-off-by: Thomas Haller Signed-off-by: Florian Westphal --- tests/shell/testcases/sets/0044interval_overlap_0 | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests/shell/testcases/sets/0044interval_overlap_0') diff --git a/tests/shell/testcases/sets/0044interval_overlap_0 b/tests/shell/testcases/sets/0044interval_overlap_0 index face90f2..19aa6f5e 100755 --- a/tests/shell/testcases/sets/0044interval_overlap_0 +++ b/tests/shell/testcases/sets/0044interval_overlap_0 @@ -1,5 +1,7 @@ #!/bin/sh -e # +# NFT_TEST_SKIP(NFT_TEST_SKIP_slow) +# # 0044interval_overlap_0 - Add overlapping and non-overlapping intervals # # Check that adding overlapping intervals to a set returns an error, unless: -- cgit v1.2.3