summaryrefslogtreecommitdiffstats
path: root/tests/shell/testcases/sets/0068interval_stack_overflow_0
diff options
context:
space:
mode:
Diffstat (limited to 'tests/shell/testcases/sets/0068interval_stack_overflow_0')
-rwxr-xr-xtests/shell/testcases/sets/0068interval_stack_overflow_018
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/shell/testcases/sets/0068interval_stack_overflow_0 b/tests/shell/testcases/sets/0068interval_stack_overflow_0
index 2cbc9868..e61010c7 100755
--- a/tests/shell/testcases/sets/0068interval_stack_overflow_0
+++ b/tests/shell/testcases/sets/0068interval_stack_overflow_0
@@ -6,9 +6,18 @@ ruleset_file=$(mktemp)
trap 'rm -f "$ruleset_file"' EXIT
+HOWMANY=255
+if [ "$NFT_TEST_HAS_SOCKET_LIMITS" = y ] ; then
+ # The socket limit /proc/sys/net/core/wmem_max may be unsuitable for
+ # the test.
+ #
+ # Run only a subset of the test and mark as skipped at the end.
+ HOWMANY=30
+fi
+
{
echo 'define big_set = {'
- for ((i = 1; i < 255; i++)); do
+ for ((i = 1; i < $HOWMANY; i++)); do
for ((j = 1; j < 255; j++)); do
echo "10.0.$i.$j,"
done
@@ -27,3 +36,10 @@ table inet test68_table {
EOF
( ulimit -s 400 && $NFT -f "$ruleset_file" )
+
+if [ "$HOWMANY" != 255 ] ; then
+ echo "NFT_TEST_HAS_SOCKET_LIMITS indicates that the socket limit for"
+ echo "/proc/sys/net/core/wmem_max is too small for this test. Mark as SKIPPED"
+ echo "You may bump the limit and rerun with \`NFT_TEST_HAS_SOCKET_LIMITS=n\`."
+ exit 77
+fi