bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#6655: [PATCH] tests/misc/sort-merge-fdlimit: don't assume -R opens /


From: Paul Eggert
Subject: bug#6655: [PATCH] tests/misc/sort-merge-fdlimit: don't assume -R opens /dev/urandom
Date: Fri, 16 Jul 2010 11:31:33 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.10) Gecko/20100527 Thunderbird/3.0.5

While reviewing the recent sort patches I discovered something
else that needed to be merged.  One test in the patch assumes that
sort -R opens /dev/urandom, and makes sure that file descriptor
exhaustion doesn't occur.  But sort -R no longer opens /dev/urandom
by default, so the test doesn't actually test for the bug that it
was designed for (and the test will succeed even if the bug was
present).  I installed this to resurrect the test.

>From 9e89f39526999c6eef0a0d0211eaa1804e62a628 Mon Sep 17 00:00:00 2001
From: Paul R. Eggert <address@hidden>
Date: Fri, 16 Jul 2010 11:27:42 -0700
Subject: [PATCH] tests/misc/sort-merge-fdlimit: don't assume -R opens 
/dev/urandom

* tests/misc/sort-merge-fdlimit: This test was written assuming that
-R typically opens /dev/urandom, but that's no longer the case.
Redo test to specify a random source; this resurrects the point of
checking for file descriptor exhaustion.  Also try plain -R, since
that implementation may change in the future too.
---
 tests/misc/sort-merge-fdlimit |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/tests/misc/sort-merge-fdlimit b/tests/misc/sort-merge-fdlimit
index d1736f5..56b8518 100755
--- a/tests/misc/sort-merge-fdlimit
+++ b/tests/misc/sort-merge-fdlimit
@@ -31,6 +31,7 @@ mkdir in err || framework_failure
 for i in `seq 17`; do
   echo $i >in/$i
 done
+seq 17 >some-data
 
 # When these tests are run inside the automated testing framework, they
 # have one less available file descriptor than when run outside the
@@ -43,11 +44,14 @@ done
    && sort -m --batch-size=16 in/* 2>err/merge-default-err \
    || ! grep "open failed" err/merge-default-err) || fail=1
 
-# If sort opens a file (/dev/urandom) to sort by random hashes of keys,
+# If sort opens a file to sort by random hashes of keys,
 # it needs to consider this file against its limit on open file
-# descriptors.
-(ulimit -n 20 \
-   && sort -mR --batch-size=16 in/* 2>err/merge-random-err \
-   || ! grep "open failed" err/merge-random-err) || fail=1
+# descriptors.  Test once with the default random source
+# and once with an explicit source.
+for randsource in '' --random-source=some-data; do
+  (ulimit -n 20 \
+     && sort -mR $randsource --batch-size=16 in/* 2>err/merge-random-err \
+     || ! grep "open failed" err/merge-random-err) || fail=1
+done
 
 Exit $fail
-- 
1.7.1






reply via email to

[Prev in Thread] Current Thread [Next in Thread]