On 12/05/2013 01:46 PM, Pádraig Brady wrote:
> On 12/05/2013 01:25 PM, Bernhard Voelker wrote:
>> On 12/05/2013 03:14 AM, Pádraig Brady wrote:
>>> To test follow this standard procedure:
>>>
>>>   tar -xf $downloaded_file
>>>   cd coreutils-8.21.176-37e00
>>>   ./configure && make check VERBOSE=yes
>>>
>>> Failures are reported and details are in tests/test-suite.log
>>
>> Hi Padraig,
>>
>> make check passes here on openSUSE-13.1, but check-expensive fails
>> for 'tests/misc/shuf-reservoir.sh':

> Ah that's the only `valgrind --leak-check=full` test we have.
> We should remove the valgrind wrapper if not
>   grep '^#define lint 1' "$CONFIG_HEADER"
> 
> I'll cook up a patch.

Attached
>From 6664fb8917047af49efba65d88fb12eba8da6939 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <[email protected]>
Date: Sat, 7 Dec 2013 16:14:40 +0000
Subject: [PATCH] tests: avoid a false memory leak test failure

* tests/misc/shuf-reservoir.sh: Restrict the valgrind
"exit on leak" behavior to developer environments where
specific "lint" code is enabled to avoid inconsequential leaks.
---
 tests/misc/shuf-reservoir.sh |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/tests/misc/shuf-reservoir.sh b/tests/misc/shuf-reservoir.sh
index e971c59..4a23981 100755
--- a/tests/misc/shuf-reservoir.sh
+++ b/tests/misc/shuf-reservoir.sh
@@ -24,6 +24,10 @@ print_ver_ shuf
 expensive_
 require_valgrind_
 
+# Only exit with error for leaks when in development mode
+# in which case we enable code to suppress inconsequental leaks
+grep '^#define lint 1' "$CONFIG_HEADER" && leaklevel=full || leaklevel=summary
+
 # Run "shuf" with specific number of input lines and output lines
 # Check the output for expected number of lines.
 run_shuf_n()
@@ -33,7 +37,7 @@ run_shuf_n()
 
   # Critical memory-related bugs will cause a segfault here
   # (with varying numbres of input/output lines)
-  seq "$INPUT_LINES" | valgrind --leak-check=full --error-exitcode=1 \
+  seq "$INPUT_LINES" | valgrind --leak-check=$leaklevel --error-exitcode=1 \
   shuf -n "$OUTPUT_LINES" -o "out_${INPUT_LINES}_${OUTPUT_LINES}" || return 1
 
   EXPECTED_LINES="$OUTPUT_LINES"
-- 
1.7.7.6

Reply via email to