summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2013-04-25 11:03:22 +0100
committerPádraig Brady <P@draigBrady.com>2013-04-25 11:13:48 +0100
commit94f4f658f029f5d0083c6e8fab75d74b73ee5a33 (patch)
treebe1b2eb4beb44298ae0a6bc5a03de20c2a721532
parent090294b0e4b496137fcb3a672c979c679d0e47f8 (diff)
downloadcoreutils-94f4f658f029f5d0083c6e8fab75d74b73ee5a33.tar.xz
tests: fix usage of require_ulimit_
* init.cfg (require_ulimit_v_): Renamed from require_ulimit_ as this only checks for ulimit -v support. Other uses of ulimit -t and ulimit -n in tests shouldn't cause false failures if not supported. * cfg.mk (sc_prohibit_test_ulimit_without_require_): A new syntax check to ensure that require_ulimit_v_() is used iff required. * tests/misc/head-c.sh: Add missing call to require_ulimit_v_. * tests/rm/many-dir-entries-vs-OOM.sh: Likewise. * tests/split/r-chunk.sh: Remove non mandatory require_ulimit_ call. * tests/misc/sort-merge-fdlimit.sh: Likewise. * tests/cp/link-heap.sh: Adjust to renamed require_ulimit_v_. * tests/dd/no-allocate.sh: Likewise. * tests/misc/csplit-heap.sh: Likewise. * tests/misc/cut-huge-to-eol-range.sh: Likewise. * tests/misc/printf-surprise.sh: Likewise.
-rw-r--r--cfg.mk7
-rw-r--r--init.cfg2
-rwxr-xr-xtests/cp/link-heap.sh2
-rwxr-xr-xtests/dd/no-allocate.sh2
-rwxr-xr-xtests/misc/csplit-heap.sh2
-rwxr-xr-xtests/misc/cut-huge-to-eol-range.sh2
-rwxr-xr-xtests/misc/head-c.sh1
-rwxr-xr-xtests/misc/printf-surprise.sh3
-rwxr-xr-xtests/misc/sort-merge-fdlimit.sh1
-rwxr-xr-xtests/rm/many-dir-entries-vs-OOM.sh1
-rwxr-xr-xtests/split/r-chunk.sh2
11 files changed, 15 insertions, 10 deletions
diff --git a/cfg.mk b/cfg.mk
index 6fa7b1f72..6703dfe33 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -408,6 +408,13 @@ sc_some_programs_must_avoid_exit_failure:
&& { echo '$(ME): do not use EXIT_FAILURE in the above' \
1>&2; exit 1; } || :
+# Ensure that tests call the require_ulimit_v_ function if using ulimit -v
+sc_prohibit_test_ulimit_without_require_:
+ @(git grep -l require_ulimit_v_ tests; \
+ git grep -l 'ulimit -v' tests) \
+ | sort | uniq -u | grep . && { echo "$(ME): the above test(s)"\
+ " should match require_ulimit_v_ with ulimit -v" 1>&2; exit 1; } || :
+
# Ensure that tests call the print_ver_ function for programs which are
# actually used in that test.
sc_prohibit_test_calls_print_ver_with_irrelevant_argument:
diff --git a/init.cfg b/init.cfg
index 33122cc69..c48607c93 100644
--- a/init.cfg
+++ b/init.cfg
@@ -112,7 +112,7 @@ require_openat_support_()
fi
}
-require_ulimit_()
+require_ulimit_v_()
{
local ulimit_works=yes
# Expect to be able to exec a program in 10MiB of virtual memory,
diff --git a/tests/cp/link-heap.sh b/tests/cp/link-heap.sh
index 62d7de000..7de78131d 100755
--- a/tests/cp/link-heap.sh
+++ b/tests/cp/link-heap.sh
@@ -19,7 +19,7 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ cp
expensive_
-require_ulimit_
+require_ulimit_v_
a=$(printf %031d 0)
b=$(printf %031d 1)
diff --git a/tests/dd/no-allocate.sh b/tests/dd/no-allocate.sh
index e45dd5cf9..dd1a7408b 100755
--- a/tests/dd/no-allocate.sh
+++ b/tests/dd/no-allocate.sh
@@ -18,7 +18,7 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ dd
-require_ulimit_
+require_ulimit_v_
# count and skip is zero, we don't need to allocate memory
(ulimit -v 20000; dd bs=30M count=0) || fail=1
diff --git a/tests/misc/csplit-heap.sh b/tests/misc/csplit-heap.sh
index 82945a78d..3c300cec4 100755
--- a/tests/misc/csplit-heap.sh
+++ b/tests/misc/csplit-heap.sh
@@ -19,7 +19,7 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ csplit
-require_ulimit_
+require_ulimit_v_
(
ulimit -v 20000
diff --git a/tests/misc/cut-huge-to-eol-range.sh b/tests/misc/cut-huge-to-eol-range.sh
index 42cecfd79..e6abe6ec5 100755
--- a/tests/misc/cut-huge-to-eol-range.sh
+++ b/tests/misc/cut-huge-to-eol-range.sh
@@ -18,7 +18,7 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ cut
-require_ulimit_
+require_ulimit_v_
getlimits_
# From coreutils-8.10 through 8.20, this would make cut try to allocate
diff --git a/tests/misc/head-c.sh b/tests/misc/head-c.sh
index eada8d550..37a86cea8 100755
--- a/tests/misc/head-c.sh
+++ b/tests/misc/head-c.sh
@@ -18,6 +18,7 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ head
+require_ulimit_v_
# exercise the fix of 2001-08-18, based on test case from Ian Bruce
echo abc > in || framework_failure_
diff --git a/tests/misc/printf-surprise.sh b/tests/misc/printf-surprise.sh
index 0db6f7b1a..ccd5990f6 100755
--- a/tests/misc/printf-surprise.sh
+++ b/tests/misc/printf-surprise.sh
@@ -20,8 +20,7 @@ prog=printf
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ printf
-
-require_ulimit_
+require_ulimit_v_
# Up to coreutils-6.9, "printf %.Nf 0" would encounter an ENOMEM internal
diff --git a/tests/misc/sort-merge-fdlimit.sh b/tests/misc/sort-merge-fdlimit.sh
index bcd023ae0..2125f852f 100755
--- a/tests/misc/sort-merge-fdlimit.sh
+++ b/tests/misc/sort-merge-fdlimit.sh
@@ -19,7 +19,6 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ sort
-require_ulimit_
mkdir in err || framework_failure_
diff --git a/tests/rm/many-dir-entries-vs-OOM.sh b/tests/rm/many-dir-entries-vs-OOM.sh
index c867a46e1..a6ecdf67a 100755
--- a/tests/rm/many-dir-entries-vs-OOM.sh
+++ b/tests/rm/many-dir-entries-vs-OOM.sh
@@ -19,6 +19,7 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ rm du chmod
+require_ulimit_v_
expensive_
diff --git a/tests/split/r-chunk.sh b/tests/split/r-chunk.sh
index f4c4fd225..9c5b86ed4 100755
--- a/tests/split/r-chunk.sh
+++ b/tests/split/r-chunk.sh
@@ -19,8 +19,6 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ split
-require_ulimit_
-
# N can be greater than the file size
# in which case no data is extracted, or empty files are written
split -n r/10 /dev/null || fail=1