You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ken Giusti (JIRA)" <ji...@apache.org> on 2019/01/16 14:40:00 UTC
[jira] [Created] (DISPATCH-1243) Change Valgrind configuration to
run only qdrouterd under valgrind
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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org