]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
tests: avoid a false memory leak test failure
authorPádraig Brady <P@draigBrady.com>
Sat, 7 Dec 2013 16:14:40 +0000 (16:14 +0000)
committerPádraig Brady <P@draigBrady.com>
Sat, 7 Dec 2013 19:12:55 +0000 (19:12 +0000)
* 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

index e971c594e1a969012d1aad53509506f8fc96a29b..bf682290c617daa1db808fe3bc89c6b42316c41f 100755 (executable)
@@ -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 inconsequential 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()
@@ -32,8 +36,8 @@ run_shuf_n()
   OUTPUT_LINES="$2"
 
   # 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 \
+  # (with varying numbers of input/output lines)
+  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"