Ken Giusti created DISPATCH-1243:
------------------------------------
Summary: Change Valgrind configuration to run only qdrouterd under
valgrind
Key: DISPATCH-1243
URL: https://issues.apache.org/jira/browse/DISPATCH-1243
Project: Qpid Dispatch
Issue Type: Improvement
Components: Tests
Affects Versions: 1.5.0
Reporter: Ken Giusti
Assignee: Ken Giusti
Fix For: 1.6.0
Currently when the unit tests are configured to run with valgrind all spawned
executables are run under valgrind.
This means that in addition to qdrouterd running under valgrind things like
unit2, qdstat, qdmanage, etc are also run under valgrind.
I propose that we should only be running qdrouterd under valgrind - running
anything else under valgrind slows down the unit test runs and really doesn't
help achieve the goal of testing the qdrouterd server.
For example simply running the system_tests_qdstat under valgrind results in
the following:
ctest -R qdstat
Test project /home/kgiusti/work/dispatch/qpid-dispatch/BUILD
Start 27: system_tests_qdstat
1/1 Test #27: system_tests_qdstat .............. Passed 102.40 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 102.41 sec
[kgiusti@localhost BUILD (fix-valgrind)]$ find . -name "valgrind*.xml" | wc
128 128 8342
[kgiusti@localhost BUILD (fix-valgrind)]$ find . -name "valgrind*.xml" -exec
grep "<exe>" {} \; | grep -v valgrind | grep -v qdrouterd | wc
122 122 5940
[kgiusti@localhost BUILD (fix-valgrind)]$ find . -name "valgrind*.xml" -exec
grep "<exe>" {} \; | grep -v valgrind | grep qdrouterd | wc
6 6 150
In other words valgrind was invoked 128 times during the test run, of which
only 6 times was it run on qdrouterd. 122 times valgrind was invoked on
something else.
Further analysis show what those 122 valgrind runs operated on:
....
<exe>/usr/bin/unit2</exe>
<exe>/usr/bin/unit2</exe>
<exe>/usr/bin/unit2</exe>
<exe>/usr/bin/unit2</exe>
....
<exe>/home/kgiusti/work/dispatch/qpid-dispatch/tools/qdstat</exe>
<exe>/home/kgiusti/work/dispatch/qpid-dispatch/tools/qdstat</exe>
<exe>/home/kgiusti/work/dispatch/qpid-dispatch/tools/qdstat</exe>
<exe>/home/kgiusti/work/dispatch/qpid-dispatch/tools/qdstat</exe>
<exe>/home/kgiusti/work/dispatch/qpid-dispatch/tools/qdstat</exe>
....
We certainly shouldn't be running unit2 under valgrind, and I would argue
running qdstat - a python utility - under valgrind is mostly useless as it
primarily tests the python executable.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]