DAOS-19102 test: Stabilize NLT memcheck testing of Go binaries#18454
DAOS-19102 test: Stabilize NLT memcheck testing of Go binaries#18454mjmac wants to merge 2 commits into
Conversation
|
Ticket title is 'Make Go suppressions stable across toolchain versions' |
|
Test stage NLT completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18454/1/testReport/ |
97a82a1 to
30ff8b1
Compare
|
Test stage NLT completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18454/3/testReport/ |
cd0c9ff to
ee9881b
Compare
|
Test stage NLT completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18454/7/testReport/ |
4835620 to
e103c95
Compare
a66f8fe to
c225664
Compare
|
Test stage NLT completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18454/13/testReport/ |
82b6e64 to
a26398f
Compare
|
FYI we just landed a suppression that conflicts with this now |
a26398f to
6e21598
Compare
…heck Go 1.25+ includes a new valgrind build tag which instruments the Go runtime in a way that valgrind can comprehend. Instead of fighting a constantly losing battle with valgrind, let's work with it and ditch the unstable suppressions that need to be updated for every release of the Go toolchain. This commit introduces scons and Jenkinsfile changes to enable this build mode for NLT, but keeps the -race build for normal non-release testing. Signed-off-by: Michael MacDonald <github@macdonald.cx>
6e21598 to
34f2530
Compare
Yep, just re-pushed. Should be sorted out going forward. In the second commit, I added a NLT-soak pragma that I used to verify that this really works. It's gone through 20+ iterations. |
I think at least 2 people have asked about a way to run NLT on repeat so that's also a nice addition |
af0ea51 to
089d39a
Compare
By default, NLT runs each test once. Add a --repeat N flag to allow for multiple iterations to really soak a change. Add a --failfast flag to allow the loop to be broken if any iteration fails; otherwise the loop will keep going until the requested number of loops has completed. New test pragmas: - NLT-repeat: N - NLT-repeat-failfast: true Signed-off-by: Michael MacDonald <github@macdonald.cx>
089d39a to
283a0c0
Compare
Go 1.25+ includes a new valgrind build tag which instruments the
Go runtime in a way that valgrind can comprehend. Instead of
fighting a constantly losing battle with valgrind, let's work
with it and ditch the unstable suppressions that need to be updated
for every release of the Go toolchain.
This commit introduces scons and Jenkinsfile changes to enable this
build mode for NLT, but keeps the -race build for normal non-release
testing.
Additionally:
By default, NLT runs each test once. Add a --repeat N flag to
allow for multiple iterations to really soak a change. Add a
--failfast flag to allow the loop to be broken if any iteration
fails; otherwise the loop will keep going until the requested
number of loops has completed.
New test pragmas:
Signed-off-by: Michael MacDonald github@macdonald.cx