]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
tests: adjust recent changes to virtual memory limits
authorPádraig Brady <P@draigBrady.com>
Thu, 8 Oct 2015 02:41:07 +0000 (03:41 +0100)
committerPádraig Brady <P@draigBrady.com>
Thu, 8 Oct 2015 02:54:02 +0000 (03:54 +0100)
* tests/dd/no-allocate.sh: Account for timeout(1) when
determining the required mem, as timeout has additional shared libs.
This avoids the need for the hardcoded 4M addition to the limit.
* tests/misc/head-c.sh: Increase the base limit, to account for
the fact that head(1) will allocate some additional mem in this case.
* tests/misc/cut-huge-range.sh: Remove mention of specific limits.
* tests/misc/printf-surprise.sh: Likewise.
Reported by Dmitry V. Levin

tests/dd/no-allocate.sh
tests/misc/cut-huge-range.sh
tests/misc/head-c.sh
tests/misc/printf-surprise.sh

index d122e354459441e6ab38fec59da783ca2bb27bca..f6ce00391221cc5a9715c5002f676315e1308878 100755 (executable)
@@ -21,9 +21,9 @@ print_ver_ dd
 
 # Determine basic amount of memory needed.
 echo . > f || framework_failure_
-vm=$(get_min_ulimit_v_ dd if=f of=f2 status=none) \
+vm=$(get_min_ulimit_v_ timeout 10 dd if=f of=f2 status=none) \
   || skip_ "this shell lacks ulimit support"
-rm -f f || framework_failure_
+rm f f2 || framework_failure_
 
 # count and skip are zero, we don't need to allocate memory
 (ulimit -v $vm && dd  bs=30M count=0) || fail=1
@@ -43,8 +43,8 @@ check_dd_seek_alloc() {
   timeout 10 dd count=1 if=/dev/zero of=tape&
 
   # Allocate buffer and read from the "tape"
-  (ulimit -v $(($vm+4000)) \
-    && timeout 10 dd $dd_buf=30M $dd_op=1 count=0 $dd_file=tape)
+  (ulimit -v $vm \
+     && timeout 10 dd $dd_buf=30M $dd_op=1 count=0 $dd_file=tape)
   local ret=$?
 
   # Be defensive in case the tape reader is blocked for some reason
index 4df2fc06634b2a5740928c7f5a89cfb8d974626a..633ca8572451b3fcff00b30aef4940369add13df 100755 (executable)
@@ -50,7 +50,7 @@ subtract_one='
 CUT_MAX=$(echo $SIZE_MAX | sed "$subtract_one")
 
 # From coreutils-8.10 through 8.20, this would make cut try to allocate
-# a 256MiB bit vector.  With a 20MB limit on VM, the following would fail.
+# a 256MiB bit vector.
 (ulimit -v $vm && : | cut -b$CUT_MAX- > err 2>&1) || fail=1
 
 # Up to and including coreutils-8.21, cut would allocate possibly needed
index ab821ac61a51ee2b5b767d0296003098a26e72ec..0c63e3a90e2410c48bbe8c8627d1146bd1259416 100755 (executable)
@@ -42,7 +42,7 @@ esac
 # Only allocate memory as needed.
 # Coreutils <= 8.21 would allocate memory up front
 # based on the value passed to -c
-(ulimit -v $vm && head --bytes=-$SSIZE_MAX < /dev/null) || fail=1
+(ulimit -v $(($vm+1000)) && head --bytes=-$SSIZE_MAX < /dev/null) || fail=1
 
 # Make sure it works on funny files in /proc and /sys.
 
index 8480693fc4ea1081275f523cdfce661c48b56dae..f098bc13d55c875fd93b410a0f031dabda95d4be 100755 (executable)
@@ -59,8 +59,7 @@ cleanup_() { kill $pid 2>/dev/null && wait $pid; }
 
 head -c 10 fifo > out & pid=$!
 
-# Choosing the virtual memory limit, 11000 is enough, but 10000 is too
-# little and provokes a "memory exhausted" diagnostic on FreeBSD 9.0-p3.
+# Trigger large mem allocation failure
 ( ulimit -v $vm && env $prog %20000000f 0 2>err-msg > fifo )
 exit=$?