Browse Source

[trac614] Some documentation for the scripts

Only in comments at the beginning of them, but it should be enough.
Michal 'vorner' Vaner 14 years ago
parent
commit
f79cea1f5a
2 changed files with 29 additions and 1 deletions
  1. 17 1
      tools/tests_in_valgrind.sh
  2. 12 0
      tools/valgrind_test_cleaner.pl

+ 17 - 1
tools/tests_in_valgrind.sh

@@ -1,7 +1,23 @@
 #!/bin/bash
-
 # Yes, really bash, there are some bashisms
 
+###########################################
+# This script runs all tests in valgrind. Configure and compile bind the way
+# you want it to be tested (you should use --with-gtest, however, or you get
+# no tests). Then run this script from the top build directory.
+#
+# Note that the test isn't what you would call "production quality" (it is
+# expected to be used by the bind10 developers, not end user) and might break,
+# some ways of breaking it are known.
+#
+# There are two variables that modify it's behaviour.
+# * VALGRIND_FLAGS are the flag passed to valgrind. There are some, hopefully
+#      reasonable defaults which you can overwrite. Note that the variable is
+#      used unmodified inside a sed pattern with # as a modifier, which can
+#      easily break it. There was no motivation to fix this.
+# * VALGRIND_FILE is the file to store the output into. Default is valgrind.log
+###########################################
+
 # First, make sure the tests are up to date
 make
 

+ 12 - 0
tools/valgrind_test_cleaner.pl

@@ -2,6 +2,18 @@
 use strict;
 use warnings;
 
+# This script can be used on a valgrind output of the tests (from
+# tests_in_valgrind.sh) to remove some uninteresting error reports.
+# Since we care about the tested application not leaking/crashing, not
+# the tests itself, memory leaks that are caused only by the tests
+# (eg. unreleased test data), we don't want to have logs full of them.
+#
+# This script does some heuristics to eliminate some of such error
+# reports. Currently, the memory lost reports whose stack contains
+# no call from the real application are suppressed.
+#
+# Of course, the rest still can contain many uninteresting entries.
+
 my ($block, $blockOK);
 
 sub endBlock(_) {