mirror of
git://git.sv.gnu.org/coreutils
synced 2026-05-06 07:06:38 -04:00
tests: avoid $SHELL -c "ulimit ..." pattern
As described in commit v9.10-283-g5cb0cca3b avoid using ulimit with $SHELL -c, and explict invocation of the shell like that can require lots of memory, often due to loading the locale archive. * tests/basenc/bounded-memory.sh: Avoid $SHELL -c with ulimit. * tests/cut/bounded-memory.sh: Likewise. * tests/expand/bounded-memory.sh Likewise. * tests/pr/bounded-memory.sh Likewise. * tests/unexpand/bounded-memory.sh Likewise. * tests/fold/fold-zero-width.sh: Bring the ulimit bound down to the standard 6M over the determined limit.
This commit is contained in:
@@ -19,17 +19,15 @@
|
||||
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
||||
print_ver_ basenc
|
||||
|
||||
vm=$(get_min_ulimit_v_ basenc --base64 /dev/null) ||
|
||||
vm=$(get_min_ulimit_v_ timeout 10 basenc --base64 /dev/null) ||
|
||||
skip_ 'failed to determine memory limit'
|
||||
|
||||
# Check all except for --base58.
|
||||
for algorithm in '--base64' '--base64url' '--base32' '--base32hex' '--base16' \
|
||||
'--base2msbf' '--base2lsbf' '--z85'; do
|
||||
timeout 0.5 $SHELL -c \
|
||||
"(ulimit -v $(($vm+6000)) \
|
||||
&& basenc $algorithm </dev/zero >/dev/null 2>err)"
|
||||
(ulimit -v $(($vm+6000)) \
|
||||
&& timeout 0.5 basenc $algorithm </dev/zero >/dev/null 2>err)
|
||||
ret=$?
|
||||
test -f err || skip_ 'shell ulimit failure'
|
||||
test $ret = 124 || {
|
||||
fail=1
|
||||
cat err
|
||||
|
||||
@@ -19,17 +19,15 @@
|
||||
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
||||
print_ver_ cut
|
||||
|
||||
vm=$(get_min_ulimit_v_ cut -b1 /dev/null) ||
|
||||
vm=$(get_min_ulimit_v_ timeout 10 cut -b1 /dev/null) ||
|
||||
skip_ 'failed to determine memory limit'
|
||||
|
||||
# There is no way to implement '-s -f1' without allocating unbounded memory.
|
||||
# Check the rest.
|
||||
for opts in '-c1' '-b1' '-s -f2' '-f1'; do
|
||||
timeout 0.5 $SHELL -c \
|
||||
"(ulimit -v $(($vm+6000)) \
|
||||
&& cut $opts </dev/zero >/dev/null 2>err)"
|
||||
(ulimit -v $(($vm+6000)) \
|
||||
&& timeout 0.5 cut $opts </dev/zero >/dev/null 2>err)
|
||||
ret=$?
|
||||
test -f err || skip_ 'shell ulimit failure'
|
||||
test $ret = 124 || {
|
||||
fail=1
|
||||
cat err
|
||||
|
||||
@@ -19,14 +19,12 @@
|
||||
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
||||
print_ver_ expand
|
||||
|
||||
vm=$(get_min_ulimit_v_ expand /dev/null) ||
|
||||
vm=$(get_min_ulimit_v_ timeout 10 expand /dev/null) ||
|
||||
skip_ 'failed to determine memory limit'
|
||||
|
||||
timeout 0.5 $SHELL -c \
|
||||
"(ulimit -v $(($vm+6000)) \
|
||||
&& expand </dev/zero >/dev/null 2>err)"
|
||||
(ulimit -v $(($vm+6000)) \
|
||||
&& timeout 0.5 expand </dev/zero >/dev/null 2>err)
|
||||
ret=$?
|
||||
test -f err || skip_ 'shell ulimit failure'
|
||||
test $ret = 124 || {
|
||||
fail=1
|
||||
cat err
|
||||
|
||||
@@ -58,7 +58,7 @@ vm=$(get_min_ulimit_v_ timeout 10 fold /dev/null) && {
|
||||
# \303 results in EILSEQ on input
|
||||
for c in '\n' '\0' '\303'; do
|
||||
tr '\0' "$c" < /dev/zero |
|
||||
(ulimit -v $(($vm+12000)) && timeout 10 fold 2>err >/dev/full)
|
||||
(ulimit -v $(($vm+6000)) && timeout 10 fold 2>err >/dev/full)
|
||||
ret=$?
|
||||
{ test $ret = 124 || ! grep "$ENOSPC" err >/dev/null; } &&
|
||||
{ fail=1; cat err; echo "fold didn't diagnose ENOSPC" >&2; }
|
||||
|
||||
@@ -19,14 +19,12 @@
|
||||
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
||||
print_ver_ pr
|
||||
|
||||
vm=$(get_min_ulimit_v_ pr < /dev/null) ||
|
||||
vm=$(get_min_ulimit_v_ timeout 10 pr < /dev/null) ||
|
||||
skip_ 'failed to determine memory limit'
|
||||
|
||||
timeout 0.5 $SHELL -c \
|
||||
"(ulimit -v $(($vm+6000)) \
|
||||
&& pr < /dev/zero > /dev/null 2>err)"
|
||||
(ulimit -v $(($vm+6000)) \
|
||||
&& timeout 0.5 pr < /dev/zero > /dev/null 2>err)
|
||||
ret=$?
|
||||
test -f err || skip_ 'shell ulimit failure'
|
||||
test $ret = 124 || {
|
||||
fail=1
|
||||
cat err
|
||||
|
||||
@@ -19,14 +19,12 @@
|
||||
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
||||
print_ver_ unexpand
|
||||
|
||||
vm=$(get_min_ulimit_v_ unexpand /dev/null) ||
|
||||
vm=$(get_min_ulimit_v_ timeout 10 unexpand /dev/null) ||
|
||||
skip_ 'failed to determine memory limit'
|
||||
|
||||
timeout 0.5 $SHELL -c \
|
||||
"(ulimit -v $(($vm+6000)) \
|
||||
&& unexpand </dev/zero >/dev/null 2>err)"
|
||||
(ulimit -v $(($vm+6000)) \
|
||||
&& timeout 0.5 unexpand </dev/zero >/dev/null 2>err)
|
||||
ret=$?
|
||||
test -f err || skip_ 'shell ulimit failure'
|
||||
test $ret = 124 || {
|
||||
fail=1
|
||||
cat err
|
||||
|
||||
Reference in New Issue
Block a user